首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

在web.xml中平添多个filter

2012-12-23 
在web.xml中添加多个filterweb.xml中的多个filter的运行顺序walker(walker_cn@163.com)? 2007-11-20环境:t

在web.xml中添加多个filter

web.xml中的多个filter的运行顺序
walker(walker_cn@163.com)? 2007-11-20
环境:tomcat 6.x

多个筛选器的运行顺序取决于下列规则:
将 filter-mapping 元素包含与请求匹配的 url-pattern的筛选器按其在 web.xml 部署描述符中出现的顺序添加到链中。
将 filter-mapping 元素包含与请求匹配的 servlet-name 的筛选器添加在链中与 URL 模式匹配的筛选器之后。
链上先进先出的,链中最后的项目往往是最初请求的资源。
也就是说:

1.以url-pattern方式配置的filter运行时肯定先于以servlet-name方式配置的filter
2.以url-partern方式配置的filter中,如果有多个与当前请求匹配,则按web.xml中filter-mapping出现的顺序来运行
3.对于以servlet-name方式配置的filter,如果有多个与当前请求匹配,也是按web.xml中filter-mapping出现的顺序来运行

?

?

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/weizhi/archive/2007/11/20/1895014.aspx

?

DEMO:

<!-- 字符编码Filter --><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><!-- 后台用户登录验证Filter --><filter><filter-name>backendFilter</filter-name><filter-class>com.maxwell.help.LoginFilter</filter-class></filter><!-- 前台会员登录验证Filter --><filter><filter-name>memberFilter</filter-name><filter-class>com.maxwell.help.MemberFilter</filter-class></filter><!-- 字符编码Filter-mapping --><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 后台用户登录验证Filter-mapping --><filter-mapping><filter-name>backendFilter</filter-name><url-pattern>/backend/*</url-pattern></filter-mapping><!-- 前台会员登录验证Filter-mapping --><filter-mapping><filter-name>memberFilter</filter-name><url-pattern>/member/*</url-pattern></filter-mapping>

?

热点排行