File过滤器,概述。
1概念:
* 生活中的过滤器: 净水器。空气净化器,土匪。
*web中过滤器:当访问服务器资源,过滤器可以将请求拦截下来,完成特殊的功能。
*过滤器的作用:
一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符串过滤。。。
快速入门:
1步骤:
1定义一个类,实现接口Filter
2复写方法
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