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的位置。前端