SSM之SpringMVC拦截器/SpringMVC拦截器怎么实现?拦截器作用是什么?

本文详细介绍了SpringMVC中的拦截器,包括其作用、与过滤器的区别、拦截器方法及其执行流程。通过代码操作展示了如何创建、配置和测试拦截器,以及处理多个拦截器的顺序。最后强调了拦截器的层次拦截特性。
摘要由CSDN通过智能技术生成

写在前面
记录自己的SpringMVC学习之旅,若看不懂则建议先看前几篇博客,详细代码可在我的Gitee仓库ssm-learning克隆下载学习使用!

2.5 SpringMVC拦截器

2.5.1 Spring MVC拦截器的作用

拦截器(Interceptor)类似于Servlet中的过滤器Filter,用于对处理器进行预处理和后处理。
将拦截器按一定顺序连接成一条链,这条链称为拦截器链(Interceptor Chain)。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用,这也是AOP思想的体现。

2.5.2 拦截器与过滤器的区别

区别 使用范围 配置 拦截范围
过滤器Filter 是Servlet规范一种,可在任何Java Web项目使用 在web.xml文件中的url-pattern中配置/* 只有在配置后才对所有访问资源拦截
拦截器Interceptor 属于SpringMVC独有的,只可在使用其框架时使用 在SpringMVC.xml文件中配置mvc:mapping path=" "/> 在配置之后才可对所有资源进行拦截,但可通过<mvc:exculde-mapping path=""/>标签排除不需要拦截部分

2.5.3 拦截器方法

拦截器都是自定义的,但都要实现接口HandlerInterceptor,一般需要重写三个方法,即:

  • preHandle().目标方法执行前执行它,返回值为布尔类型,为false则不执行后面所有方法,一般用于判断访问时是否拥有许可证,防止恶意访问
  • postHandle().目标方法执行后执行,DispatcherServlet进行视图处理前执行,可对视图对象进行修改操作并返回
  • afterCompletion().整个拦截方法执行后执行,也就是DispatcherServlet进行视图处理后执行

注意:这三个方法都是AOP原理的具体体现,目标方法为切点,controller中方法为切面
执行流程:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值