SpringMVC学习笔记(八)--拦截器

目录

一、实现原理

二、栗子

2.1 思路分析

2.2 代码展示 

2.3 结果展示

三、通配符

四、多个拦截器

4.1 第一个放行,第二个不放行

4.2 两个都放行

4.3 第一个不放行,第二个则无效

 


一、实现原理

我们先回顾一下springMVC流程图,前置控制器向处理器映射器发请求查找处理器后,返回的是一个执行链(包括一系列的拦截器)。Spring MVC中拦截器类似于Servlet中的过滤器,用于对处理器的预处理或者后处理。其拦截器的接口是:HandlerInterceptor。

 在企业开发,使用拦截器实现用户认证(用户登陆后进行身份校验拦截),用户权限拦截和方法性能监控等。

 


二、栗子

2.1 思路分析

方法一:

定义一个类,实现HandlerInterceptor接口。

  1. 定义一个类,实现HandlerInterceptor接口
  2. 实现接口的三个方法preHandle、postHandle、afterCompletion
  3. 配置核心文件dispatch-servlet.xml

preHandle:进入处理器之前执行,拦截作用。通常用于身份认证、授权。

postHandle:进入控制器之后,返回ModelAndView之前。从ModelAndView出发 ,可以传数据到页面,可以指定统一的视图,比如淘宝的菜单栏导航。

afterCompletion:控制器执行完之后。通常用于异常处理、日志处理。

方法二:

继承实现了HandlerInterceptor接口的类,比如Spring已经提供的实现了HandlerInterceptor接口的抽象类HandlerInterceptorAdapter。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值