**: 徐劉根 的 《tomcat部署時war和war exploded區別以及平時踩得坑》
原址:在使用idea開發專案的時候,部署tomcat的時候通常會出現下邊的情況:
是選擇war
還是war exploded
這裡首先看一下他們兩個的區別:
war模式:將web工程以包的形式上傳到伺服器 ;
war exploded模式:將web工程以當前資料夾的位置關係上傳到伺服器;
(1)war模式這種可以稱之為是發布模式,看名字也知道,這是先打成war包,再發布;
(2)war exploded模式是直接把資料夾、jsp頁面 、classes等等移到tomcat 部署資料夾裡面,進行載入部署。因此這種方式支援熱部署,一般在開發的時候也是用這種方式。
(3)在平時開發的時候,使用熱部署的話,應該對tomcat進行相應的設定,這樣的話修改的jsp介面什麼的東西才可以及時的顯示出來。
修改箭頭指向的位置,這樣的話就可以實現熱部署。
一、專案**的位置如下:
上述專案為ssm專案。
二、部署使用的tomcat位置:
三、用於獲取上下文環境絕對路徑的**:
string contextpath = request.getsession().getservletcontext().getrealpath("/");
四、兩種方式的實驗過程和結果:(1)在使用war模式開發的時候,通過下邊這段**獲取專案的相對路徑:
string contextpath = request.getsession().getservletcontext().getrealpath("/");
war模式始終是獲取到的路徑如下:
其中c:\software\apache-tomcat-8.0.32
是我tomcat的所在位置。
可以看出通過war模式
是最終打包部署到tomcat的位置。
(2)然後再看war exploded模式
,同樣進行設定,執行同一段**,執行結果如下:
可以看出最終得到的是我這個專案的位置,其實就是這個專案target的位置。
五、總結
根據上述(1)(2)的實驗結果可以看到這兩種方式得部署方式是不一樣的,因此在獲取專案的相對路徑的時候得到的結果是不一樣的。
war exploded 和war的區別
在使用idea開發專案的時候,部署tomcat的時候通常會出現下邊的情況 是選擇war還是war exploded這裡首先看一下他們兩個的區別 war模式 將web工程以war包的形式上傳到伺服器 war exploed模式 將web工程以當前資料夾的位置關係上傳到伺服器 上述專案為ssm專案 st...
war exploded 和war的區別
在使用idea開發專案的時候,部署tomcat的時候通常會出現下邊的情況 是選擇war還是war exploded這裡首先看一下他們兩個的區別 war模式 將web工程以war包的形式上傳到伺服器 war exploed模式 將web工程以當前資料夾的位置關係上傳到伺服器 上述專案為ssm專案 st...
解壓war包和重新壓縮war包
public class warutils else in.close catch filenotfoundexception e catch archiveexception e catch ioexception e 判斷war包是否已經存在,若存在則刪除 param filepath publ...