过滤器(Filter)是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。
一般用法:
- 静态文件访问拦截
- URL级别的权限访问控制
- 请求编码控制
工作流程:Filter
对用户请求进行预处理,接着将请求交给Servlet
进行处理并生成响应,最后Filter
再对服务器响应进行后处理。
过滤器的生命周期:整个生命周期由Servlet容器进行管理
执行构造方法【1,tomcat启动时】 -> 执行初始化方法【1,tomcat启动时】 -> 执行核心方法【n,每次访问】 ->销毁【正常关闭Tomcat】
注:在初始化方法的时候,容器为我们提供了一个FilterConfig初始化对象
在执行核心代码的时候,为我们提供了ServletRequest,ServletResponse,FilterChain对象