<?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>

  <!-- Order matters in version 2.3 of web.xml! For the elements
       used in this example, this order is required:
          filter
          filter-mapping
          servlet
          servlet-mapping
          welcome-file-list
          error-page
  -->
  <!-- Register the name "Reporter" for ReportFilter. -->
  <filter>
    <filter-name>Reporter</filter-name>
    <filter-class>moreservlets.ReportFilter</filter-class>
  </filter>
  
  <!-- Apply the Reporter filter to the servlet named "PageName". -->
  <filter-mapping>
    <filter-name>Reporter</filter-name>
    <servlet-name>PageName</servlet-name>
  </filter-mapping>
  
  <!-- Turn on the ContextReporter. -->
  <listener>
    <listener-class>moreservlets.ContextReporter</listener-class>
  </listener>
  
  <!-- Register the name "Test" for TestServlet. -->
  <servlet>
    <servlet-name>Test</servlet-name>
    <servlet-class>moreservlets.TestServlet</servlet-class>
  </servlet>
  
  <!-- Register the name "Sorry" for SorryServlet. -->
  <servlet>
    <servlet-name>Sorry</servlet-name>
    <servlet-class>moreservlets.SorryServlet</servlet-class>
  </servlet>

  <!-- Register the name "PageName" for TestPage.jsp -->
  <servlet>
    <servlet-name>PageName</servlet-name>
    <jsp-file>/TestPage.jsp</jsp-file> 
  </servlet>
  
  <!-- Register the name "InitTest" with InitServlet,
       and assign initialization parameters. -->
  <servlet>
    <servlet-name>InitTest</servlet-name>
    <servlet-class>moreservlets.InitServlet</servlet-class>
    <init-param>
      <param-name>firstName</param-name>
      <param-value>Larry</param-value>
    </init-param>
    <init-param>
      <param-name>emailAddress</param-name>
      <param-value>ellison@microsoft.com</param-value>
    </init-param>
  </servlet>
   
  <!-- Register the name "InitPage" with InitPage.jsp,
       and assign initialization parameters. -->
  <servlet>
    <servlet-name>InitPage</servlet-name>
    <jsp-file>/InitPage.jsp</jsp-file>
    <init-param>
      <param-name>firstName</param-name>
      <param-value>Bill</param-value>
    </init-param>
    <init-param>
      <param-name>emailAddress</param-name>
      <param-value>gates@oracle.com</param-value>
    </init-param>
  </servlet>
  
  <!-- Use the URL http://host/webApp/showInitValues for InitServlet -->
  <servlet-mapping>
    <servlet-name>InitTest</servlet-name>
    <url-pattern>/showInitValues</url-pattern>
  </servlet-mapping>
    
 <!-- Use the URL http://host/webApp/UrlTest instead of
       http://host/webAppPrefix/servlet/Test or
       http://host/webAppPrefix/servlet/moreservlets.TestServlet. -->
  <servlet-mapping>
    <servlet-name>Test</servlet-name>
    <url-pattern>/UrlTest</url-pattern>
  </servlet-mapping>
  
  <!-- Disable the use of
       http://host/webAppPrefix/servlet/...  -->
  <!--
  <servlet-mapping>
    <servlet-name>Sorry</servlet-name>
    <url-pattern>/servlet/*</url-pattern>
  </servlet-mapping>
  -->
  
  <!-- Use the URL http://host/webAppPrefix/UrlTest2 instead of
       http://host/webAppPrefix/TestPage.jsp -->
  <servlet-mapping>
    <servlet-name>PageName</servlet-name>
    <url-pattern>/UrlTest2/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>InitPage</servlet-name>
    <url-pattern>/InitPage.jsp</url-pattern>
  </servlet-mapping>
  
  <!-- If URL gives a directory but no filename, try index.jsp
       first and index.html second. If neither is found,
       the result is server-specific (e.g., a directory 
       listing).  Order of elements in web.xml matters. 
       welcome-file-list needs to come after servlet but
       before error-page.
  -->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  
  <error-page>
    <error-code>404</error-code>
    <location>/NotFound.jsp</location>
  </error-page>
  
  <error-page>
    <exception-type>
      moreservlets.DumbDeveloperException
    </exception-type>
    <location>/DDE.jsp</location>
  </error-page>
</web-app>
