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):
app xmlns=”http://xmlns.jcp.org/xml/ns/javaee”
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)
HelloServlet
com.example.HelloServlet
HelloServlet
/hello
配置完成后,访问 http://localhost:8080/yourapp/hello 即可触发该 Servlet。