过滤器与拦截器的区别

作者: 迦叶_金色的人生_荣耀而又辉煌 | 来源:发表于2021-02-24 07:18 被阅读0次

上一篇 <<<DispatcherServlet执行原理分析
下一篇 >>>SpringMVC拦截器的用法


拦截器是AOP( Aspect-Oriented Programming)的一种实现,底层通过动态代理模式完成。
相同点--都是基于Aop实现,对方法实现增强,都可以拦截请求方法。
不同点--
a、过滤器属于servlet自己研发的,而拦截器是基于SpringMVC自己研发的
b、过滤器属于拦截web请求,而拦截器不仅可以拦截web请求(HandlerInterceptor),还可以拦截普通方法(MethodInterceptor)
c、过滤器会比拦截器先执行,拦截器封装的方法比过滤器拦截使用起来更加简单
(1)拦截器是基于java的反射机制的,而过滤器是基于函数回调。
(2)拦截器不依赖于servlet容器,而过滤器依赖于servlet容器。
(3)过滤器只能对Controller请求起作用,而拦截器则可以对几乎所有的请求起作用。
(4)在Controller的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。

过滤器应用场景:设置编码字符、过滤敏感字符
拦截器应用场景:拦截未登陆用户、审计日志


推荐阅读:
<<<Spring Servlet相关知识
<<<Spring原理汇总及零碎知识点
<<<Web项目的启动方式汇总
<<<SpringMVC底层无web.xml启动原理分析
<<<SpringMVC运行流程
<<<DispatcherServlet执行原理分析
<<<SpringMVC拦截器的用法
<<<SpringMVC异步实现方式
<<<@Async注解的失效之谜
<<<SpringMVC适配器类型汇总

相关文章

  • 20170907-Spring MVC拦截器

    Filter(过滤器)与Interceptor(拦截器)的区别 区别 ①拦截器interceptor是基于Java...

  • java拦截器和过滤器的区别

    过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。②拦截器不依赖与servlet...

  • 拦截器和过滤器详解

    过滤器和拦截器的区别: 拦截器是基于java的反射机制的,而过滤器是基于函数回调。 拦截器不依赖与servlet容...

  • 过滤器,拦截器,监听器的区别

    过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。②拦截器不依赖与servlet...

  • Spring-Interceptor

    过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。 ②拦截器不依赖与servle...

  • 拦截器(Interceptor)和过滤器(Filter)的区别和

    1、拦截器与过滤器的区别 1)拦截器是基于java的反射机制的,而过滤器是基于函数回调。 2)拦截器是依赖于web...

  • Spring MVC 过滤器和拦截器

    1.区别: 拦截器是基于Java的反射机制的,而过滤器是基于函数回调。 拦截器不依赖与servlet容器,过滤器依...

  • 拦截器和过滤器

    拦截器和过滤器功能很相似 拦截器和过滤器的区别 过滤器 过滤器filter,自己都是实现filter接口,然后do...

  • 过滤器(Filter)与拦截器(Interceptor)

    过滤器(Filter)与拦截器(Interceptor) 两者的区别和联系 过滤器(Filter) 依赖于serv...

  • Web

    过滤器、监听器、拦截器的区别

网友评论

    本文标题:过滤器与拦截器的区别

    本文链接:https://www.haomeiwen.com/subject/wqjuxltx.html