Spring拦截器
2021-04-26 19:10:40 9 举报
Spring拦截器
作者其他创作
大纲/内容
postHandle()
注入容器
有了拦截器的类之后还需要注册拦截器,编写一个类继承WebMvcConfigurationSupport(或者实现WebMvcConfigurer),并重写addInterceptors来注册拦截器。多个拦截器的执行顺序取决于拦截器注册的顺序。
@Configuration会创建代理,每次调用时MyInterceptro()都是获取同一个bean
afterCompletion()
拦截器的实现方法:1、实现Spring的HandlerInterceptor接口2、继承Spring的HandlerInterceptorAdapter类(HandlerInterceptorAdapter实现了HandlerInterceptor接口)
preHandle()
HandlerInterceptor接口的三个方法:1、preHandle():这个方法在业务处理器处理请求之前被调用,SpringMVC中的Interceptor是链式调用的,该方法返回false时表示请求结束,后续的Interceptor和Controller都不会再执行,当返回true时就会调用下一个Interceptor的preHandle()方法。如果已经是最后一个Interceptor时会调用当前请求的Controller方法。2、postHandle():在Controller方法调用之后执行,但是它会在DispatcherServlet进行视图返回之前被调用,所以可以在这个方法中对Controller处理后的ModelAndView对象进行操作。3、afterCompletion():preHandle()方法返回值为true时才会执行。
HandlerInterceptor2(后注册)
HandlerInterceptor1(先注册)
0 条评论
下一页