- 什么是拦截器
java里的拦截器是动态拦截action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式。在AOP(Aspect-Oriented Programming)中拦截器用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。 - 为什么要使用拦截器
如果具有这样一个需求,就是用户未登陆的拦截,接口的幂等性等,我们可以使用springmvc的拦截器为我们做到。实现接口HandlerInterceptor接口,需要实现3个方法,或者实现WebRequestInterceptor 接口,需要实现的方法和介绍。 -
需要实现的方法
preHandler : 是controller的前置方法,当方法返回false整个请求就结束了。 多个Interceptor,然后SpringMVC会根据声明的前后顺序一个接一个的执行,而且所有的Interceptor中的preHandle方法都会在 。WebRequestInterceptor 和 HandlerInterceptor的preHandler的方法的区别就在与webRepuestInterceptor的preHandler的方法是没有拦截的功能,是没有返回值的。postHandle : 就是在当前请求进行处理之后,也就是Controller 方法调用之后执行,但是它会在DispatcherServlet 进行视图返回渲染之前被调用,
afterHandler : 该方法将在整个请求结束之后,也就是在DispatcherServlet 渲染了对应的视图之后执行,可用于清理资源
相关文章
- SpringMVC学习系列(11) 之 表单标签
- 【狂神说Java】SpringMVC详细笔记(全)
- SpringMVC源码情操陶冶-DispatcherServlet父类简析
- springmvc的ModelAndView的简单使用
- 关于springmvc下服务器文件打包成zip格式下载功能
- SpringMVC +mybatis+spring 结合easyui用法及常见问题总结
- day01-SpringMVC基本介绍-01
- Spring+SpringMVC+Mybatis搭建Maven项目详解
- SpringMVC创建web项目基础之(二)——Spring MVC与Mybatis整合详解
- Spring Boot干货系列:(六)静态资源和拦截器处理