拦截器

1.1    拦截器开发流程

1.1.1  创建拦截器

1.1.1.1 一号拦截器

/**

 * 自定义拦截器

 * @author Steven

 *

 */

public class MyInterceptor1 implements HandlerInterceptor {

//在Controller方法执行后被执行

    //处理异常、记录日志

    @Override

    public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)

           throws Exception {

       System.out.println("MyInterceptor1.afterCompletion.....");

    }

 

    //在Controller方法执行后,返回ModelAndView之前被执行

    //设置或者清理页面共用参数等等

    @Override

    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, 

Object arg2, ModelAndView arg3)

           throws Exception {

       System.out.println("MyInterceptor1.postHandle.....");

    }

 

    //在Controller方法执行前被执行

    //登录拦截、权限认证等等

    @Override

    public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {

      

       System.out.println("MyInterceptor1.preHandle.....");

      

       //返回true放行,false拦截

       return true;

    }

 

}

 

1.1.1.2 二号拦截器,复制一号,修改一下系统输出消息

1.1.2  配置拦截器

<!-- 拦截器定义 -->

    <mvc:interceptors>

       <!-- 定义一个拦截器 -->

       <mvc:interceptor>

    <!-- path配置</**>拦截所有请求,包括二级以上目录,</*>拦截所有请求,不包括二级以上目录 -->

           <mvc:mapping path="/**"/>

           <bean class="com.itheima.springmvc.interceptor.MyInterceptor1" />

       </mvc:interceptor>

      

       <!-- 定义一个拦截器 -->

       <mvc:interceptor>

           <!-- path配置</**>拦截所有请求,包括二级以上目录,</*>拦截所有请求,不包括二级以上目录 -->

           <mvc:mapping path="/**"/>

           <bean class="com.itheima.springmvc.interceptor.MyInterceptor2" />

       </mvc:interceptor>

    </mvc:interceptors>

1.1.3  测试流程,可参考教案

 

posted @ 2019-05-28 17:36  余温未散  阅读(147)  评论(0编辑  收藏  举报