Tomcat 9+ 版本默认主页迁移至 webapps.dist

文章目录

在 Apache Tomcat 9.0.x 版本中,默认的主页和示例应用从 webapps 目录移动到了 webapps.dist 目录。这一变化从 Tomcat 9.0.0.M4 (Milestone 4) 开始引入,并在后续版本中保持。

官方说明

根据 Apache Tomcat 官方文档和发布说明:

  • 在 Tomcat 9.0.0.M4 的 Release Notes 中提到: "The default web applications (ROOT, examples, docs, etc.) are now packaged in the webapps.dist directory. To install them, users must manually copy them to the webapps directory."

修改的意义或目的

  1. 安全性增强
    • 默认不部署示例应用(如 examplesdocs)可以减少潜在的安全风险,因为这些应用可能包含已知漏洞或暴露不必要的功能。
    • 用户需要显式启用这些应用,避免在生产环境中误用。
  2. 最小化默认部署
    • Tomcat 更倾向于提供一个"干净"的启动环境,避免不必要的资源占用。
    • 用户可以根据需求选择性部署示例或文档。
  3. 容器化友好
    • 在 Docker 或云原生环境中,轻量化的默认配置更符合最佳实践,用户可以通过卷挂载或构建镜像时自行决定是否包含示例应用。

如何恢复默认主页?

如果希望启用默认的主页(ROOT)和示例应用,需手动将 webapps.dist 中的内容复制到 webapps 目录:

bash 复制代码
cp -r webapps.dist/* webapps/

然后重启 Tomcat 即可访问 http://localhost:8080 的主页。

总结

  • 版本影响:Tomcat 9.0.0.M4 及后续版本(包括 Tomcat 10.x)。
  • 目的:提高安全性、减少默认部署、适应现代化部署场景。
  • 官方依据 :Tomcat 9.0 的 Changelog邮件列表讨论

这一变更是 Tomcat 项目对安全性和灵活性的权衡,符合当前服务器软件的简化趋势。

相关推荐
极客先躯13 小时前
高级java每日一道面试题-2025年11月24日-容器与虚拟化题[Dockerj]-runc 的作用是什么?
java·oci 的命令行工具·最小可用·无守护进程·完全标准·创建容器的核心流程·runc 核心职责思维导图
用户606487671889613 小时前
AI 抢不走的技能:用 Claude API 构建自动化工作流实战
java
我命由我1234513 小时前
Kotlin 开发 - lateinit 关键字
android·java·开发语言·kotlin·android studio·android-studio·android runtime
aXin_ya13 小时前
微服务第八天 Sentinel 四种分布式事务模式
java·数据库·微服务
Halo_tjn13 小时前
Java Set集合相关知识点
java·开发语言·算法
Linsk13 小时前
Java和JavaScript的关系真是雷峰和雷峰塔的关系吗?
java·javascript·oracle
许彰午14 小时前
我手写了一个 Java 内存数据库(二):B+ 树的插入与分裂
java·开发语言·面试
zhouwy11314 小时前
Java 快速入门笔记:从基础语法到 Spring Boot 实战
java
极创信息14 小时前
信创产品认证怎么做?信创产品测试认证的主要流程
java·大数据·数据库·金融·软件工程
SamDeepThinking14 小时前
并发量就算只有2,该上锁还得上呀
java·后端·架构