JFinal 部署在 Tomcat 下推荐方法(转载)

 常常有人在群里问 tomcat 下项目部署的问题,现写个简单的博文,但愿能帮助到有须要的人。java

   首先明确一下 JFinal 项目是标准的 java web 项目,其部署方式与普通 java web 项目没有任何差异。Java Web 项目在 Tomcat 下部署有一些没必要要的坑须要避免,因此撰写此文方便你们绕过一些坑,如下部署以 linux 为例,windows 与此相似:linux

1:建立一个目录:   /var/wwwweb

2:为将要部署的项目建立一个目录, /var/www/my_projectwindows

3:将项目打成 war 包, 而后解压到 /var/www/my_projecttomcat

4:最终的目录结构为:/var/www/my_project/WEB-INF,也即 WEB-INF 在项目名称目录之下session

5:修改  TOMCAT_HOME/conf/ server.xml 文件找到 Host 标记,在其中添加以下子标记: app

    <Context path="" docBase="/var/www/my_project" reloadable="false" />webapp

6:注意 Host 标记中的 appBase 属性不要去修改,让其为默认值 "webapps"spa

7:启动 tomcat 打完收工.net

    第一个关键点:以上配置中项目是部署在了 TOMCAT_HOME/webapps 目录以外的,这样作是为了不 tomcat 加载项目两次的坑,由于配置文件中若是配置了该项目会被加载一次,而项目在 webapps 下面又会被自动重复加载一次,这个坑会引起一些莫名奇妙的问题,例如:老版本的tomcat中,多人同时登陆后session产生混乱,再例如:有些项目有定时任务,若是重复加载项目,那么定时任务也会被执行屡次。因此记住第一点,永远不要将项目放在 TOMCAT_HOME/webapps 目录下面

   第二个关键点:以上配置中的 Context 标记的 path 属性必定要设置为 "" 而不是 "/",不然也会跳入一个坑。 docBase 属性后面放项目名称的绝对地址, windows 下则是相似于这样的值: d:/www/my_project。

   简单说 tomcat 下配置分两步,一是在 webapps 目外以外建目录放项目,二是找 Host 标记放入 Context 子标记

  这里还有 tomcat 下 302 重定向问题的坑,能够提早预知一下:http://www.oschina.net/question/941098_93842?fromerr=l2fjHuvx

相关文章
相关标签/搜索