Tomcat部署時war和war exploded區(qū)別及問題匯總
war和war exploded的區(qū)別
在使用IDEA開發(fā)項目的時候,部署Tomcat的時候通常會出現(xiàn)下邊的情況:
是選擇war還是war exploded 這里首先看一下他們兩個的區(qū)別:
war模式:將WEB工程以包的形式上傳到服務器 ;
war exploded模式:將WEB工程以當前文件夾的位置關系上傳到服務器;
(1)war模式這種可以稱之為是發(fā)布模式,看名字也知道,這是先打成war包,再發(fā)布;
(2)war exploded模式是直接把文件夾、jsp頁面 、classes等等移到Tomcat 部署文件夾里面,進行加載部署。因此這種方式支持熱部署,一般在開發(fā)的時候也是用這種方式。
(3)在平時開發(fā)的時候,使用熱部署的話,應該對Tomcat進行相應的設置,這樣的話修改的jsp界面什么的東西才可以及時的顯示出來。
修改箭頭指向的位置,這樣的話就可以實現(xiàn)熱部署。
使用war模式開發(fā)的時候遇到的坑
一、項目代碼的位置如下:
上述項目為SSM項目。
二、部署使用的Tomcat位置:
三、用于獲取上下文環(huán)境絕對路徑的代碼:
String contextPath = request.getSession().getServletContext().getRealPath("/");
四、兩種方式的實驗過程和結果:
(1)在使用war模式開發(fā)的時候,通過下邊這段代碼獲取項目的相對路徑:
String contextPath = request.getSession().getServletContext().getRealPath("/");
war模式始終是獲取到的路徑如下:
其中C:\Software\apache-tomcat-8.0.32 是我Tomcat的所在位置。
可以看出通過war模式是最終打包部署到Tomcat的位置。
(2)然后再看war exploded模式,同樣進行設置,運行同一段代碼,運行結果如下:
可以看出最終得到的是我這個項目的位置,其實就是這個項目target的位置。
五、總結
根據(jù)上述(1)(2)的實驗結果可以看到這兩種方式得部署方式是不一樣的,因此在獲取項目的相對路徑的時候得到的結果是不一樣的。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
關于Tomcat啟動失敗報循環(huán)依賴的問題解決(AncestorAxisIterator)
這篇文章主要介紹了關于Tomcat啟動失敗報循環(huán)依賴的問題解決(AncestorAxisIterator),Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬于輕量級應用服務器,需要的朋友可以參考下2023-07-07eclipse配置Tomcat找不到server選項的解決辦法
這篇文章通過圖文并茂的形式給大家介紹eclipse配置Tomcat找不到server選項的解決辦法,感興趣的朋友跟隨腳本之家小編一起學習吧2018-05-05tomcat關于配置servlet的url-pattern的問題思路詳解
這篇文章主要介紹了tomcat關于配置servlet的url-pattern的問題詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05Tomcat+Mysql高并發(fā)配置優(yōu)化講解
今天小編就為大家分享一篇關于Tomcat+Mysql高并發(fā)配置優(yōu)化講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03Tomcatc3p0配置jnid數(shù)據(jù)源2種實現(xiàn)方法解析
這篇文章主要介紹了Tomcatc3p0配置jnid數(shù)據(jù)源2種實現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10servlet和tomcat_動力節(jié)點Java學院整理
這篇文章主要介紹了servlet和tomcat,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07