1概念:web
* 生活中的过滤器: 净水器。空气净化器,土匪。浏览器
*web中过滤器:当访问服务器资源,过滤器能够将请求拦截下来,完成特殊的功能。服务器
*过滤器的做用:jsp
通常用于完成通用的操做。如:登陆验证、统一编码处理、敏感字符串过滤。。。编码
快速入门: url
1步骤:spa
1定义一个类,实现接口Filter3d
2复写方法xml
3配置拦截路径对象
1web.xml
2注解 使用@WebFilter(“/拦截路径”)
2。过滤器执行流程
1执行过滤器
2执行放行后的资源
3最后执行过滤器放行后的代码。
3过滤器生命周期的方法
1init方法:在服务器启动后,会建立Filter对象,而后调用init方法,只执行一次。用于加载资源
2doFilter:每一次请求被拦截资源时,会执行,执行屡次
3destory:在服务器关闭后,Filter对象被销毁。若是服务器是正常关闭的,那么会执行destory方法,用于释放资源。
4过滤器配置详解
1具体资源路径: /index.jsp 只有访问index.jsp资源时,过滤器才会被执行
2拦截目录:/user/* 访问/user下的全部资源时,过滤器都会被执行
3后缀名拦截: *.jsp 访问后缀是jsp的资源时过滤器会被执行
4拦截全部资源 /* 访问任何资源都会被拦截
拦截方式配置:资源被访问的方式
注解配置
设置dispatcherTypes属性
1REQUEST:默认值。浏览器直接请求资源
2FORWARD:转发访问资源
3INCLUDE:包含访问资源
3Error:错误跳转资源
web.xml配置
*设置<dispatcherTypes></dispatcherTypes>标签。
过滤器链(配置多个过滤器)
执行顺序
1过滤器1
2过滤器2
3执行资源
4过滤器2
5过滤器1
过滤器前后执行顺序
1注解配置:按照类名字符串比较规则比较,值小的先执行
如Afileter 和Bfilter 那么Afilter就会先执行
2web.xml配置
按照配置的前后顺序,配置咋前面的先执行
通常使用httpServletRequest
和httpServletRequest 才能够获取uri 或者url