过滤器(Filter)
所谓过滤器,其实就是一个服务端组件,用来截取用户端的请求与响应信息。
具体流程如下:
过滤器的应用场景:
1.对用户请求进行统一认证,保证不会出现用户账户安全性问题
2.编码转换,可在服务端的过滤器中设置统一的编码格式,避免出现乱码
3.对用户发送的数据进行过滤替换
4.转换图像格式
5.对响应的内容进行压缩
过滤器匹配规则:
1.精确匹配 /directory/test.action
2.目录匹配 /sig_upgrade.php/×
3.后缀匹配 ×.php
多个过滤器执行顺序:
-
在web.xml中,filter执行顺序跟
<filter-mapping>
的顺序有关,先声明的先执行 -
使用注解配置的话,filter的执行顺序跟名称的字母顺序有关,例如AFilter会比BFilter先执行
-
如果既有在web.xml中声明的Filter,也有通过注解配置的Filter,那么会优先执行web.xml中配置的Filter
/和/*之间的区别:
<url-pattern>/</url-pattern>: 会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url
<url-pattern>/*</url-pattern>:会匹配所有url:路径型的和后缀型的url(包括/login , *.jsp , *.js 和 *.html 等)