阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Tomcat问题之-webapps下多出的ROOT目录

585次阅读
没有评论

共计 1691 个字符,预计需要花费 5 分钟才能阅读完成。

问题发生背景

    由于公司的 web 环境大都是 tomcat,所以在项目发布出现小问题为了快速解决时常会需要手动增加或修改 war 包解压后的内容。但是在修改时有的 webapps 下除了 war 包解压后的包文件,还会多出一个 ROOT 文件夹,而且开发通常都会告诉我:别忘了修改 ROOT 里面的内容。

为什么呢,为什么还要修改 ROOT 下的内容?

下面先讲解 tomcat 下 webapps 中 ROOT 的作用

tomcat 下 webapps 中 ROOT 目录的作用

    在初学 tomcat 时当部署完 tomcat,我们输入 IP:8080 默认端口时通常会出现一个 tomcat 的欢迎界面,而这个欢迎界面就在 webapps 的 ROOT 中。

    一般 tomcat 的访问是 ”IP: 端口 / 包名“ 形式的

    但 ROOT 的作用则是省去了包名使得访问 tomcat 的 war 包项目只需要 ”IP: 端口“ 就可以,这可以简化反代的配置。不需要反向代理时写死包名,使得更换项目时不必再对反向代理进行修改。在一定程度上减少了运维人员的工作量。

   

ROOT 目录是怎么出现的呢

    刚开始由于对 tomcat 一无所知,因此对 ROOT 的出现很是困惑,为什么每次发布前我都把 ROOT 删掉,在发布后 ROOT 总是再度出现。之前需要对发布后的项目进行小范围改动时,不知道为什么还要对 ROOT 进行修改。直到现在才明白对发布后的项目修改时为什么一定要修改 ROOT

    ROOT 的意义在前面已经说到了,它可以简化访问的 url,同时在项目包名变更时不必对反向代理进行额外的修改。

    ROOT 的出现与 conf/server.xml 配置文件有关

    在 server.xml 文件中有项额外的配置是

<Context path="" reloadable="true" docBase="/deploy/to/war" />

    docBase 可以是 war 包的路径也可以是 war 包解压后的文件夹名的路径

    xxx.war 形式

    <Context path=”” reloadable=”true” docBase=”/opt/xxx.war” />

    例如 xxx.war 在 /opt 下,docBase 可以写成 docBase=”/opt/xxx.war”,此时启动 tomcat,在 engine 的默认 webapps 下会生成一个名为 ROOT 的文件夹,该文件夹内就是 xxx.war 解压后的内容。

通过查看日志可以发现一则信息

DEBUG [localhost-startStop-1] – Published root WebApplicationContext as ServletContext attribute with name [org.springframework.web.context.WebApplicationContext.ROOT]

该信息大意:将 ServletContext 中的定义的包解压后的内容发布到 ROOT 文件夹下。

  xxx 文件夹形式

    <Context path=”” reloadable=”true” docBase=”xxx” />

    注:docBase 有绝对路径跟相对路径之分,相对路径是相对于 engine 引擎定义的 webapps

    如果 docBase 指定的路径为 xxx.war 包解压后文件夹的形式,则需要 将 xxx.war 放在 webapps下,其过程大致为:tomcat 先将 xxx.war 解压为 xxx 文件,之后将 xxx 文件夹复制为以 ROOT 为名字的新文件夹

 

总结:

    tomcat 访问 IP: 端口的方式访问 war 包项目的方式是比较方便的,我也建议这么做。不过发布时记得删除 ROOT 文件夹,否则在你发布后你会发现你这次发布的没有任何变化,若发布后出现小问题需要快速解决,记得是要对 ROOT 下的内容进行修改而不是解压的 war 包内容。

    现在我才知道开发通知告诉我的其实只有一半是正确的,那就是 修改 ROOT!。

 

我所写的不一定全对,不过经过实验验证,目前没发现错误,如果有哪里说的有误欢迎指正。

 本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-08/146164.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1691字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19356
评论数
4
阅读量
8277842
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛 NAS-1:安装飞牛 NAS 前言 在家庭和小型工作室场景中,NAS(Network Atta...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
欧洲无限速云盘免费10GB永久存储 + WebDAV部署+图床搭建,多平台联动一步到位!

欧洲无限速云盘免费10GB永久存储 + WebDAV部署+图床搭建,多平台联动一步到位!

欧洲无限速云盘免费 10GB 永久存储 + WebDAV 部署 + 图床搭建,多平台联动一步到位! 大家好,我...
飞牛NAS升级到最新版,有线无法获取IP、无线网络莫名打开的BUG问题

飞牛NAS升级到最新版,有线无法获取IP、无线网络莫名打开的BUG问题

  飞牛 NAS 升级到最新版,有线无法获取 IP、无线网络莫名打开的 BUG 问题 星哥的飞牛 N...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...