码迷,mamicode.com
首页 > 编程语言 > 详细

springMvc的拦截器

时间:2016-08-25 23:51:57      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

本文中使用的是实现 HandlerInterceptor接口

1.自定义的拦截器:

/**
 * 拦截器 
 */
public class CustomerInterceptor implements HandlerInterceptor{

    /**
     * HandlerInterceptor接口中定义了三个方法
     * 执行顺序:
     * 1.preHandle:
     *     当请求过来时,会优先进入preHandle这个方法如果return true 请求放行,如果return false 请求立即终止
     * 2.执行要拦截的controller
     * 3.postHandle:
     *     当preHandle方法放回为true,且controller执行完成后会进入postHandle这个方法
     * 4.afterCompletion:
     *     当postHandle执行完成之后,执行afterCompletion方法
     */
    @Override
    public boolean preHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler) throws Exception {
        System.out.println("----开始拦截----");
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler,
            ModelAndView modelAndView) throws Exception {
        if(modelAndView!=null){
            modelAndView.addObject("date", new Date());
        }
        System.out.println("------拦截后处理1-----");
    }

    @Override
    public void afterCompletion(HttpServletRequest request,
            HttpServletResponse response, Object handler, Exception ex)
            throws Exception {
        System.out.println("------拦截后处理2-----");
    }

}

2.springMvc配置文件中添加如下的配置:

<mvc:interceptor> 可以配置多个
当配置多个时,按照 <mvc:interceptor> 的配置顺序,先执行第一个拦截器的preHandle,等所有的 preHandle 执行完后,
       在按照 <mvc:interceptor> 的配置顺序,先执行最后一个拦截器的 postHandle
<!-- 拦截器配置 -->
    <bean id="customerInterceptor" class="zpark.interceptor.CustomerInterceptor"/>
    
    <!-- 把拦截器加入到springMvc拦截体系中 -->
    <mvc:interceptors>
        <mvc:interceptor> 
            <!-- 要拦截的路径 -->
            <mvc:mapping path="/json/**"/>
            <!-- 引用自定义的拦截器 -->
            <ref bean="customerInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>

 

springMvc的拦截器

标签:

原文地址:http://www.cnblogs.com/liuconglin/p/5808531.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!