<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<icon>
<small-icon>/images/small.icon</small-icon>
<large-icon>/images/large.jpg</large-icon>
</icon>
<display-name>asarja web.xml</display-name>
<description>this web application is used to exercise web.xml</description>
<security-role>
<role-name>asarja</role-name>
</security-role>
<context-param>
<param-name>company</param-name>
<param-value>asarja</param-value>
</context-param>
<listener>
<listener-class>
com.asarja.base.listener.RequestHandleListener
</listener-class>
</listener>
<filter>
<display-name>loginFilter</display-name>
<filter-name>loginFilter</filter-name>
<filter-class>com.asarja.base.filter.LoginFilter</filter-class>
<init-param>
<param-name>sessionKey</param-name>
<param-value>user</param-value>
</init-param>
<init-param>
<param-name>redirectURL</param-name>
<param-value>/hello/login</param-value>
</init-param>
<init-param>
<param-name>notCheckList</param-name>
<param-value>/hello/login;/hello/toLogin;/hello/register;</param-value>
</init-param>
</filter>
<servlet>
<servlet-name>Controller</servlet-name>
<servlet-class>servlet.Controller</servlet-class>
<init-param>
<param-name>user</param-name>
<param-value>admin</param-value>
</init-param>
<init-param>
<param-name>pwd</param-name>
<param-value>123456</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Controller</servlet-name>
<url-pattern>/controller</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>jspController</servlet-name>
<jsp-file>/hello.jsp</jsp-file>
<init-param>
<param-name>admin</param-name>
<param-value>admin</param-value>
</init-param>
<init-param>
<param-name>pwd</param-name>
<param-value>123456</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
<security-role-ref>
<role-name>boss</role-name>
<role-link>asarja</role-link>
</security-role-ref>
</servlet>
<servlet-mapping>
<servlet-name>jspController</servlet-name>
<url-pattern>/hello.jsp</url-pattern>
</servlet-mapping>
<security-constraint>
<display-name>asarja security</display-name>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>administrator</role-name>
<role-name>asarja</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login-error.jsp</form-error-page>
</form-login-config>
</login-config>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
<mime-mapping>
<extension>ars</extension>
<mime-type>application/x-ars</mime-type>
</mime-mapping>
<distributable/>
</web-app>
web.xml配置模板
关于给配置中最主要的是一些节点的加载顺序:
1.web项目启动的时候,首先加载context-param节点中的内容
2.web容器创建一个ServletContext对象,读取context-param中内容
3.创建listener实例
4.加载filter(多个filter 默认按顺序加载,可以人工设置加载顺序)
5.最后加载servlet,可以设置加载的时机