http://my.oschina.net/u/173975/blog/110261

尝试用JFinal开发个开源的社团管理系统,把开发过程中遇到的问题和解决办法记下来,以供参考。

部署jfinal_demo_for_jsp到tomcat上

问题1、css, js文件加载失败。
原因:路径问题
解决办法:
1、将“/css/manage.css”等类似的路径改为"css/manage.css",去掉最前面的“/”,不在根路径下的要改成形如"../css/manage.css"等相对路径。如果项目是部署在tomcat root目录下就可以不用改。
2、发现使用相对路径还是不方便,jfinal会在路径中包含子文件夹,还是抽取个文件出来,写绝对路径吧,其他文件包含这个文件就可以了。 其中jquery换成了最新版的,比demo里的1.4.4版本大了13.6k

1
2
3
<%@ page language="java" pageEncoding="UTF-8"%>
<link href="<%=request.getContextPath()%>/css/manage.css" media="screen" rel="stylesheet" type="text/css" />
<script src="<%=request.getContextPath()%>/js/jquery-1.9.1.min.js" type="text/javascript" ></script>
1
<span></span><jsp:include page="/inc/inc.jsp"></jsp:include>

这里要写绝对路径 jsp标签里的绝对路径是带项目名的,静态文件中的绝对路径指的是服务器的根路径,不带项目名

3、前台问题解决了,后台又出问题。最终采用的解决办法是:将tomcat的根路径指定为项目文件夹
修改/conf/server.xml,在</host>标签之前加入以下内容

1
<Context path="" docBase="/jfinal_demo" debug="0" reloadable="true" crossContext="true" />

改完之后不管前台还是后台的路径,直接以"/"开头就可以了

问题2、系统异常
严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
原因:缺少JSTL相关jar包
解决办法:加入jstl.jar和standard.jar加入构建路径,同时删除jetty-server-8.1.8.jar,使用tomcat的时候就不需要这个jar包了

4、通过<base>标签解决路径问题

1
2
3
4
5
6
7
8
9
10
11
<%
String basePath = request.getScheme()
    + "://"
    + request.getServerName()
    + ":"
    + request.getServerPort()
    + path
    + "/";
%>
<base href="<%=basePath%>">
<link rel="stylesheet" type="text/css" href="css/common.css">

在前台直接跳转的时候,也会出现路径问题,解决办法与base类似

1
2
var fromPageName="<%=basePath%>"+"voucherApprove.jsp";
window.location.href= fromPageName;
分享到: 3赞
声明:OSCHINA 博客文章版权属于作者,受法律保护。未经作者同意不得转载。
 

