http://my.oschina.net/u/173975/blog/350666
jfinal的demo直接部署到tomcat上,会由于路径问题导致资源加载不到,路径跳转不正确等问题,解决办法如下
1、配置类添加配置
/**
* 配置处理器
*/
public void configHandler(Handlers me) {
me.add(new ContextPathHandler("base_path"));
}
2、html页面在head里增加base标签
<head>
<base href="${base_path}/" />
</head>
3、修改html中的路径
<li><a href=""><b>首页</b></a></li>
<li><a href="blog"><b>Blog管理</b></a></li>
4、假如想要不加项目名直接访问项目,需要修改tomcat里conf下的server.xml,在host标签内添加
<Context path="" docBase="/jfinal_demo" debug="0" reloadable="true"></Context>
这是windows的写法,linux里也这样写的话会找不到项目,浏览器里会提示错误 net::ERR_CONNECTION_REFUSED ,这是因为windows和linux下,路径的写法不一样,改成下面这样就可以了
<Context path="" docBase="jfinal_demo" debug="0" reloadable="true"></Context>
5、因为一般tomcat下面需要部署多个项目,所以只用修改context的方式并不合适,之前的修改还是需要的。