什么是过滤器?(Filter)
过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理,通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理。
Filter 过滤器它是 JavaWeb 的三大组件之一。
Filter 过滤器它是 JavaEE 的规范。也就是接口。
过滤器在业务中都有哪些应用场景?
自动登录、统一编码格式、访问权限设置、敏感词汇过滤等等。
如何使用Filter?
1.编写一个类去实现 Filter 接口。
2.实现过滤方法 doFilter()。
3.到 web.xml 中去配置 Filter 的拦截路径。
<!--filter标签用于配置一个Filter过滤器-->
<filter>
<!--给 filter 起一个别名-->
<filter-name>Adminfilter</filter-name>
<!--配置 filter 全类名-->
<filter-class>com.filter.AdminFilter</filter-class>
</filter>
<!--配置 filter 过滤器的拦截路径-->
<filter-mapping>
<!--表示当前的拦截路径给哪个filter过滤器使用-->
<filter-name>Adminfilter</filter-name>
<!--配置拦截路径
/ 表示请求地址为: http://ip:port/工程路径/ 映射到 IDEA 的 web 目录
/admin/* 表示请求地址为 http://ip:port/工程路径/admin/* (admin 下的全部)
-->
<url-pattern>/admin/*</url-pattern>
</filter-mapping>
Fiter的生命周期
-
构造器方法
-
init 初始化方法:
第 1,2 步,在 web 工程启动的时候执行(Filter 已经创建)。 -
doFilter 过滤方法:
第 3 步,每次拦截到请求,就会执行(访问 admin 目录下的 a.jsp 页面,访问一次,拦截一次请求)。 -
destroy 销毁:
第 4 步,停止 web 工程的时候,就会执行(停止 web 工程,也会销毁 Filter 过滤器)。