Spring拦截器HandlerInterceptor接口代码解析

 更新时间:2017年12月25日 09:43:00   作者:人圭先生  
这篇文章主要介绍了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接口代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • 虚拟机linux中jdk安装配置方法

    虚拟机linux中jdk安装配置方法

    这篇文章主要为大家详细介绍了虚拟机linux中jdk安装配置方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 浅谈线程的几种可用状态

    浅谈线程的几种可用状态

    下面小编就为大家带来一篇浅谈线程的几种可用状态。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Springboot源码 TargetSource解析

    Springboot源码 TargetSource解析

    这篇文章主要介绍了Springboot源码 TargetSource解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 详解MyBatis-Puls中saveBatch批量添加慢的问题

    详解MyBatis-Puls中saveBatch批量添加慢的问题

    本文主要介绍了详解MyBatis-Puls中saveBatch批量添加慢的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • java数组遍历 删除remove(示例代码)

    java数组遍历 删除remove(示例代码)

    java数组遍历 删除remove。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • SSH框架网上商城项目第8战之查询和删除商品类别功能实现

    SSH框架网上商城项目第8战之查询和删除商品类别功能实现

    SSH框架网上商城项目第8战之查询和删除商品类别功能实现,为项目增加功能,添加、更新、删除和查询操作,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 详解如何用Java去除HTML标签

    详解如何用Java去除HTML标签

    在平时工作中,偶尔会用 Java 做一些解析HTML的工作。有时需要删除所有的HTML标签,只保留纯文字内容。这个问题在做过一些爬虫工作的朋友来说很简单。下面来说说,我们平时使用到的集中解析的方法
    2022-12-12
  • 关于mybatis callSettersOnNulls 配置解析

    关于mybatis callSettersOnNulls 配置解析

    这篇文章主要介绍了关于mybatis callSettersOnNulls 配置,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2018-06-06
  • 详解Java springboot 整合Shiro框架

    详解Java springboot 整合Shiro框架

    这篇文章主要为大家介绍了Java springboot 整合Shiro框架,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Java咖啡馆(1)——叹咖啡

    Java咖啡馆(1)——叹咖啡

    这篇文章主要给大家介绍了关于Java咖啡馆之叹咖啡,需要的朋友可以参考下
    2006-12-12

最新评论