dtd类型
Servlet2.3
<!DOCTYPE web-app
    PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”
    “http://java.sun.com/dtd/web-app_2_3.dtd”>
or
Servlet2.4
<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 web-app_2_4.xsd”
    version=”2.4″>
</web-app>


顶级元素
<webapp></webapp>


servlet元素
基本
<servlet>
  <servlet-name>你给servlet起的名字</servlet-name>
  <servlet-class>对照在WEB-INF/classes中的类名称</servlet-class>
 </servlet>
DTD定义
<!ELEMENT servlet (icon?, servlet-name, display-name?, description?, (servlet-class | jsp-file), init-param*, load-on-startup?, run-as?, security-role-ref*)>
init-param:初始化参数,servlet可以从这里得到初始参数值。(String initial = getInitParameter(“initial”);    )
load-on-startup:webapplication启动即装载。


servlet-mapping元素
 <servlet-mapping>
  <servlet-name>servlet名称</servlet-name>
  <url-pattern>映射url, i.e. /* or /hello.html</url-pattern>
 </servlet-mapping>


设置Session
 <session-config>
  <session-timeout>
            1 <!– minutes –>
  </session-timeout>
 </session-config>


HTTP认证
<web-app>
    <servlet>
        <servlet-name>
            secret
        </servlet-name>
        <servlet-class>
            SalaryServer
        </servlet-class>
    </servlet>


    <security-constraint>
        <web-resource-collection>
            <web-resource-name>
                SecretProtection
            </web-resource-name>
            <url-pattern>
                /servlet/*
            </url-pattern>
            <http-method>
                GET
            </http-method>
            <http-method>
                POST
            </http-method>
        </web-resource-collection>
        <auth-constraint>
            <role-name>
                engineer
            </role-name>
        </auth-constraint>
    </security-constraint>


    <login-config>
        <auth-method>
            BASIC       <!– BASIC, DIGEST, FORM, CLIENT-CERT –>
        </auth-method>                                              
        <realm-name>                                                
            Default     <!– optional, only useful for BASIC –>    
        </realm-name>                                               
    </login-config>                                                 


    <security-role>
        <role-name>
            engineer
        </role-name>
    </security-role>
</web-app>