JFinal使用笔记1-部署demo项目到本地tomcat
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赞评论2
路径问题应该用这个解决
/**
* 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 {
引用来自“绝望的八皮”的评论
路径问题应该用这个解决
/**
* 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的更多相关文章
- jenkins maven svn 部署web项目到本地Tomcat
查了N多网页,折腾了几个小时,终于部署成功,部署的过程比较坎坷,遇到各种问题,记录一下,不管大家是否会遇到的同样的问题,希望有所帮助: 常规操作: 1.下载jenkins,必须要做的一步,http:/ ...
- Jenkins进阶-部署Web项目到远程tomcat(7)
之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...
- Jenkins部署Web项目到远程tomcat(通过jenkins插件)
之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...
- 【Eclipse】eclipse部署web项目至本地的tomcat但在webapps中找不到
clipse部署web项目至本地的tomcat但在webapps中找不到 1.发现问题 在我的 eclipse 中有个Dynamic Web Project(动态web项目),在本地的 tomcat ...
- Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql)
转载自:Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql) 我的系统是阿里云的,香港的系统,本人选择的是系统镜像:CentOS 7.3 64位. 具体步骤: 配置Jav ...
- day131:2RenMJ:2RenMJ游戏简介&部署MJ项目到本地
目录 1.游戏简介 1.如何做出一款麻将游戏? 2.麻将运行界面 3.麻将项目所用技术快速概览 4.web开发 / 游戏开发 / APP开发 比较 5.firefly游戏框架介绍 2.部署麻将项目到本 ...
- eclipse部署web项目至本地的tomcat但在webapps中找不到
一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...
- eclipse部署web项目至本地的tomcat但在webapps中找不到问题
一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...
- 【Angular】学习笔记-环境部署、项目建立相关
Angular官网>搭建环境 首先要安装Node.js.官网>Download 一直next就好了. 安装node.js的目的是使用npm这些命令啦 然后这里推荐下载使用git SCM 也 ...
随机推荐
- bzoj1025: [SCOI2009] 游戏 6
DP. 每种排法的长度对应所有循环节长度的最小公倍数. 所以排法总数为和为n的几个数的最小公倍数的总数. #include<cstdio> #include<algorithm> ...
- poj 2185 (KMP)
完全不会啊…… 附一份题解:http://blog.sina.com.cn/s/blog_69c3f0410100tyjl.html var i,j,k,r,c,x:longint; ch:..,.. ...
- android利用WebView实现浏览器的封装
android提供了封装浏览器的接口,可以让开发者利用自己的view显示网页内容.今天又实现研究了一下,利用WebView显示浏览器内容,还可以利用 WebViewClient显示自己需要的内容. 参 ...
- [LeetCode]LRU Cache有个问题,求大神解答【已解决】
题目: Design and implement a data structure for Least Recently Used (LRU) cache. It should support the ...
- JDK1.5新特性(六)……Generics
概述 Generics - This long-awaited enhancement to the type system allows a type or method to operate on ...
- Deep learning:三十四(用NN实现数据的降维)
数据降维的重要性就不必说了,而用NN(神经网络)来对数据进行大量的降维是从2006开始的,这起源于2006年science上的一篇文章:reducing the dimensionality of d ...
- HW6.17
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- SQL Server 重新恢复自动编号列的序号
1. truncate table tablename2. DBCC CHECKIDENT (tablename,reseed,1) truncate命令不但会清除所有的数据,还会将IDENTIT ...
- win32进阶必备:多线程同步之互斥锁
应用多线程互斥锁之前首先简单过一下C程序可能用到的3个创建线程函数: CreateThread,windows系统提供的唯一创建线程API,_beginthread和_beginthreadex都在内 ...
- H5页面请求跨域问题
1. <meta http-equiv="Access-Control-Allow-Origin" content="*"> 说明一下什么情况下我 ...