- 什么是拦截器
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 渲染了对应的视图之后执行,可用于清理资源
相关文章
- python中的 迭代器(如同遍历一般理解)
- scrapy中的meta参数的使用
- Linux APP查询驱动的方式归类总
- WPF的DataGrid的某个列绑定数据的三种方法(Binding、Converter、DataTrigger)
- 已从数据文件中读取学生信息,建立了带头结点的学生链表。编写int count(LinkNode* head,int sex)......
- jq中数组应用的错误
- 已创建了一个包含学生学号、身高、性别的学生身高信息表并输出到屏幕,学生信息从文件读取。 编写一个函数 void reverse(Seqlist *lp); 功能是对已建立的学生身
- 教你轻松在React Native中集成统计(umeng)的功能(最新版)
- 重装ubuntu20.04第一次进系统出现网络连接失败的问题
- 使用doxc4j将word转pdf遇到的一个问题