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

mkyong

Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities. Read all published posts by

Comments

avatar
newest oldest most voted
Nima
Guest
Nima

Where is servlet 4 version and 4.0.1 ???

geoff perks
Guest
geoff perks

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

mkyong
Guest
mkyong

Thanks, article is updated.

trackback
Tomcat web.xml | Skills421
KK
Guest
KK

web-app is repeated for 2.4, 2.5 and 3.0

Koray Tugay
Guest
Koray Tugay

Dude, these are all wrong..

fsl4faisal
Guest
fsl4faisal

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

Binh Thanh Nguyen
Guest
Binh Thanh Nguyen

Thanks, very nice tips

pf_miles
Guest
pf_miles

Very useful infomation, thanks!

Julio
Guest
Julio

Thanks!

john obiefuna
Guest
john obiefuna

How use my samsuny galaxy s2 to sms tex

john obiefuna
Guest
john obiefuna

How to use my phone to make sms