René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback
 

web.xml

The web.xml file defines each servlet and JSP page within a Web Application. It also enumerates enterprise beans referenced in the Web application.
The file goes into the WEB-INF directory under the document root of a web application.

A sample web.xml

This xml file is alls called deployment descriptor.
<?xml version="1.0" encoding="ISO-8859-1"?>

<!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>
      The name of the application 
    </display-name>
    <description>
      C'mon, you know what goes into a description, don't you?
    </description>

    <context-param>
      <param-name>name_of_context_initialization_parameter</param-name>
      <param-value>value_of_context_initializtion_parameter</param-value>
      <description> Again, some description </description>
    </context-param>

    <servlet>
      <servlet-name>guess_what_name_of_servlet</servlet-name>
      <description>Again, some description</description>
      <servlet-class>com.foo-bar.somepackage.TheServlet</servlet-class>
      <init-param>
        <param-name>foo</param-name>
        <param-value>bar</param-value>
      </init-param>
    </servlet>

    <servlet-mapping>
      <servlet-name>name_of_a_servlet</servlet-name>
      <url-pattern>*.some_pattern</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
      <servlet-name>image</servlet-name>
      <url-pattern>/image</url-pattern>
    </servlet-mapping>

    <session-config>
      <session-timeout>30</session-timeout> 
    </session-config>

</web-app>

context-param

The values within the context-param element can be accessed like so:
String value = getServletContext().getInitParameter("name_of_context_initialization_parameter");
Servlet initialization parameters (that is: the values within the servlet element) can be retrieved in a servlet or JSP page by calling:
String value = getServletConfig().getInitParameter("foo");

session-timeout

<session-timeout>: The timeout for a session in minutes.

servlet

For each servlet in the web application, there is a <servlet> element. The name identifies the servlet (<servlet-name>).

servlet-mapping

Each servlet in the web application gets a servlet mapping. The url pattern is used to map URI to servlets.
Obviously, the order of the elements matters!