首先 我们想使用拦截器 要在application.xml中进行如下配置:
这里这个MyInterceptor是我们自己写的拦截器,如下
功能如上图 我们接下来分析一下源码,详述一下 拦截器中每个方法的作用
preHandle方法
如上面两张图所示,就找到了我们自定义拦截器中的preHandler方法
如果我们自己写的preHandler方法返回结果为false,则doDispatch方法中红框内的条件判断为true,则return跳过doDispatch方法,不再执行,所以这个preHandler方法通常用来做设置权限
postHandler方法
如上图,若果applyPreHandler判断为false
则先执行handler方法,然后将返回的视图,传入我们的applyPostHandler方法中 ,遍历出我们的拦截器,然后调用我们拦截器中的postHandler方法
因为此时请求发出,执行完Controller层方法之后还没有响应在页面上,所以此时我们可以通过这个postHandler方法对mv视图进行一下处理再响应至显示页面上
afterCompletion方法
出现异常释放资源用
来源:CSDN
作者:S_Tian
链接:https://blog.csdn.net/S_Tian/article/details/104559328