web.xml deployment descriptor examples

web.xml in Eclipse

The web.xml is a configuration file to describe how a web application should be deployed. Here’re 5 web.xml examples, just for self-reference.

1. Servlet 3.1 deployment descriptor

Java EE 7 XML schema, namespace is http://xmlns.jcp.org/xml/ns/javaee/

web.xml

<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>

2. Servlet 3.0 deployment descriptor

Java EE 6 XML schema, namespace is http://java.sun.com/xml/ns/javaee

web.xml

<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 deployment descriptor

Java EE 5 XML schema, namespace is http://java.sun.com/xml/ns/javaee

web.xml

<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 deployment descriptor

J2EE 1.4 XML schema, namespace is http://java.sun.com/xml/ns/j2ee

web.xml

<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 deployment descriptor

J2EE 1.3 DTDs schema. This web.xml file is too old, highly recommend you to upgrade it.

web.xml

<!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>
Java Servlet important changes
Visit this Servlet wiki for the summary of important changes from Servlet 2.3 to 3.0

References

  1. Wikipedia – Deployment Descriptor
  2. Wikipedia – Java Servlet Wiki
  3. Oracle – web.xml documentation
  4. Oracle – XML Schemas for Java EE Deployment Descriptors
  5. Google App Engine web.xml for Java
  6. JSR-000315 JavaTM Servlet 3.0

13 comments on “web.xml deployment descriptor examples

  1. Servlet 4.0 deployment descriptor
    <?xml version=”1.0″ encoding=”UTF-8″?>
    <web-app xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
    xmlns=”http://xmlns.jcp.org/xml/ns/javaee”
    xsi:schemaLocation=”http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd
    id=”WebApp_ID” version=”4.0″>
    </web-app>

    Reply
  2. I am facing an issue with the deployment descriptor.
    So far the url java.sun.com with version 3.1 was working on my servers.
    But on the latest tomcat server that I ordered, this doesn’t work.
    I had to change url to xmlns.jcp.org to for it to work.

    Kindly help with pointers as to where I should check to fix this.

    P.S. the old tomcat servers are still working with java.sun.com urls

    Reply
  3. Thank you so much ..!!
    You have one of the treasured site on the internet..!!

    Reply
  4. Thanks, just a note though, you’ve duplicated the web-app opening tags.

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *