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

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

559次阅读
没有评论

共计 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
文章数
19350
评论数
4
阅读量
7959321
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

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

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

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

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

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

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

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

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...

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

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

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

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...