SpringMVC详述拦截器

与世无争的帅哥 提交于 2020-02-28 19:11:28

首先 我们想使用拦截器 要在application.xml中进行如下配置:
在这里插入图片描述

这里这个MyInterceptor是我们自己写的拦截器,如下

在这里插入图片描述

功能如上图 我们接下来分析一下源码,详述一下 拦截器中每个方法的作用

preHandle方法

在这里插入图片描述

在这里插入图片描述

如上面两张图所示,就找到了我们自定义拦截器中的preHandler方法

如果我们自己写的preHandler方法返回结果为false,则doDispatch方法中红框内的条件判断为true,则return跳过doDispatch方法,不再执行,所以这个preHandler方法通常用来做设置权限

postHandler方法

在这里插入图片描述

如上图,若果applyPreHandler判断为false

则先执行handler方法,然后将返回的视图,传入我们的applyPostHandler方法中 ,遍历出我们的拦截器,然后调用我们拦截器中的postHandler方法
在这里插入图片描述

因为此时请求发出,执行完Controller层方法之后还没有响应在页面上,所以此时我们可以通过这个postHandler方法对mv视图进行一下处理再响应至显示页面上

afterCompletion方法

出现异常释放资源用
在这里插入图片描述

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!