有关Filter过滤器介绍

时间:2023-02-01 10:01:44


一、什么是filter?作用是什么?

①:Filter过滤器是JavaWeb的三大组件之一. JavaWeb的三大组件分别是:Servlet程序 Listener监听器 Filter过滤器.

②:Filter过滤器是一个接口

③:Filter过滤器可以拦截请求,过滤响应

常见的应用场景是:

①:权限检查

②:日记记录

③:性能检测

二、filter如何使用

①:自定义一个filter过滤器,实现Filter接口,重新doFilter()方法

②:在web.xml中配置自定义过滤器

三、filter链执行顺序

有关Filter过滤器介绍

四、filter拦截路径解析

有关Filter过滤器介绍

--①:精确匹配
<url-pattern>/target.jsp</url-pattern>
以上配置要求请求地址必须是: http://ip:port/工程路径/target.jsp 才会拦截到

--②:目录匹配
<url-pattern>/admin/*</url-pattern>
以上配置要求请求地址必须是: http://ip:port/工程路径/admin/所有资源

--③:后缀名匹配
<url-pattern>*.jsp</url-pattern>
以上配置要求请求地址必须是以 .jsp结尾 , 请求才会被拦截到
<url-pattern>*.html</url-pattern>
以上配置要求请求地址必须是以 .html 结尾 , 请求才会被拦截到
<url-pattern>*.do</url-pattern>
以上配置要求请求地址必须是以 .do 结尾 , 请求才会被拦截到
<url-pattern>*.abc</url-pattern>
以上配置要求请求地址必须是以 .abc 结尾 , 请求才会被拦截到

Filter的拦截请求地址,只关心地址的字符串是否匹配,不关心请求的资源是否存在!!!

五、filter生命周期
①:先执行Filter的构造器方法
②:执行init初始化方法
第1,2步,是在web工程启动的时候调用.
③:执行doFilter() 过滤方法
④:执行detroy销毁方法
在web工程停止的时候调用.

六、FilterConfig和ServletConfig非常像.
ServletConfig是Servlet程序在Tomcat服务器创建Servlet程序的时候,就会创建一个ServletConfig对象实例.
Servletconfig对象实例是封装有Servlet程序的配置信息类

FilterConfig是Tomcat服务器每次创建Filter过滤器的时候,也会创建一个FilterConfig对象实例.
这个FilterConfig对象实例中也封装有Filter过滤器的配置信息.

FilterConfig类的作用:
1 获取在Filter配置的别名
2 获取Filter过滤器的初始化参数
3 获取ServletConetxt对象