15,SpringMVC中添加Interceptor (JavaConfig方式)
来源:互联网 发布:淘宝代付一天多少次 编辑:程序博客网 时间:2024/06/05 06:54
HandlerInterceptor接口简介
在SpringMVC中使用自拦截器时需要实现HandlerInterceptor接口,该接口有三个方法:preHandle,postHandle,afterCompletion。一个工程中可以配置多个拦截器,这些拦截器按照先后顺序添加到配置中后就形成了Interceptor chain。执行顺序:Interceptor1.preHandle->Interceptor2.preHandle->HandlerAdaptor->Interceptor2.postHandle->Interceptor1.postHandle->渲染View->Interceptor2.afterCompletion->Interceptor1.afterCompletion。其中HandlerAdapter负责处理请求并返回数据和视图。注意以上执行顺序是preHandle都返回true的情况,当Interceptor2.preHandle返回false时则直接跳到Interceptor1.afterCompletion,即前一个拦截器的afterCompletion。
另外,如果不是需要实现HandlerInterceptor的三个接口时,可以使用HandlerInterceptorAdaptor接口。在该接口中可以只指定单个方法的实现。
实现代码
自定义拦截器:
public class MyInterceptor implements HandlerInterceptor {@Overridepublic void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)throws Exception {System.out.println("after");}@Overridepublic void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)throws Exception {System.out.println("post");}@Overridepublic boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {System.out.println("pre");return true;}}
拦截器配置:
在继承于WebMvcConfigurerAdapter的子类WebConfig(自己的类)中重写addInterceptors方法。
@Overridepublic void addInterceptors(InterceptorRegistry registry) {// TODO Auto-generated method stubregistry.addInterceptor(new MyInterceptor()).addPathPatterns("/mvc/*");}
阅读全文
0 0
- 15,SpringMVC中添加Interceptor (JavaConfig方式)
- SpringMVC中添加Interceptor拦截器
- SpringMVC:Maven构建SpringMVC简单配置(JavaConfig版)
- SpringMVC:Maven构建SpringMVC简单配置(JavaConfig+web.xml)
- 【springMVC】springMVC中使用Interceptor拦截器
- SpringMVC JavaConfig配置
- SpringMVC拦截器(Interceptor)
- SpringMVC form表单中文乱码解决方案(基于JavaConfig)
- SpringMVC--Interceptor
- SpringMVC-interceptor
- SpringMVC Interceptor
- SpringMVC中使用Interceptor拦截器
- SpringMVC中使用Interceptor拦截器
- SpringMVC中使用Interceptor拦截器
- SpringMVC中使用Interceptor拦截器
- SpringMVC中使用Interceptor拦截器
- SpringMVC中使用Interceptor拦截器
- SpringMVC中使用Interceptor拦截器
- JS获取客户端IP地址、MAC和主机名的方法汇总
- 第十一篇 文件的打包压缩与备份
- PythonTip--8.3
- HDU 2112 HDU Today
- CC2640R2F BLE5.0 蓝牙协议栈GAPRole 任务
- 15,SpringMVC中添加Interceptor (JavaConfig方式)
- rocketmq-remoting源码分析NettyRemotingClient
- 以太坊开发:如何在Windows下开发一个简易Dapp
- 淘宝定时任务 tbschedule实战
- IPMB接口协议总结
- HTTPS协议和原理
- Event事件处理机制和原理
- Java JDK 动态代理(AOP)使用及实现原理分析
- Spring: InitializingBean的作用