war模式:將WEB工程以包的形式上傳到服務器
war exploded模式:將WEB工程以當前文件夾的位置關係上傳到服務器
war exploed部署時,不會將war包部署到tomcat中,也就是說tomcat的webapps目錄下不會出現當前項目的文件,若是將項目改成war部署的方式,application context設置爲/,tomcat也不會將項目部署到webapps中,由於application context就是項目再webapps路徑下項目的根目錄名。 好奇war exploded時是如何進行熱部署,也沒有將包存放到tomcat中,如何運行。 Tomcat 配置成War exploded,在運行時idea不會把項目放到tomcat webapps的路徑下,而是複製一份足夠的配置文件,到windows {user.home}/.IntelliIdea/system/tomcat中,以後啓動tomcat安裝目錄下的catalina.bat文件,tomcat讀取配置文件,找到項目位置,而後就運行起來。 war exploded支持熱部署的緣由,是因爲該模式下是直接把文件夾、jsp頁面、classes等等移到F:\project\WiseEnergy\WiseEM-D\target\webapps\下,只要修改其後臺和前端代碼或者配置文件,F:\project\WiseEnergy\WiseEM-D\target\webapps\對應的目錄下的文件也會進行相應的改變,tomcat會運行此目錄下的項目,爲此能夠讀取到最新的源文件,所以這種方式支持熱部署。 war 和war exploded的不一樣模式下獲取的上下文路徑 String contextPath=request.getSession().getServletContext().getRealPth("/"); war模式是獲取tomcat的位置 war exploded是獲取項目target的位置。前端