文章目录
一、Filter 概述
1. 什么是 Filter
- Filter 称为 过滤器,它是 Servlet 中最实用的技术;
- web 开发人员通过 Filter ,对 web 服务器所管理的资源(JSP、Servlet、静态图片、静态HTML文件)进行拦截,从而实现一些特殊的功能;
- Filter 就是过滤从客户端向服务器发送的请求;
2. 过滤器的原理
二、Filter 入门
1. 编写一个类实现Filter接口
2. 对过滤器进行配置
三、FilterChain 对象的概述
1. 什么是 FilterChain
- FilterChain 过滤器链:在一个web应用中,可以开发和编写多个 Filter,这些 Filter 组合起来就被称为 一个过滤器链;
- web 服务器根据 Filter 在 web.xml 文件中的注册顺序(mapping 的配置顺序)决定先调用哪个 Filter。依次调用后面的过滤器,如果没有下一个过滤器,调用目标资源;
四、Filter 的生命周期
- Filter 的创建和销毁都是由 web 服务器负责的。
- web 应用程序启动的时候,web 服务器创建 Filter 的实例对象;并调用其 init 方法进行初始化(Filter 对象只创建一次,init 方法也只执行一次);
- 每次 Filter 进行拦截的时候,都会执行 doFiler 方法;
- 当服务器关闭的时候,应用从服务器移除的时候,服务器会销毁 Filter 对象;
五、FilterConfig 对象的概述
1. FilterConfig 对象的作用
用来获得 Filter 的相关配置的对象;
2. FilterConfig 对象的API
getFilterName()
getInitParameter(String name)
getInitParamterNames()
getServletContext()