首页 > 其他分享 >过滤器和拦截器的区别是什么?

过滤器和拦截器的区别是什么?

时间:2024-10-12 22:48:20浏览次数:11  
标签:拦截器 请求 区别 处理 顺序 过滤器 Servlet

首先,过滤器和拦截器都可以在请求的过程中插入一手,也可以进行拦腰截断。请求过程:当一个请求进来,先交给Web服务器提供的过滤器,来到Servlet,同时会有一个叫做DispatcherServlet的Servlet进行执行,在DispatcherServlet中就会调用我们的拦截器,再由DispatcherServlet分发给对应的Controller来处理请求,请求处理完之后,就会从调用的链路原路返回,再回到拦截器,再回到过滤器,最终响应给客户端。

区别1:过滤器先执行,它是Servlet规范的一部分更接近于底层,它会在Servlet请求之前和响应之后进行处理;拦截器后执行,它是SpringMVC的一部分更接近业务层,会在Controller请求之前和处理完毕之后进行处理。

其次,使用方式不同,过滤器需要依赖Servlet提供的filtter接口,多个过滤器会根据配置的顺序来决定他们的执行顺序;而拦截器需要依赖SpringMVC提供的HandlerIntercepter接口,多个拦截器的执行顺序由Bean的配置顺序来决定,可以通过order注解来改变执行顺序。

最后,用途不同,拦截器通常用来实现一些跟业务相关不是必须的一些工作,比如:身份认证与授权、接口的性能监控,跨域处理日志记录等;过滤器通常实现一些必要的基础设施工作,比如编码处理、视图响应、请求参数处理和URL重定向等。

标签:拦截器,请求,区别,处理,顺序,过滤器,Servlet
From: https://blog.csdn.net/weixin_63908159/article/details/142890797

相关文章

  • 开发与部署项目依赖管理之旅:Docker和venv区别
    Docker与venv的区别Docker和虚拟环境(venv)都是用于管理依赖关系和隔离环境的工具,但它们服务的目的和特点有所不同。下面是它们的详细比较。虚拟环境(venv)目的:特定于Python:venv专为Python项目设计,用于管理依赖关系并创建隔离环境。依赖管理:用于在项目中管理Python包的安装,不影......
  • 国资快报、财政快报、国资决算报表的区别
    国资快报、财政快报和国资决算报表在财务报告体系中各有其独特的作用和要求,它们共同构成了国有资产监管的完整信息体系。一、国资快报:1、目的:国资快报主要用于及时、动态地反映国有企业的资产和财务状况,作为国有资产监督管理机构对企业日常财务监管的工具,以及促进国有资产保值增......
  • RTSP与ONVIF协议的区别及其在EasyCVR视频汇聚平台中的应用
    在视频监控和物联网设备领域,RTSP(RealTimeStreamingProtocol)和ONVIF(OpenNetworkVideoInterfaceForum)是两个重要的协议,它们各自在视频流的传输和控制上发挥着不同的作用,并在实际应用中相辅相成。本文将详细探讨RTSP与ONVIF协议的区别,并介绍它们在EasyCVR平台中的应用。1、RT......
  • python __new__和__init__的区别
    简介__new__和__init__都是Python中的特殊方法,它们在对象生命周期中起到不同的作用。用法1、__new__方法:__new__是一个静态方法,用于创建一个新的对象实例。当你调用一个类时,__new__方法是第一个被调用的方法。它的主要任务是分配内存空间,并返回一个新创建的对象实例。通常情况......
  • 创建的对象与class 对象的区别,两者之间的关系
    什么是class对象Class对象保存每个类型运行时的类型信息,如类名、属性、方法、父类信息等等。在JVM中,一个类只对应一个Class对象可以将java中的class对象看成一个模具,我们new出来的对象,则是通过模具按压出来的具体模型,模型里面的各种颜色各不相同(对象内的成员)class对象的特......
  • 一文详述:AI 网关与 API 网关到底有什么区别?
    近年来AI发展火热,大模型已经成为推动各行各业业务创新和增长的关键力量。随之而来问题是“企业该如何安全管理和部署AI应用的挑战?”AI基础架构的设计不仅要支持现有的业务需求,还要能够适应未来技术的快速发展。在这样的背景下,AI网关的概念应运而生,AI网关在AI应用的集成、管理和......
  • 三、Spring Boot集成Spring Security之securityFilterChain过滤器链详解
    二、默认过滤器链1、默认配置系统启动日志2、默认配置的过滤器及顺序如下org.springframework.security.web.session.DisableEncodeUrlFilterorg.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilterorg.springframework.security.web.c......
  • MR眼镜、AR眼镜、VR眼镜有什么区别?
    在如今的科技领域里,增强现实(AR)、虚拟现实(VR)和混合现实(MR)这三种技术那可都不一般,给我们的生活带来了好多变化。AR它主要就是在真实世界上面加一些虚拟的信息。就像我们在手机上看到的AR演示,还有用AR导航的时候,虚拟的箭头和路线会出现在真实的道路上。在娱乐方面,AR眼镜也挺......
  • X86架构下的寄存器和ARM架构下的寄存器有什么区别
    x86架构和ARM架构的寄存器在数量、类型和用途方面有显著的差异。以下是两者寄存器的基本对比:x86架构寄存器在x86架构中,原始的32位体系结构(如x86)提供了以下几类寄存器:通用寄存器:EAX,EBX,ECX,EDX-主要用于数据操作和运算。ESI,EDI-用于字符串和内存数组操作。EBP-......
  • x86架构和ARM架构有什么区别?
    x86架构和ARM架构是当今两种主要的处理器架构,它们在设计哲学、指令集、能效比、应用场景等方面有显著的区别:指令集架构(ISA):x86/x86-64:这是英特尔和AMD主导的一种复杂指令集计算机(CISC)架构。x86原本指的是32位处理器,而x86-64(或AMD64)是其扩展,支持64位处理。CISC架构的特点是拥......