1. 程式人生 > >JFinal和Web專案部署到Tomcat

JFinal和Web專案部署到Tomcat

首先明確一下 JFinal 專案是標準的 java web 專案,其部署方式與普通 java web 專案沒有任何差別。Java Web 專案在 Tomcat 下部署有一些不必要的坑需要避免,以下部署以 linux 為例,windows 與此類似:

1:建立一個目錄:   /var/www

2:為將要部署的專案建立一個目錄, /var/www/my_project

3:將專案打成 war 包, 然後解壓到 /var/www/my_project

4:最終的目錄結構為:/var/www/my_project/WEB-INF,也即 WEB-INF 在專案名稱目錄之下

5:修改  TOMCAT_HOME/conf/ server.xml 檔案

找到 Host 標記,在其中新增如下子標記: 

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

6:啟動 tomcat 打完收工

    第一個關鍵點:以上配置中專案是部署在了 TOMCAT_HOME/webapps 目錄之外的,這樣做是為了避免 tomcat 載入專案兩次的坑,因為配置檔案中如果配置了該專案會被載入一次,而專案在 webapps 下面又會被自動重複載入一次,這個坑會引發一些莫名奇妙的問題,例如:有些專案有定時任務,如果重複載入專案,那麼定時任務也會被執行多次。所以記住第一點,永遠不要將專案放在 TOMCAT_HOME/webapps 目錄下面。

   第二個關鍵點:以上配置中的 Context 標記的 path 屬性一定要設定為 "" 而不是 "/",否則也會跳入一個坑。 docBase 屬性後面放專案名稱的絕對地址, windows 下則是類似於這樣的值: d:/www/my_project。

   簡單說 tomcat 下配置分兩步,一是在 webapps 目外之外建目錄放專案,二是找 Host 標記放入 Context 子標記

轉載自JFinal作者詹波的博文。