概念:Filter表示过滤器,是javaweb三大组件(servelet,Filter,listener)之一.
过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能
过滤器一般完成一些通用的操作,比如:权限控制,统一编码处理,敏感字符处理...
比如权限控制:如现在的更多网站要你先登录才能访问其它资源
还有就是关于一些编码问题处理,敏感字符处理,如果很多资源都要设置这些可以把特闷提取到过滤器里面来有话,不然就代码重复了
Filter的一些基本使用
定义类,实现Fileter接口,并重写其所有方法
做完操作后要放行继续执行下面的代码,chain.deFilter(request,response);
执行放行前逻辑 -> 放行 ->访问资源 ->执行放行后逻辑
@webFilter("/*")表示拦截所有的资源
拦截具体资源:/index.jsp
目录拦截:/user/
后缀拦截:*.jsp
首先要注意这两点@webFilter("/*")里面写的不是访问路径而是拦截资源的路径,
还有就是deFilter();是调用的FilterChain的方法如图所示;
一个web引用,可以配置多个过滤器,这多个过滤器称为过滤器链
注解配置的Filter,优先级按照过滤器类名(字符串)的自然排序
列如Filter01先执行Filter02后执行;