日期:2014-05-20  浏览次数:20785 次

Filter过滤器问题
如果有两个Filter:一个编码过滤器EncodingFilter,一个是验证登录的过滤器SessionFilter,
1.两个过滤器有顺序吗?
2.如何配置?即 <url-pattern></url-pattern>里面怎么写?写的内容是什么意思

------解决方案--------------------
一个是为了转换为gb2312或gbk的,一个是用来验证是否登录的吧?
首先应该没有什么先后顺序,感觉还是把转换字符集的过滤器放在前面比较好吧!

在web.xml里
 <filter>
<filter-name>别名</filter-name>
<filter-class>对应类</filter-class>
 </filter>
 <filter-mapping>
<filter-name>别名</filter-name>
<url-pattern>/*</url-pattern> <!--过滤全部-->
 </filter-mapping>
同理这两个过滤器都配置一遍,就是这样。
------解决方案--------------------
有顺序,如果 url-pattern 一样,那么谁写在 web.xml 前面就先执行谁。

多个过滤器进行过滤称为过滤器链。

对于编码和登录来说,谁先在前面都没有什么区别,在 url-pattern 中写的东西,跟你的目录结构有关,如果是乱七八糟的目录,也没什么分类,那就直接写 /*