web.xml 是 Java Web 应用的传统部署描述符,用于配置 Servlet、Filter 等;必须置于 WEB-INF/ 下,根元素为 并声明正确命名空间与版本;配置 Servlet 需先声明 再通过 映射路径;支持初始化参数、启动加载、欢迎页及错误页等增强配置;需注意 XML 合法性、类路径、URL 模式优先级及 web.xml 优先于注解。

web.xml 是 Java Web 应用的传统部署描述符(Deployment Descriptor),用于配置 Servlet、Filter、Listener、欢迎页、错误页等。虽然从 Servlet 3.0 开始支持注解(如 @WebServlet)替代部分配置,但在老项目、容器限制或需集中管理时,仍需手动编写 web.xml。
基本结构与声明要求
web.xml 必须放在 WEB-INF/ 目录下,根元素为 ,且需声明正确的 XML 命名空间和版本。推荐使用 Servlet 3.1+ 的 schema 声明(兼容性好、无需 DTD):
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
配置一个 Servlet 的完整步骤
以名为 HelloServlet 的 Servlet 为例,需两步:声明 Servlet 类 + 映射访问路径。
-
声明 Servlet:用
标签指定名字和类名(含包路径) -
映射路径:用
将该名字绑定到 URL 模式(如/hello或*.do)
配置完成后,访问 http://localhost:8080/yourapp/hello 即可触发该 Servlet。
本文档主要讲述的是Eclipse配置Tomcat教程;Eclipse IDE: eclipse IDE 用作 JSP 页面和 Java 文件的开发环境。Eclipse 是一个非常简单易用的 IDE 环境,它具有很多特性,可以帮助程序员快速编写并调试 Java 程序。加上 tomcat 插件之后,这个 IDE 就是管理整个 Web 项目(包括 HTML 和 JSP 页面、图标和 servlet)的一个非常优秀的工具。 Tomcat: 驱动 JSP 页面需要使用 Tomcat。Tomcat 引擎是非常好的一个
常用增强配置项
实际开发中常需补充以下设置:
-
初始化参数:在
内添加,Servlet 中通过getInitParameter()获取 -
启动加载:加
(数字越小优先级越高),让 Servlet 在应用启动时就实例化1 -
欢迎文件列表:在根元素内配置
,例如设index.jsp或home.html -
错误页映射:用
统一处理 404、500 等状态码或异常类
注意事项与常见问题
配置 web.xml 时容易出错的点:
- XML 格式必须严格合法:标签闭合、大小写敏感、属性值加引号
- Servlet 类必须有无参构造函数,且已编译到
WEB-INF/classes/或打包在WEB-INF/lib/的 JAR 中 - URL 模式不能冲突;通配符模式(如
/api/*、*.json)优先级低于精确匹配 - 如果同时用了注解和 web.xml,web.xml 的配置会覆盖注解(Servlet 3.0+ 规则)
不复杂但容易忽略细节,建议配置后检查控制台日志是否报 “Servlet … registered” 类提示。