评论2

  • 1楼:绝望的八皮 发表于 2013-04-29 03:19 回复此评论
    路径问题应该用这个解决
    /**
    * Provide a context path to view if you need.
    * <br>
    * Example:<br>
    * In JFinalFilter: handlers.add(new ContextPathHandler("CONTEXT_PATH"));<br>
    * in freemarker: <img src="${BASE_PATH}/images/logo.png" />
    */
    public class ContextPathHandler extends Handler {
     
  • 2楼:土龙 发表于 2013-04-30 15:00 回复此评论

    引用来自“绝望的八皮”的评论

    路径问题应该用这个解决
    /**
    * Provide a context path to view if you need.
    * <br>
    * Example:<br>
    * In JFinalFilter: handlers.add(new ContextPathHandler("CONTEXT_PATH"));<br>
    * in freemarker: <img src="${BASE_PATH}/images/logo.png" />
    */
    public class ContextPathHandler extends Handler {

    非常感谢

JFinal使用笔记1-部署demo项目到本地tomcat的更多相关文章

  1. jenkins maven svn 部署web项目到本地Tomcat

    查了N多网页,折腾了几个小时,终于部署成功,部署的过程比较坎坷,遇到各种问题,记录一下,不管大家是否会遇到的同样的问题,希望有所帮助: 常规操作: 1.下载jenkins,必须要做的一步,http:/ ...

  2. Jenkins进阶-部署Web项目到远程tomcat(7)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

  3. Jenkins部署Web项目到远程tomcat(通过jenkins插件)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

  4. 【Eclipse】eclipse部署web项目至本地的tomcat但在webapps中找不到

    clipse部署web项目至本地的tomcat但在webapps中找不到 1.发现问题 在我的 eclipse 中有个Dynamic Web Project(动态web项目),在本地的 tomcat ...

  5. Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql)

    转载自:Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql) 我的系统是阿里云的,香港的系统,本人选择的是系统镜像:CentOS 7.3 64位. 具体步骤: 配置Jav ...

  6. day131:2RenMJ:2RenMJ游戏简介&部署MJ项目到本地

    目录 1.游戏简介 1.如何做出一款麻将游戏? 2.麻将运行界面 3.麻将项目所用技术快速概览 4.web开发 / 游戏开发 / APP开发 比较 5.firefly游戏框架介绍 2.部署麻将项目到本 ...

  7. eclipse部署web项目至本地的tomcat但在webapps中找不到

    一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...

  8. eclipse部署web项目至本地的tomcat但在webapps中找不到问题

    一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...

  9. 【Angular】学习笔记-环境部署、项目建立相关

    Angular官网>搭建环境 首先要安装Node.js.官网>Download 一直next就好了. 安装node.js的目的是使用npm这些命令啦 然后这里推荐下载使用git SCM 也 ...

随机推荐

  1. Dubbo使用解析及远程服务框架

    this is a thub here Spring的Remoting框架 阿里巴巴的dubbo框架 RPC,RMI,JMS,Webservice的区别

  2. 使用Unity3D自带动画系统制作下雨效果

    之前看了以前版本的unity3d demo AngryBots ,觉得里面的下雨效果不错,刚好前段时间学习了,写出来跟大家分享下,直接开始. 使用自带动画系统制作下雨效果. 先制作下雨的雨滴涟漪 步骤 ...

  3. UVa 1606 (极角排序) Amphiphilic Carbon Molecules

    如果,没有紫书上的翻译的话,我觉得我可能读不懂这道题.=_=|| 题意: 平面上有n个点,不是白点就是黑点.现在要放一条直线,使得直线一侧的白点与另一侧的黑点加起来数目最多.直线上的点可以看作位于直线 ...

  4. Birt时间参数添加My97日历控件

    首先,思路: 引用My97.js然后为时间参数的textbox添加onclick事件 1.将My97添加到项目中的webcontent目录下(如图:) 2.添加My97引用 在项目路径下找到该文件\w ...

  5. Deployed component GUIs and figures have different look and feel than MATLAB desktop

    原文:http://www.mathworks.com/support/bugreports/1293244 Description Deployed GUIs and figures look an ...

  6. FFmpeg 2.0编译配置

    ./configure --enable-shared  --enable-doc --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable- ...

  7. MyEclipse 下用link 方式安装插件

      N年之前,也是Java出身,后来转DBA,Java 就忘的差不多了. 最近计划好好研究下Python,还是选用MyEclipse 这个IDE了,多年没敲代码,很多东西都忘记了,做点笔记,备用. M ...

  8. <转>DNS SOA记录

    http://www.sigma.me/2011/01/01/about_dns_soa.html 今天登入google webmaster,发现有好多crawl错误,一看,都是Domain name ...

  9. java双亲委派模型如何递归实现

    以下是Classloader的中最重要的方法,也就是所谓的双亲委派模型.这个模型第一次在周志明的书上看到,当时看了只知道是类加载过程是首先是委托给父加载器,否则父不能加载,则自己加载,整个过程实则是一 ...

  10. [原]SyntaxHighlighter使用笔记

    [Date]2013-09-21 [Environment]SyntaxHighlighter 3.0.83 [Author]wintys (wintys@gmail.com) http://wint ...