Spring拦截器实现HandlerInterceptor接口代码解析

网友投稿 149 2024-02-02


Spring拦截器实现HandlerInterceptor接口代码解析

本文讲解"Spring拦截器实现HandlerInterceptor接口代码解析",希望能够解决相关问题。

Spring的HandlerMapping支持拦截器,拦截器必须实现HandlerInterceptor接口,此接口里面有下面3中方法:

1.preHandle()处理器执行前被调用,方法返回true标识继续调用其他拦截器或者处理器,返回false表示中断流程,后续的拦截器和处理器不再执行。

2.postHandle()处理器执行后,视图执行前调用,此时而已通过ModelAndView对象对数据模型数据进行处理或对视图进行处理。

3.afterCompletion()整个过程结束后调用,比如性能监控中我们在这里可以记录结束时间并输出消耗的时间,也可以在这里写对资源的清理,但是只有preHandle()返回true时才会执行afterCompletion方法。

public class someInterceptor implements HandlerInterceptor{  public boolean preHandle(HttpServletRequest req,HttpServletResponse resp,Object handler)throws Exception{   //TODO 处理器执行前被调用   return true;  }  publilc void postHandle(HttpServletRequest req,HttpServletResponse resp,Object handler,ModelAndView mv)throws Exception{   //TODO 处理器执行后被调用  }  public void afterCompletion(HttpServletRequest req,HttpServletResponse resp,Object handler,Exception e)throws Exception{   //TODO全部执行完成后调用  } }

这个自定义的拦截器实现HandlerInterceptor接口就要实现接口里所有的方法,如果只想使用某一种方法,可以继承HandlerInterceptorAdapter.

拦截器的配置

<mvc:interceptors>  <mvc:interceptor>   <mvc:mapping path="/org/*"/>   <mvc:exclude-mapping path="/login/*"/>   <bean class="org.vipcpi.interceprot.someInterceptor"/>  </mvc:interceptor> </mvc:interceptors>

关于 "Spring拦截器实现HandlerInterceptor接口代码解析" 就介绍到此。希望多多支持编程宝库。

Java编程技术

HandlerInterceptor如何在springMVC中使用:本文讲解"HandlerInterceptor怎么在springMVC中使用",希望能够解决相关问题。一、HandlerInterceptor用法第一步:注册拦截器< ...


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:接口测试工具和流程以及接口类型的介绍
下一篇:C#接口的示例分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~