Spring 拦截器|学习笔记

简介: 快速学习 Spring 拦截器

开发者学堂课程【Java 面试疑难点串讲 3:开发工具及框架Spring 拦截器】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/26/detail/562


Spring 拦截器


1、为什么 Spring MVC  没有像 Struts 2.x  那样的拦截器栈?

如果要从个人的角度来看,我认为不使用拦截器栈会更好。首先必须要明确一点,在 Spring 的设计之中,它实际上只是更加忠实于原始的 MVC 技术的提升。

如果要处理请求使用 DisptacherServlet 完成,这一点要比 Struts 2.x 使用 Filter 更好。

因为 Struts 2.x 占用了过滤器的过程,而这一过程对开发很不方便,因为在实际的开发里面过滤器需要完成可能许多的辅助功能,但是 Struts 2.x 做的时候考虑到与Struts 1.x 区分,所以没有使用 Servlet,那么如果用户要实现一些 AOP 有关的设计,该怎么办呢?所以在这样的情况下, Struts 2.x 提出了拦截器。

但是由于 Struts 2.x  拦截器里面所需要承载的内容过多,所以它提出拉拦截器栈。  

如果在传统的 MVC 开发里面,需要进行拦截的操作控制,那么最简化的处理是使用多个过滤器完成。

所以,Spring MVC 也采用了同样的模式来进行处理,它的拦截器是基于配置的方式完成,按照过滤器的使用模式,所以你需要有多个拦截器那么就在配置里面编写多个拦截器的配置即可,因为所有的拦截器会按照路径拦截。

我们认为大家需要的主要部分是验证的处理上,而 Spring MVC 用大家熟悉的模式定义拦截器,这一点比 Struts 2.x 要强。

比较中会发现两者各有优势所在。

 

举例配置一下拦截器站:

图片4.png

这样我们就可以配置多个拦截器站。

相关文章
|
6月前
|
监控 Java 应用服务中间件
微服务——SpringBoot使用归纳——为什么学习Spring Boot
本文主要探讨为什么学习Spring Boot。从Spring官方定位来看,Spring Boot旨在快速启动和运行项目,简化配置与编码。其优点包括:1) 良好的基因,继承了Spring框架的优点;2) 简化编码,通过starter依赖减少手动配置;3) 简化配置,采用Java Config方式替代繁琐的XML配置;4) 简化部署,内嵌Tomcat支持一键式启动;5) 简化监控,提供运行期性能参数获取功能。此外,从未来发展趋势看,微服务架构逐渐成为主流,而Spring Boot作为官方推荐技术,与Spring Cloud配合使用,将成为未来发展的重要方向。
189 0
微服务——SpringBoot使用归纳——为什么学习Spring Boot
|
2月前
|
人工智能 安全 Java
Spring Boot 过滤器 拦截器 监听器
本文介绍了Spring Boot中的过滤器、拦截器和监听器的实现与应用。通过Filter接口和FilterRegistrationBean类,开发者可实现对请求和响应的数据过滤;使用HandlerInterceptor接口,可在控制器方法执行前后进行处理;利用各种监听器接口(如ServletRequestListener、HttpSessionListener等),可监听Web应用中的事件并作出响应。文章还提供了多个代码示例,帮助读者理解如何创建和配置这些组件,适用于构建更高效、安全和可控的Spring Boot应用程序。
494 0
|
5月前
|
Java Spring
Spring框架的学习与应用
总的来说,Spring框架是Java开发中的一把强大的工具。通过理解其核心概念,通过实践来学习和掌握,你可以充分利用Spring框架的强大功能,提高你的开发效率和代码质量。
141 20
|
6月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot中使用拦截器——拦截器使用实例
本文主要讲解了Spring Boot中拦截器的使用实例,包括判断用户是否登录和取消特定拦截操作两大场景。通过token验证实现登录状态检查,未登录则拦截请求;定义自定义注解@UnInterception实现灵活取消拦截功能。最后总结了拦截器的创建、配置及对静态资源的影响,并提供两种配置方式供选择,帮助读者掌握拦截器的实际应用。
201 0
|
6月前
|
前端开发 JavaScript Java
微服务——SpringBoot使用归纳——Spring Boot中使用拦截器——拦截器的快速使用
本文介绍了在Spring Boot中使用拦截器的方法,包括拦截器的基本原理、定义与配置步骤。拦截器是AOP的一种实现,主要用于拦截对动态资源的请求,如判断用户权限或结合WebSocket使用。文章详细讲解了通过实现`HandlerInterceptor`接口来自定义拦截器,并重写`preHandle`、`postHandle`和`afterCompletion`三个核心方法。
1070 0
|
10月前
|
监控 Java 数据安全/隐私保护
如何用Spring Boot实现拦截器:从入门到实践
如何用Spring Boot实现拦截器:从入门到实践
448 5
|
10月前
|
前端开发 Java 开发者
Spring生态学习路径与源码深度探讨
【11月更文挑战第13天】Spring框架作为Java企业级开发中的核心框架,其丰富的生态系统和强大的功能吸引了无数开发者的关注。学习Spring生态不仅仅是掌握Spring Framework本身,更需要深入理解其周边组件和工具,以及源码的底层实现逻辑。本文将从Spring生态的学习路径入手,详细探讨如何系统地学习Spring,并深入解析各个重点的底层实现逻辑。
209 9
|
11月前
|
前端开发 Java 数据库
SpringBoot学习
【10月更文挑战第7天】Spring学习
121 9
|
11月前
|
XML Java 数据格式
Spring学习
【10月更文挑战第6天】Spring学习
79 1
|
11月前
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
437 2

热门文章

最新文章