SpringMvc中的拦截器

拦截器

首先 他就是一个类 继承了 HandlerInterceptor接口

里面有三个方法

分别为: preHandle 、postHandle和 afterCompletion

当该拦截器拦截了某个方法 执行的顺序是:

preHandle -> 该方法 -> postHandle -> afterCompletion

该类(拦截器)要进行@Component注入

并且是在spring mvc中的配置文件去配置的 (这一点和过滤器不同 过滤器是在web.xml文件中配置的)

可以指定拦截哪些handler方法

默认配置是拦截所有的方法

也可以选择某些具体的方法

其中 在拦截器中 第一个方法 如果是return true;

方法目标正常被执行

如果是return false

该方法就不会执行 并且postHandle和 afterCompletion 也不会执行

此外 也可以有多个拦截器

执行顺序看配置文件中的配置先后顺序

比如有两个拦截器 分别为:拦截器1 拦截器2 且 在这两个拦截器中 第一个方法 均是return true;

那么执行顺序为 :

拦截器1的preHandle -> 拦截器2的preHandle -> 执行方法 拦截器2的 postHandle->

拦截器1的 postHandle -> 拦截器2的afterCompletion-> 拦截器1的afterCompletion

若其中 拦截器2的preHandle 返回return false 到此为止 不会执行handler方法 跳过 直接继续执行拦截器1的afterCompletion

若其中 拦截器1的preHandle 返回return false 到此为止 不会执行handler方法 也不会有任何后续

一旦出现return false 执行方法直接放弃执行

相关推荐
okseekw5 小时前
Java网络编程从入门到实战:吃透三要素,玩转CS/BS架构
java·后端·http
xing-xing5 小时前
Java大模型开发框架Spring AI
java·人工智能·spring
Coder_Boy_5 小时前
【DDD领域驱动开发】基础概念和企业级项目规范入门简介
java·开发语言·人工智能·驱动开发
小付爱coding5 小时前
本地部署dify教程【windows11版本】
java·ai·dify
y1y1z5 小时前
Spring Security教程
java·后端·spring
MYMOTOE65 小时前
ISC-3000S的U-Boot 镜像头部解析
java·linux·spring boot
CoderYanger5 小时前
A.每日一题——3606. 优惠券校验器
java·开发语言·数据结构·算法·leetcode
谷哥的小弟5 小时前
Spring Framework源码解析——ConfigurableEnvironment
java·spring·源码
毕设源码-郭学长5 小时前
【开题答辩全过程】以 基于SpringBoot的宠物医院管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端