- 什么是Filter?
- Filter表示过滤器,是JavaWeb三大组件(Servlet、FIlter、Listener)之一。
- 过滤器可以把对资源的请求拦截下来,总而实现一些特殊的功能
- 使用过滤器后,要想访问web服务器上的资源,必须先经过过滤器,过滤器处理完毕后,才可以访问对应的资源。
- 过滤器一般完成一些通用操作,必须:登录校验、统一编码处理,敏感字处理
- Filter过滤器基本使用
- 定义过滤器:定义一个类实现Filter接口,并重写其所有方法。
-
@WebFilter(urlPatterns = "/*") //配置过滤器要拦截的请求路径( /* 表示拦截浏览器的所有请求 ) public class DemoFilter implements Filter { @Override //初始化方法, 只调用一次 public void init(FilterConfig filterConfig) throws ServletException { System.out.println("init 初始化方法执行了"); } //在放行后访问完 web 资源之后还会回到过滤器当中,回到过滤器之后如有需求还可以执行放行之后的逻辑,放行之后的逻辑我们写在doFilter()这行代码之后。 @Override //拦截到请求之后调用, 调用多次 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("Demo 拦截到了请求...放行前逻辑"); //放行 chain.doFilter(request,response); } @Override //销毁方法, 只调用一次 public void destroy() { System.out.println("destroy 销毁方法执行了"); } }
-
- 配置过滤器:Filter类加上@WebFilter注解,配置拦截资源的路径。引导类上加@ServletComponentScan开启Serlet组件支持
-
@ServletComponentScan @SpringBootApplication public class TliasWebManagementApplication { public static void main(String[] args) { SpringApplication.run(TliasWebManagementApplication.class, args); } }
-
- 定义过滤器:定义一个类实现Filter接口,并重写其所有方法。
-
拦截路径
-
过滤器链
-
web应用程序当中,可以配置多个过滤器,多个过滤器形成了一个过滤器链。
-
文章来源地址https://www.toymoban.com/news/detail-410984.html
-
过滤器的先后执行顺序是由类名的自动排序确定的,类名排名越高,优先级越高。文章来源:https://www.toymoban.com/news/detail-410984.html
-
到了这里,关于过滤器Filter的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!