IDEA 使用Tomcat 部署war 和 war exploded的区别
war模式:
将WEB工程按照war包的形式上传到tomcat服务器中,一般是webapp,服务启动后,将war解压运行。
war exploded模式:
将WEB工程以当前文件夹的位置关系上传到服务器,并不会上把文件上传到webapp。
项目只编译,生成target,然后把当前的target文件夹的位置关系上传到服务器,并不会上把文件上传到webapp,也不会打包到tomcat的webapp下,服务器通过位置,直接访问target下的文件,
这种方式支持热部署,所以一般我们在开发的时候使用这种方式。
要使用热部署的话,需要对Tomcat进行相对设置,如下
两种部署模式下,使用如下获取路径,所获得的路径也将是不同的。
String contextPath = request.getSession().getServletContext().getRealPath("/");
war模式 获取到的路径是:tomcat中部署项目的地方,一般是webapp/项目名
war exploded模式 获取到的路径是:项目的位置,其实就是这个项目target的位置。
IDEA 中deployment点击加号没有出现artifact
右键项目> Open Moudle Settings > ProjectStructure > Facets
或者 ctrl+shift+alt+s快捷键。打开Facets
加号> Web > Select Moudle 后会跳转到Artifacts > Create Artifact 跳转到Artifacts 发现已经有了。