news 2026/8/7 23:32:57

SpringMVC的拦截器和过滤器有什么区别?执行顺序?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringMVC的拦截器和过滤器有什么区别?执行顺序?

大家好,我是锋哥。今天分享关于【SpringMVC的拦截器和过滤器有什么区别?执行顺序?】面试题。希望对大家有帮助;

SpringMVC的拦截器和过滤器有什么区别?执行顺序?

超硬核AI学习资料,现在永久免费了!

在 SpringMVC 中,拦截器(Interceptor)过滤器(Filter)都能对请求进行预处理与后处理,但它们属于不同层级的机制。下面从定义、作用范围、使用场景和执行顺序等方面详细说明它们的区别。


一、概念与所属层级

对比项过滤器(Filter)拦截器(Interceptor)
所属规范Servlet 规范Spring MVC 框架
拦截对象所有进入容器的请求(包括静态资源、JSP、Servlet 等)仅拦截被 SpringMVC DispatcherServlet 分发的控制器请求
定义位置web.xml或通过@WebFilter注解注册通过实现HandlerInterceptor接口,在 Spring 配置中注册
依赖框架与 Spring 无关依赖 Spring 容器

二、典型使用场景

Filter

###Interceptor

三、执行流程与生命周期

SpringMVC 的请求完整执行链大致如下:

HTTP请求 → 过滤器(Filter) → DispatcherServlet → 拦截器(Interceptor) → Controller → 拦截器(Interceptor) → 视图解析(ViewResolver) → DispatcherServlet → 过滤器(Filter) →HTTP 响应返回

拦截器的三个方法

实现HandlerInterceptor接口后通常包含:

  1. preHandle():在 Controller 方法执行前调用,可中断请求;
  2. postHandle():Controller 执行后、视图渲染前调用;
  3. afterCompletion():视图渲染后调用,用于资源清理。

四、执行顺序(多层组合时)

  1. 多个 Filter:按注册顺序执行;先注册的先执行、最后返回。
  2. 多个 Interceptor:按配置顺序执行;preHandle顺序执行,postHandleafterCompletion逆序执行。
  3. 总体顺序总结
阶段执行顺序
请求进入Filter → Interceptor.preHandle → Controller

五、简要总结| 维度 | Filter | Interceptor |

|------|---------|-------------| | 所属层 | Servlet 容器级别| SpringMVC 应用级别 | | 拦截范围 | 所有请求 | Controller 请求 | | 可访问 Spring Bean |否(若未托管给 Spring) | 是 | | 典型用途 |编码、鉴权、跨域 | 日志、权限、参数注入 | | 执行顺序 | 先于 Interceptor 执行 | 在 Filter 之后执行 |


一句话总结:

Filter 是 Servlet 层的“门卫”,拦在整个 Web 应用最外层;
Interceptor 是 SpringMVC 的“管家”,专门拦截控制器层的业务请求。

是否希望我补充一个完整的执行顺序图示 + 示例代码(含两个 Filter 和两个 Interceptor 的执行日志顺序)?这样能更直观看到调用链。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 3:26:56

Spring IoC的实现机制是什么?

大家好,我是锋哥。今天分享关于【Spring IoC的实现机制是什么?】面试题。希望对大家有帮助; Spring IoC的实现机制是什么? 超硬核AI学习资料,现在永久免费了! Spring IoC(Inversion of Contro…

作者头像 李华
网站建设 2026/8/7 12:05:38

耐用折叠屏手机推荐:三星Galaxy Z TriFold如何破解“折痕与耐用”难题?

当折叠屏手机从概念产品走向大众市场,消费者最关心的问题之一就是耐用性。毕竟,折叠屏设备多出了复杂的机械结构和柔性屏幕,这些部件在日常使用中面临更多挑战。那么,如今的折叠屏手机在耐用性方面达到了什么水平?三星…

作者头像 李华
网站建设 2026/8/7 11:56:45

前端技术风险防控:以防为主,防控结合

前端技术风险防控:以防为主,防控结合 1. 核心理念:防与控的辩证关系 防:在风险发生前,通过技术手段、流程规范、架构设计等主动预防,从根源上减少风险发生的概率。 控:当风险不可避免地发生时&a…

作者头像 李华
网站建设 2026/8/7 16:18:53

入门大模型必知的100个基础问题(附简明答案)

写在前面 这篇内容将图片中的要点按顺序整理为「100 个基础问题 简明答案」。你可以把它当作查阅清单:从概念、结构、训练、评估到优化与应用,快速过一遍大模型(LLM)最常见的知识点。 100个基础问题什么是大模型? 答案…

作者头像 李华
网站建设 2026/8/7 20:35:56

vue基于Spring Boot的建筑材料管理系统的应用和研究_ug8y52z3

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华