1.根据当前请求,找到HandlerExecutionChain【可以处理请求的handler以及handler的所以拦截器】
2.先来顺序执行所有的preHandle方法
- 如果当前拦截器prehandle返回true,则执行下一个拦截器的preHandle
- 如果当前拦截器返回false。直接倒序执行已经执行了的拦截器afterCompletion;
3.如果任何一个拦截器返回false。直接跳出不执行目标方法
4.所有拦截器都返回true。执行目标方法
5.倒序执行所有拦截器的postHandle方法
6.前面的步骤有任何异常都会直接倒序触发afterCompletion
7.页面成功渲染完成后,也会倒序触发afterCompletion
雷丰阳2021版SpringBoot2零基础入门springboot全套完整版(spring boot2)_哔哩哔哩_bilibili



