背景概述
在利用IDEA进行项目开发并使用Tomcat部署项目时有两个不同的选择:war和war exploded两种不同的模式。不少小伙伴都有个疑问:这两者有何区别呢?
war模式
war模式称之为发布模式。也就是说:先将项目打成war包再发布至服务器。
war exploded模式
war exploded模式直接把文件夹、jsp 、classes等移到Tomcat部署文件夹中进行加载部署。该方式支持热部署,常在开发中使用;其中,热部署常见配置如下:
验证测试
在此,通过代码进行相关验证与测试。
测试代码
String path= request.getServletContext().getRealPath("/");
System.out.println("----> path="+path);
测试war模式
我们将部署模式设置为war,并将Application context设置为/
测试结果如下:
----> path=C:\Program Files\Apache Software Foundation\Tomcat9.0\webapps\ROOT\
测试war exploded模式
我们将部署模式设置为war exploded,并将Application context设置为/
测试结果如下:
----> path=E:\Dropbox\phoenix\IDEAProjects\CRM\target\CRM\
总结
在war模式下将项目部署在Tomcat的webapps下的ROOT里。
在war exploded模式下将项目部署至当前项目的target中。