zoukankan      html  css  js  c++  java
  • 自定义拦截器

    springmvc配置文件中

    1 <!-- 自定义拦截器 -->
    2     <mvc:interceptors>
    3         <mvc:interceptor>
    4             <!-- 2个*代表包含子目录 -->
    5             <mvc:mapping path="/**/*.action"/>
    6             <bean class="cn.study.springmvc.interceptor.MyHandlerInterceptor" />
    7         </mvc:interceptor>
    8     </mvc:interceptors>

    拦截器代码

    自动以我们的拦截器,要实现org.springframework.web.servlet.HandlerInterceptor

     1 public class MyHandlerInterceptor implements HandlerInterceptor{
     2 
     3     /**
     4      * 前置方法,会在handler执行之前执行
     5      */
     6     @Override
     7     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
     8             throws Exception {
     9         System.out.println("前置方法 执行 。。。。。。。。");
    10         return true;
    11     }
    12 
    13     /**
    14      * 后置方法,会在handler执行之后执行
    15      */
    16     @Override
    17     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
    18             ModelAndView modelAndView) throws Exception {
    19         System.out.println("后置方法 执行 。。。。。。。。");
    20     }
    21 
    22     /**
    23      * 完成方法
    24      */
    25     @Override
    26     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
    27             Exception ex) throws Exception {
    28         System.out.println("完成方法 执行 。。。。。。。。");
    29     }
    30 
    31 }

    总结:

    l 拦截器的执行过程和Struts2的拦截器执行过程类似;

    l 拦截器的前置方法是正序执行,如果其中一个返回false则请求返回;

    l 拦截器的后置方法是倒序执行,后置方法只有在前置方法全部执行后才能被执行;

    l 拦截器的完成方法是倒序执行,完成方法不仅是在最后执行,而且如果前置方法返回false也会被执行(已经通过执行的拦截器的完成方法)。

  • 相关阅读:
    MYSQL--事务处理
    phpStudy + JspStudy 2014.10.02 下载
    ThinkPHP实现跨模块调用操作方法概述
    ThinkPHP整合百度Ueditor图文教程
    PHP获取今天、昨天、明天的日期
    获取客户端IP地址定位城市信息
    samba服务器概述
    Linux下好玩的命令
    一张网页的旅行
    PHP获取中英文混合字符串长度及截取
  • 原文地址:https://www.cnblogs.com/yangh965/p/5126819.html
Copyright © 2011-2022 走看看