<?xml version="1.0" encoding="ISO-8859-1"?>
<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"> 

  <display-name>Test WebApp</display-name>
  
  <listener>
    <listener-class>com.acme.TestListener</listener-class>
  </listener>

  <filter>
    <filter-name>TestFilter</filter-name>
    <filter-class>com.acme.TestFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>TestFilter</filter-name>
    <url-pattern>/dump/*</url-pattern>
    <url-pattern>/dispatch/*</url-pattern>
    <url-pattern>*.dump</url-pattern>
    <servlet-name>*</servlet-name>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>ERROR</dispatcher>
  </filter-mapping>
  
  <filter>
    <filter-name>MultiPart</filter-name>
    <filter-class>org.mortbay.servlet.MultiPartFilter</filter-class>
    <init-param>
      <param-name>deleteFiles</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>MultiPart</filter-name>
    <url-pattern>/dump/*</url-pattern>
  </filter-mapping>
  
  <filter>
    <filter-name>GzipFilter</filter-name>
    <filter-class>org.mortbay.servlet.jetty.IncludableGzipFilter</filter-class>
    <init-param>
      <param-name>bufferSize</param-name>
      <param-value>8192</param-value>
    </init-param>
    <init-param>
      <param-name>minGzipSize</param-name>
      <param-value>1024</param-value>
    </init-param>
    <init-param>
      <param-name>userAgent</param-name>
      <param-value>(?:Mozilla[^\(]*\(compatible;\s*+([^;]*);.*)|(?:.*?([^\s]+/[^\s]+).*)</param-value>
    </init-param>
    <init-param>
      <param-name>cacheSize</param-name>
      <param-value>1024</param-value>
    </init-param>
    <init-param>
      <param-name>excludedAgents</param-name>
      <param-value>MSIE 6.0</param-value>
    </init-param>
    <init-param>
      <param-name>uncheckedPrintWriter</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>GzipFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  
  
  <filter>
    <filter-name>Throttle</filter-name>
    <filter-class>org.mortbay.servlet.ThrottlingFilter</filter-class>
  </filter>
  
  <filter-mapping>
    <filter-name>Throttle</filter-name>
    <url-pattern>/dump/throttle/*</url-pattern>
  </filter-mapping>


  

  <!-- Comment out to support PUT and DELETE
  <filter>
    <filter-name>RestFilter</filter-name>
    <filter-class>org.mortbay.servlet.RestFilter</filter-class>
    <init-param>
      <param-name>maxPutSize</param-name><param-value>1024</param-value>
    </init-param>
  </filter>
  
  <filter-mapping>
    <filter-name>RestFilter</filter-name>
    <servlet-name>default</servlet-name>
    <dispatcher>REQUEST</dispatcher>
  </filter-mapping>
  -->

   <servlet>
     <servlet-name>JnlpDownloadServlet</servlet-name>
     <servlet-class>jnlp.sample.servlet.JnlpDownloadServlet</servlet-class>
  </servlet>
  <servlet-mapping>
     <servlet-name>JnlpDownloadServlet</servlet-name>
     <url-pattern>/webstart/*</url-pattern>
  </servlet-mapping>



  <servlet>
    <servlet-name>Hello</servlet-name>
    <servlet-class>com.acme.HelloWorld</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>Hello</servlet-name>
    <url-pattern>/hello/*</url-pattern>
  </servlet-mapping>
  
  <servlet>
    <servlet-name>Dump</servlet-name>
    <servlet-class>com.acme.Dump</servlet-class>
    <load-on-startup>1</load-on-startup>
    <run-as><role-name>admin</role-name></run-as>
  </servlet>

  <servlet-mapping>
    <servlet-name>Dump</servlet-name>
    <url-pattern>/dump/*</url-pattern>
    <url-pattern>*.dump</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>Session</servlet-name>
    <servlet-class>com.acme.SessionDump</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>Session</servlet-name>
    <url-pattern>/session/*</url-pattern>
  </servlet-mapping>
  
  <servlet>
    <servlet-name>Cookie</servlet-name>
    <servlet-class>com.acme.CookieDump</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>Cookie</servlet-name>
    <url-pattern>/cookie/*</url-pattern>
  </servlet-mapping>
  
  <servlet>
    <servlet-name>Dispatch</servlet-name>
    <servlet-class>com.acme.DispatchServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>Dispatch</servlet-name>
    <url-pattern>/dispatch/*</url-pattern>
  </servlet-mapping>
  
  <servlet>
    <servlet-name>JspSnoop</servlet-name>
    <jsp-file>/snoop.jsp</jsp-file>
    <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>JspSnoop</servlet-name>
    <url-pattern>/jspsnoop/*</url-pattern>
  </servlet-mapping>
   
  <servlet>
    <servlet-name>CGI</servlet-name>
    <servlet-class>org.mortbay.servlet.CGI</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>CGI</servlet-name>
    <url-pattern>/cgi-bin/*</url-pattern>
  </servlet-mapping>
  
  <servlet>
    <servlet-name>GoogleProxy</servlet-name>
    <servlet-class>org.mortbay.proxy.AsyncProxyServlet$Transparent</servlet-class>
    <load-on-startup>1</load-on-startup>
    <init-param>
      <param-name>ProxyTo</param-name><param-value>http://www.google.com</param-value>
    </init-param>
    <init-param>
      <param-name>Prefix</param-name><param-value>/google</param-value>
    </init-param>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>GoogleProxy</servlet-name>
    <url-pattern>/google/*</url-pattern>
  </servlet-mapping>
  
  <error-page>
    <error-code>404</error-code>
    <location>/jspsnoop/ERROR/404</location>
  </error-page>
  
  <error-page>
    <exception-type>java.io.IOException</exception-type>
    <location>/jspsnoop/IOException</location>
  </error-page>

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Any User</web-resource-name>
      <url-pattern>/dump/auth/*</url-pattern>
      <url-pattern>*.htm</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>*</role-name>
    </auth-constraint>
  </security-constraint>

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>relax</web-resource-name>
      <url-pattern>/dump/auth/relax/*</url-pattern>
      <url-pattern>/auth/relax.txt</url-pattern>
      <http-method>GET</http-method>
      <http-method>HEAD</http-method>
    </web-resource-collection>
  </security-constraint>

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Admin Role</web-resource-name>
      <url-pattern>/dump/auth/admin/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>content-administrator</role-name>
    </auth-constraint>
  </security-constraint>

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Forbidden</web-resource-name>
      <url-pattern>/dump/auth/noaccess/*</url-pattern>
      <url-pattern>/auth/*</url-pattern>
    </web-resource-collection>
    <auth-constraint/>
  </security-constraint>

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>SSL</web-resource-name>
      <url-pattern>/dump/auth/ssl/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
  </security-constraint>

<!--
  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Test Realm</realm-name>
  </login-config>
-->

<!--
  <login-config>
    <auth-method>DIGEST</auth-method>
    <realm-name>Test Realm</realm-name>
  </login-config>
-->

  <login-config>
    <auth-method>FORM</auth-method>
    <realm-name>Test Realm</realm-name>
    <form-login-config>
       <form-login-page>/logon.html?param=test</form-login-page>
       <form-error-page>/logonError.html?param=test</form-error-page>
    </form-login-config>
  </login-config>

  <jsp-config>
    <taglib>
      <taglib-uri>
        http://www.acme.com/taglib
      </taglib-uri>
      <taglib-location>
        /WEB-INF/acme-taglib.tld
      </taglib-location>
    </taglib>

    <taglib>
      <taglib-uri>
        http://www.acme.com/taglib2
      </taglib-uri>
      <taglib-location>
        /WEB-INF/acme-taglib2.tld
      </taglib-location>
    </taglib>
  </jsp-config>
  
  <session-config>
    <session-timeout>5</session-timeout>
  </session-config>

</web-app>


