tomcat -ROOT 与webapps 的关系,关于部署的一些问题

本文详细解释了在Tomcat服务器中部署应用时遇到的问题,即访问不同路径时显示的页面版本不一致的原因,并提供了解决方案。同时介绍了ROOT与webapps目录之间的关系。

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

tomcat -ROOT 与webapps 的关系,关于部署的一些问题

 

现象:之前遇到很奇怪的问题,发完版之后没有效果,页面还是读取上一版的。

反复查找原因发现  http://localhost:8080/mobie 这个路径下的页面是正常的,

而  http://localhost:8080/这个页面是旧版本的。

为什么呢?

之前是我们在server.xml

添加了<Context/>配置节,目的是去掉 http://localhost:8080/项目名  后面的项目名,直接访问域名就可以访问网站。

这样做的却可以用域名访问,但是带来了隐藏很深的 很奇怪的问题。如上所诉

原因在于:启动tomcat 的时候,webapps目录下面的.war文件将被自动解压缩并部署为应用。同时mobile下的应用会copy到ROOT下。如果ROOT文件下不存在则mobile的应用(子文件)那么copy进去(问题就在这里

我们第一次发版的时候ROOT下并没有mobile 的应用所以copy 进去没有问题),再次发版的时候,由于ROOT下存在mobile 应用没有覆盖,所以出现两种结果。 http://localhost:8080/mobie 与 http://localhost:8080访问的页面不一致。

解决方法:找到原因之后,在每次发版之前删调ROOT,启动tomcat会重新生产ROOT,这样ROOT下应用就是最新的。

 

 扩展:

ROOT 与webapps 的关系:

我们一般都是这么写http://localhost:8080/项目名,如果不写项目名默认就是webapps目录下的ROOT项目,ROOT里面就有那只猫。

比如说你打上http://localhost:8080  就直接访问root下面的文件了 默认为tomcat的欢迎页面 
如果你把root下面文件换成你项目文件,那么http://localhost:8080这样的话就是访问你项目了 

 

<host appBase="d:/aaa">
<Context path="/smswap" reloadable="true" docBase="D:\workspace\smswap\WebRoot"></Context>
</host>

我们先看appBase,这个目录表示:
1 这个目录下面的子目录将自动被部署为应用。
2 这个目录下面的.war文件将被自动解压缩并部署为应用

而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。

总结:
如果你想自己指定路径,那么应该在docBase里面 

 参考链接:http://blog.youkuaiyun.com/liuxuejin/article/details/9104055

[2025-03-23 11:40:26,613] 工件 web2:war exploded2: 部署工件时出错。请参阅服务器日志了解详细信息。 23-Mar-2025 23:40:35.922 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [E:\3xia\javaweb\apache-tomcat-8.5.16\webapps\docs] 23-Mar-2025 23:40:36.057 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [E:\3xia\javaweb\apache-tomcat-8.5.16\webapps\docs] has finished in [135] ms 23-Mar-2025 23:40:36.058 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [E:\3xia\javaweb\apache-tomcat-8.5.16\webapps\examples] 23-Mar-2025 23:40:36.825 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [E:\3xia\javaweb\apache-tomcat-8.5.16\webapps\examples] has finished in [766] ms 23-Mar-2025 23:40:36.826 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [E:\3xia\javaweb\apache-tomcat-8.5.16\webapps\host-manager] 23-Mar-2025 23:40:36.926 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [E:\3xia\javaweb\apache-tomcat-8.5.16\webapps\host-manager] has finished in [99] ms 23-Mar-2025 23:40:36.926 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [E:\3xia\javaweb\apache-tomcat-8.5.16\webapps\manager] 23-Mar-2025 23:40:36.995 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [E:\3xia\javaweb\apache-tomcat-8.5.16\webapps\manager] has finished in [68] ms 23-Mar-2025 23:40:36.995 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [E:\3xia\javaweb\apache-tomcat-8.5.16\webapps\ROOT] 23-Mar-2025 23:40:37.044 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web applicat
最新发布
03-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值