一、什么是filter?作用是什么?
①:Filter过滤器是JavaWeb的三大组件之一. JavaWeb的三大组件分别是:Servlet程序 Listener监听器 Filter过滤器.
②:Filter过滤器是一个接口
③:Filter过滤器可以拦截请求,过滤响应
常见的应用场景是:
①:权限检查
②:日记记录
③:性能检测
二、filter如何使用
①:自定义一个filter过滤器,实现Filter接口,重新doFilter()方法
②:在web.xml中配置自定义过滤器
三、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对象