部署描述符:web.xml
部署描述符 (英语:Deployment descriptor,缩写DD) 是指制品用于部署到一些Web容器/引擎所使用的配置文件。
在Java EE中,部署描述符描述了组件、模块或应用程序(如Web应用程序或企业级软件)应该如何部署。[1]它指示部署工具,用指定的容器选项、安全设置来部署模块或应用程序,并描述了具体的配置要求。部署描述符文件的采用了XML语法。
对于Web应用程序,部署描述符必须被命名为“web.xml”,并且必须存放在Web应用程序根目录中的“WEB-INF”目录中。对于Java EE应用程序,部署描述符必须被命名为“application.xml”,并且必须直接置于目录应用程序.ear文件的顶层“META-INF”文件夹中。
在Java EE中,有两种类型的部署描述符:“Java EE部署描述符”和“运行时部署描述符”。Java EE部署描述符由语言规范所定义,而运行时部署描述符由每个容器实现的供应商所定义的。
例如,web.xml文件是一个标准的Java EE部署描述符,其由Java Servlet规范所定义;但sun-web.xml文件作为运行时部署描述符,包含特定于Sun GlassFish Enterprise Server实现的配置数据。
网络应用的部署描述符描述了应用的类、资源和配置,以及网络服务器如何使用它们处理网络请求。当网络服务器收到应用请求时,它使用部署描述符将请求网址映射到应处理该请求的代码。
部署描述符是名为 web.xml
的文件。它位于应用 WAR 中的 WEB-INF/
目录下。该文件为 XML 文件,其根元素是 <web-app>
。
下面是 web.xml
的一个简单示例,它将所有网址路径 (/*
) 映射到 servlet 类 mysite.server.ComingSoonServlet
:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
<servlet>
<servlet-name>comingsoon</servlet-name>
<servlet-class>mysite.server.ComingSoonServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>comingsoon</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping></web-app>