一,概述
表示过滤器,是JavaWeb三大组件之一(Servlet、Filter、Listener)
过滤器可以把资源请求拦截下来,从而实现一些特殊的功能
过滤器一般完成一些通用的操作,比如:权限控制、统一编码处理、敏感字符处理等等
二,使用
1、与Servlet相似,Filter也需要继承接口(Filter)并重写其中所有方法
2、配置Filter拉涅资源的路径:在类上定义@WebFilter注解
3、放行:拦截后处理完了还需要放行chain.doFilter(request,response);
放行前执行放行前的代码,此时是对request中的数据进行处理,放行后访问完资源会再次回到Filter中,执行放行后的数据,对response中的数据进行处理
三,配置拦截路径
拦截具体资源,如:/index.jsp,只有访问这个资源时才回被拦截
目录拦截,如:/user/*,访问user目录下的所有资源会被拦截
后缀名拦截,如:/*.jsp,访问为相应后缀名的资源会被拦截
拦截所有:/*,访问任何资源都会被拦截
四,过滤器链
一个Web应用可以配置多个过滤器,这多个过滤器被称为过滤器链
执行顺序是:Filter1放行前=>Filter2放行前=>访问资源=>Filter2放行后=>Filter1放行后
注解配置的Filter,优先级按照过滤器类名的自然排序