Tomcat部署时war和war exploded的区别

本文详细解析了war和warexploded两种Web应用部署模式的区别,包括它们在Tomcat服务器上的具体表现,如war包生成、热部署支持及项目路径获取方式的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(摘自https://blog.youkuaiyun.com/xlgen157387/article/details/56498938

war模式:将WEB工程以包的形式上传到服务器。

war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器。

1.1 war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;

工程target目录下会生成war包, 并且解压后的war包会被部署到tomcat的webapp 目录下

注意:如果application-context 设置为 /, tomcat目录下不会有解压后的war文件,只有指定文件目录,才会生成文件夹,这个文

件夹作为项目的根目录

1.2 war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持

热部署,一般在开发的时候也是用这种方式。

在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的东西才可以及时的显示出来。

此时在tomcat的文件目录中不会有解压的war文件夹。如果用idea, 它会在${user.home}/.IntelliJIdea/system/tomcat 目录下生成项

目的文件夹,里面包含了tomcat的配置,日志等信息。/conf/Catalina/localhost 目录下有 *.xml 配置文件,指定了项目的路径

区别类似于eclipse中的两种方式,一种是直接将项目部署在webapps目录下(相当于war exploded模式,热部署),还是将项目

打包后的war包放到磁盘中webapps目录下的区别(相当于war模式)

1.3 这两种方式得部署方式是不一样的,因此在获取项目的相对路径的时候得到的结果是不一样的

String contextPath = request.getSession().getServletContext().getRealPath("/");

通过上面代码获取项目的相对路径时,

war 模式获得的是Tomcat所在目录下该子项目的位置

war exploded 模式获得的是该项目在工作区下的目标路径

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值