引言
JFinal框架开发的项目是标准的JavaWeb的项目,其部署方式与常规JavaWeb项目没差别。但JavaWeb项目在Tomcat下部署有一些不必要的坑需要避免.
干货
以Linux为例,WindowsNT类似操作即可:
1:创建一个目录: /var/www
2:为将要部署的项目创建一个目录, /var/www/www.easymbol.com
3:将项目打成 war 包, 然后解压到 /var/www/www.easymbol.com
4:最终的目录结构为:/var/www/www.easymbol.com/WEB-INF,也即 WEB-INF 在项目名称目录之下
5:修改 TOMCAT_HOME/conf/ server.xml 文件找到 Host 标记,在其中添加如下子标记:
<Context path="" docBase="/var/www/www.easymbol.com" reloadable="false" />
6:注意 Host 标记中的 appBase 属性不要去修改,让其为默认值 "webapps"
7:启动 tomcat 打完收工
坑点
1.项目部署在TOMCAT_HOME/webapps目录外是为了避免Tomcat加载两次项目的坑
2.以上配置中的 Context 标记的 path 属性一定要设置为 "" 而不是 "/"
坑点原因
1.因为配置文件中如果配置了该项目会被加载一次,而项目在 webapps 下面又会被自动重复加载一次,这个坑会引发一些莫名奇妙的问题,例如:老版本的tomcat中,多人同时登录后session产生混乱,再例如:有些项目有定时任务,如果重复加载项目,那么定时任务也会被执行多次。所以记住第一点,永远不要将项目放在 TOMCAT_HOME/webapps 目录下面。
2.docBase 属性后面放项目名称的绝对地址, windows 下则是类似于这样的值: d:/www/www.easymbol.com
说明
一句话就是,项目放在webapps之外建目录,Host标记放入Context子标记
本文来自于失眠的波妞网中的Tomcate部署JFinal框架开发的项目
网友评论