Spring MVC拦截器入门

关于拦截器的理解

1、 HandlerInterceptorAdapter:

对请求进行拦截,做一些预处理、返回处理、后处理的操作。

SpringMVC中使用拦截器的方法,继承HandlerInterceptorAdapter类,并根据需求实现其中的preHandle方法(预处理)、postHandle方法(返回处理)、afterCompletion方法(后处理)。

(1)preHandle方法(预处理):

当请求来的时候,先经过applyPreHandle,内部会按照顺序获取所有的拦截器,并依次拦截。当进入拦截器链中的某个拦截器,会执行preHandle方法。

当该方法返回值为false的时候,从当前的拦截器往回执行所有拦截器中的afterCompletion方法,再退出拦截器链。

当该方法返回值为true时,执行下一个拦截器,直至拦截器全部执行完。然后再执行被拦截的controller,之后再进入拦截器链运行所有拦截器的postHandle方法,完成后从最后一个拦截器往回执行所有的afterCompletion方法。

(2)postHandle方法(返回处理)

(3)afterCompletion方法(后处理)

应用:拦截开发者;对加密数据进行解密。

在xml文件中设置:

 

 

2、HandlerMethodArgumentResolver:

在supportsParameter方法中判断请求参数是否HandlerMethodArgumentResolver所支持,方法参数MethodParameter里面包含了请求参数的信息。比如在supportsParameter方法如果请求参数有某个注解,那么该请求可以被HandlerMethodArgumentResolver支持,就会按照resolveArgument中的方法来处理请求参数。

 

xml中配置如下:

 

posted @ 2018-07-12 13:34  陈陈陈chen  阅读(1552)  评论(0编辑  收藏  举报