Spring MVC拦截器的配置和使用

配置拦截器

在web工厂中通过interceptors标签配置

配置servlet.xml主配文件:

在这里插入图片描述
默认拦截所有请求,可以使用interceptor标签拦截指定请求

定义拦截器

方法Ⅰ:实现HandlerInterceptor接口

拦截器类:

  • 必须实现HandlerInterceptor接口;
  • 实现接口中的三个方法:preHandle、postHandle、afterCompletion

在这里插入图片描述

方法Ⅱ:继承适配器

适配器HandlerInterceptorAdapter空实现了HandlerInterceptor接口中的所有方法,因此,只需重写需要使用的方法

在这里插入图片描述

拦截器的执行流程

Spring MVC请求分派器拿到请求:

  1. 先将请求交给对应的拦截器,自动执行拦截器对象中的preHandle方法
  2. preHandle方法的返回值类型为boolean类型,如果返回false,请求终止。如果返回true,请求下传,传给下一个拦截器,最后将请求传给对应的后端控制器;

后端控制器返回处理结果和转向信息(ModelAndView):

  1. 调用拦截器的postHandle方法,获取ModelAndView,对结果信息和转向信息做进一步的处理;
  2. 处理完毕后,ModelAndView下传给下一个拦截器,最后将处理结果回传给请求分派器;

视图定位器组合转向信息,视图渲染完毕:

  • 将请求结果传给浏览器之前,调用拦截器的afterCompletion方法,一般用于释放资源。

说明:本文仅用作学习笔记,无其他用途,如有冒犯可联系本人删除

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值