关于拦截器的执行顺序,附加源码分析

1. # 当有多个拦截器时, preHandle(都为true):

按照拦截器数组的正向顺序执行 postHandle:按照拦截器数组的反响顺序执行 afterCompletion:按照拦截器数组的反向顺序执行 ## 当多个拦截器的preHandle有不同的值时

第一个返回false,第二个返回false:

只有第一个preHandle会执行

第一个返回true,第二个返回false:

两个(全部)拦截器的preHandle都会执行 但是(全部)postHandle都不会执行,而afterCompletion只有第一个(返回false的拦截器之前的所有拦截器的afterCompletion)会执行

第一个返回false,第二个返回true

:只有第一个的preHandle会执行

package com.it.test;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestFirstInterceptor {

/*
*
*
* */
@RequestMapping(value = "/testInterceptor")
public  String  test(){

    return "success";
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值