切面编程(2)
2017-11-07 13:56
99 查看
请求响应拦截器:HandlerInterceptorAdapter
一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可以实现Bean预处理、后处理。
Spring MVC的拦截器不仅可实现Filter的所有功能,还可以更精确的控制拦截精度。
Spring为我们提供了org.springframework.web.servlet.handler.HandlerInterceptorAdapter这个适配器,继承此类,可以非常方便的实现自己的拦截器。
一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可以实现Bean预处理、后处理。
Spring MVC的拦截器不仅可实现Filter的所有功能,还可以更精确的控制拦截精度。
Spring为我们提供了org.springframework.web.servlet.handler.HandlerInterceptorAdapter这个适配器,继承此类,可以非常方便的实现自己的拦截器。
public class RequestInterceptor extends HandlerInterceptorAdapter{ //可以进行编码、安全控制等处理 //该方法会在Controller的方法执行前会被调用,可以使用这个方法来中断或者继续执行链的处理,当返回true时,处理会继续,当返回false时,则不会去执行Controller的方法。 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { return true; } //在代码处理后会调用该方法,那么我们就可以在render view之前往view中添加额外的model对象,或者对view的去处进行修改 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("拦截响应"+modelAndView.getViewName()); super.postHandle(request, response, handler, modelAndView); } //异常处理 @Override public void afterCompletion(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse, Object obj, Exception exception) throws Exception { // TODO Auto-generated method stub super.afterCompletion(httpservletrequest, httpservletresponse, obj, exception); } }在xml配置该拦截器
<mvc:interceptors> <mvc:interceptor> <!-- 默认所有的请求都进行拦截 --> <mvc:mapping path="/*" /> <bean class="com.cn.cis.interceptor.RequestInterceptor" /> </mvc:interceptor> </mvc:interceptors>
相关文章推荐
- 【spring-boot】spring aop 面向切面编程初接触--切点表达式
- Spring 面向切面编程AOP
- spring aop 切面编程控制管理事务
- Spring AOP:使用NameMatchMethodPointcutAdvisor实现切面编程
- 切面编程的几个概念(转)
- 动态代理和AOP切面编程
- js实现面向切面的编程(AOP)
- Spring_aop切面编程
- 面向切面编程的介绍和使用(Spring框架)
- 使用Spring进行面向切面(AOP)编程
- Spring 面向切面编程AOP
- Spring的AOP-面向切面编程
- AOP 横行切面编程和 纵向编程 介绍
- spring-aop---AspectJ注解式切面编程。
- 使用Spring进行切面(AOP)编程
- 面向切面编程AOP的浅显理解(三)
- java+spring切面编程(aop)spring控制反转(ioc)+hibenrate对象关系映射(ORM) 学习网址
- Java乔晓松-基于注解的面向AOP(切面)编程
- 深入分析JavaWeb 53 -- Spring中的AOP面向切面编程1
- spring_由注解实现AOP面向切面编程_实现动态代理