Filter过滤器
Filter
监视器,一般用于完成通用的操作,登陆验证等.
配置
- web.xml配置
1 | <?xml version="1.0" encoding="UTF-8"?> |
- 注解配置
1 | @WebFilter("/要监视的资源路径") |
快速入门
定义一个类,实现Filter接口(javax.servlet.Filter)
复写三个方法
Request:只有在直接访问时,菜启用Filter
ForWard:只有目标拦截资源时被转发访问的时候才启动Filter
多种启用时机,设置多个参数.
1
@WebFilter(dispatcherTypes = {DispatcherType.REQUEST,DispatcherType.FORWARD})
- web.xml改变配置
在web.xml配置文件中,在
- 注解配置
在注解中,设置参数dispatcherTypes
过滤器的执行
过滤器的放行代码
1 | filterChain.doFilter(servletRequest,servletResponse); |
在过滤器启动时,放行代码的上方代码执行,然后放行,资源访问完毕后,执行放行代码的下方代码.
过滤器链(多个配置的过滤器)
在存在多个过滤器时,执行的顺序
过滤器A->过滤器B->执行资源->过滤器B->过滤器A
过滤器先后顺序
- web.xml文件中,定义在上面的过滤器先执行
- 注解配置中,按照类名比较,(逐位比较),较小的先执行.