转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7098753.html 

前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)

1.拦截器定义

Spring Web MVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。

定义拦截器,实现HandlerInterceptor接口。接口中提供三个方法。

seo优化培训,网络推广培训,网络营销培训,SEM培训,网络优化,在线营销培训

package joanna.yan.ssm.interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;public class HandlerInterceptor1 implements HandlerInterceptor{    //执行Handler完成执行此方法    //应用场景:统一异常处理,统一日志处理    @Override    public void afterCompletion(HttpServletRequest request,
            HttpServletResponse response, Object handler, Exception ex)            throws Exception {
        System.out.println("HandlerInterceptor1......afterCompletion");
    }    //进入Handler方法之后,返回modelAndView之前执行    //应用场景从modelAndView出发:将公用的模型数据(比如菜单导航)在这里传到视图,也可以在这里同意指定视图    @Override    public void postHandle(HttpServletRequest request, HttpServletResponse response,