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>
                         | 
          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"
                        
                          >
                         | 
| 
                      
             1 
           
                     
                      
             2 
           
                     | 
                          var
                        
                          fromPageName=
                        
                          "<%=basePath%>"
                        
                          +
                        
                          "voucherApprove.jsp"
                        
                          ;
                        
                          window.location.href= fromPageName;
                         | 
评论 2


 
           
         
         
                   
                   
					 
					