在运行程序时,拦截器的执行是有一定顺序的,该顺序与配置文件中所定义的拦截器的顺序相关。
接下来分析一下拦截器的执行流程
单个拦截器的执行流程:
CustomerInterceptor(preHandle)
----------return true--------->
HandlerAdapter(handle)
------------------------------->
CustomerInterceptor(postHandle)
-------------------------------->
DispatcherServlet(render)
--------------------------------->
CustomerInterceptor(afterCompletion)
程序先执行preHandle()方法,如果该方法的返回值为true,则程序会继续向下执行处理器中的方法,否则将不再向下执行
---------------------------------》
在业务处理器(即控制器类Controller类)处理完请求后,会执行postHandle()方法,然后会通过DispatcherServlet向客户端返回响应
------------------------------》
在DispatcherServlet处理完请求后,才会执行afterCompletion()方法
单个拦截器的执行流程随笔
最新推荐文章于 2022-09-14 10:19:20 发布