WEB-INF/web.xml文件其实就是一个描述web应用如何被部署的配置文件。web.xml根元素web-app各版本写法如下:
1. Servlet 3.1 部署描述符
Java EE 7 XML schema, namespace is http://xmlns.jcp.org/xml/ns/javaee/
<web-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_3_1.xsd"
version="3.1">
</web-app>
web-app_3.1.xsd和version="3.1"其实对应的就是Servlet版本。
This is the XML Schema for the Servlet 3.1 deployment descriptor. The deployment descriptor must be named "WEB-INF/web.xml" in the web application's war file. All Servlet deployment descriptors must indicate the web application schema by using the Java EE namespace: http://xmlns.jcp.org/xml/ns/javaee and by indicating the version of the schema by using the version element as shown below: <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="..." version="3.1"> ... </web-app> The instance documents may indicate the published version of the schema using the xsi:schemaLocation attribute for Java EE namespace with the following location: http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd
2. Servlet 3.0 部署描述符
Java EE 6 XML schema, namespace is http://java.sun.com/xml/ns/javaee
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
</web-app>
3. Servlet 2.5 部署描述符
Java EE 5 XML schema, namespace is http://java.sun.com/xml/ns/javaee
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
4. Servlet 2.4 部署描述符
J2EE 1.4 XML schema, namespace is http://java.sun.com/xml/ns/j2ee
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Servlet 2.4 Web Application</display-name>
</web-app>
5. Servlet 2.3 部署描述符
J2EE 1.3 DTDs schema. This web.xml
file is too old, highly recommend you to upgrade it.
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Servlet 2.3 Web Application</display-name>
</web-app>
原文链接: http://www.mkyong.com/web-development/the-web-xml-deployment-descriptor-examples/