在Tomcat中部署war和war exploded的區(qū)別是什么?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了墊江免費建站歡迎大家使用!
war和war exploded的區(qū)別
在使用IDEA開發(fā)項目的時候,部署Tomcat的時候通常會出現(xiàn)下邊的情況:
是選擇war還是war exploded 這里首先看一下他們兩個的區(qū)別:
war模式:將WEB工程以包的形式上傳到服務(wù)器 ;
war exploded模式:將WEB工程以當前文件夾的位置關(guān)系上傳到服務(wù)器;
(1)war模式這種可以稱之為是發(fā)布模式,看名字也知道,這是先打成war包,再發(fā)布;
(2)war exploded模式是直接把文件夾、jsp頁面 、classes等等移到Tomcat 部署文件夾里面,進行加載部署。因此這種方式支持熱部署,一般在開發(fā)的時候也是用這種方式。
(3)在平時開發(fā)的時候,使用熱部署的話,應(yīng)該對Tomcat進行相應(yīng)的設(shè)置,這樣的話修改的jsp界面什么的東西才可以及時的顯示出來。
修改箭頭指向的位置,這樣的話就可以實現(xiàn)熱部署。
使用war模式開發(fā)的時候遇到的坑
一、項目代碼的位置如下:
上述項目為SSM項目。
二、部署使用的Tomcat位置:
三、用于獲取上下文環(huán)境絕對路徑的代碼:
String contextPath = request.getSession().getServletContext().getRealPath("/");
四、兩種方式的實驗過程和結(jié)果:
(1)在使用war模式開發(fā)的時候,通過下邊這段代碼獲取項目的相對路徑:
String contextPath = request.getSession().getServletContext().getRealPath("/");
war模式始終是獲取到的路徑如下:
其中C:\Software\apache-tomcat-8.0.32 是我Tomcat的所在位置。
可以看出通過war模式是最終打包部署到Tomcat的位置。
(2)然后再看war exploded模式,同樣進行設(shè)置,運行同一段代碼,運行結(jié)果如下:
看完上述內(nèi)容,你們掌握在Tomcat中部署war和war exploded的區(qū)別是什么的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!