SpringMVC-----SpringMVC 拦截
文章目录
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🍎合抱之木,生于毫末;百丈之台,起于垒土;千里之行,始于足下。------《老子》
🍊今日学习任务!!!!!
🍊1、什么是拦截器?
🍊2、拦截器和过滤器的区别?
🍊3、实现拦截器
🍊4、定义全局拦截器
🍊5、多个拦截器的执行顺序
🔥 一、拦截器简介
🌙1.1、拦截器简介
Spring MVC 的拦截器(Interceptor)与 Servlet 的过滤器(Filter)类似,它主要用于拦
截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用户是否
登录等功能上
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🌙1.2、拦截器执行流程
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🌙1.3、拦截器和过滤器的区别
🍎1、 拦截器是 SpringMVC 组件,而过滤器是 Servlet 组件。
🍊2、 拦截器不依赖容器,过滤器依赖容器。
🍊3、 拦截器只能对控制器请求起作用,而过滤器则可以对所有的请求起作用。
🍊4、 拦截器可以获取 IOC 容器中的各个 bean,而过滤器就不太方便
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🌙1.4、定义拦截器
🍎 在 Spring MVC 中定义一个拦截器需要对拦截器进行创建和配置。创建拦截器时需要实
现 HandlerInterceptor 接口
🍎在 HandlerInterceptor 接口中包含了三个抽象方法,分别表示拦截的时间点。
🍊1、preHandle
方法方法在控制器的处理请求方法前执行,其返回值表示是否中断后续操作,返回 true表示继续向下执行,返回 false 表示中断后续
🍊2、afterCompletion
方法在控制器的处理请求方法执行之后、视图解析之前执行,可以通过此方法对请求域中的模型和视图做进一步的修改。
🍊3、afterCompletion
方法在控制器的处理请求方法执行完成后执行,即视图渲染结束后执行,可以通过此方法实现一些资源清理、记录日志信息等工作
✨✨✨✨