springmvc 拦截器的基本信息和注意事项(HandlerInterceptor)


springmvc拦截器
主要是靠HandlerInterceptor类实现
先创建一个类实现拦截器接口,接口下有3个方法afterCompletion,postHandle,preHandle

拦截器方法的执行顺序

测试

拦截器类:

在这里插入图片描述

请求后台:

在这里插入图片描述

前台:

在这里插入图片描述
在这里插入图片描述

拦截器xml配置:

拦截器配置有2中方法:
第一种:bean中是拦截器的方法,拦截范围是代码全部范围
在这里插入图片描述
第二种:在interceptors标签内写interceptor标签,在里面,mapping是拦截的请求,bean是拦截器方法
在这里插入图片描述

测试结果

preHandle会在进入目标方法前运行,postHandle在目标方法运行后运行,afterCompletion会在请求完成后运行
在这里插入图片描述在这里插入图片描述

多个拦截器

当有多个拦截器时,执行顺序为先进第一个拦截器的prehandle方法,然后进第二个拦截器的prehandle方法,顺序按照配置文件配置顺序决定,当所有的prehandle方法跑完,会开始按从后往前顺序执行所有的posthandle方法,当posthandle方法跑完后,就会反向从后往前执行aftercompletion方法
在这里插入图片描述

注意事项

1.preHandle是Boolean类型的,只有传入true时,才会放行,要不然就会拦截在拦截器

在这里插入图片描述

2.如果进入方法后方法报错,只有postHandler会停止运行,afterCompletion会正常运行

3.拦截器运行中,一个拦截器不放行,剩下的拦截器都会停止运行,什么方法也不执行,也不会进入方法,但是已经放行的拦截器依旧会执行afterCompletion方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值