目录
一、过滤器概念:
Filter 过滤器它是 JavaWeb 的三大组件之一。过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理;通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理。
它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理。使用Filter的完整流程:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。
二、过滤器流程:
三、过滤器的使用
1.编写一个类去实现 Filter 接口
2.实现过滤方法 doFilter()
3.到 web.xml 中去配置 Filter 的拦截路径
四、过滤器的配置方法
1.直接注入Fiter的方法
2.Fiter + FiterConfig的方法
3.SpringSecurity中继承OncePerRequestFiter的方法
五、过滤器链的顺序
执行顺序:有多个过滤器的时候,执行顺序很重要,在注解开发中,其执行顺序跟其类名的字符串有关。
转载顺序:过滤器的转载顺序是服务器按照we.xml文件中定义的顺序从后往先的顺序转载的。
过滤顺序:过滤的顺序就是按照先后顺序过滤的。
六、配置.Filter
常用的配置项是在web.xml中的url-patterns中,有几种不同的拦截方式。
1./readme.jsp,/index.jsp一类的就是通过指定资源进行匹配。
2.*.do,*.action一类的就是通过后缀名进行匹配,所有后缀名相同的地址都会被拦截。
3./*是通配符,他会拦截所有web资源,并且也会拦截后缀名匹配。
4./abc/*是以目录进行匹配,在/abc目录下的都会被拦截下来。