zoukankan      html  css  js  c++  java
  • springMVC拦截器使用

    新建一个类,实现

    HandlerInterceptor 接口

    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class MyInterceptor implements HandlerInterceptor {
        /*preHandler方法会[早于]控制器中的方法先执行
        如果该方法返回false,则不执行控制器的方法(相当于之前没有执行放行代码)
        返回true,则继续执行控制器的方法
        * */
        @Override
        public boolean preHandle(HttpServletRequest httpServletRequest,
                                 HttpServletResponse httpServletResponse,
                                 Object o) throws Exception {
            System.out.println("MyInterceptor的preHandler方法被执行了");
            return true;
        }
        /*
        * postHandle方法[晚于]控制器方法执行-1
        * 控制器方法执行完,在准备跳转页面之前,先执行该方法,此时ModelAndView中存储着控制器要跳转的页面路径和
        * 存储作用域数据*/
        @Override
        public void postHandle(HttpServletRequest httpServletRequest,
                               HttpServletResponse httpServletResponse,
                               Object o, ModelAndView modelAndView) throws Exception {
            System.out.println("MyInterceptor的postHandle方法被执行了");
        }
        /*afterCompletion
        * 方法[晚于]控制器方法执行-2
        * 等页面跳转渲染了才会执行*/
        @Override
        public void afterCompletion(HttpServletRequest httpServletRequest,
                                    HttpServletResponse httpServletResponse,
                                    Object o, Exception e) throws Exception {
            System.out.println("MyInterceptor的afterCompletion方法执行了");
        }
    }

    在mvc.xml配置控制器

    <!--拦截器相关配置-->
        <mvc:interceptors>
            <mvc:interceptor>
                <!--指定要拦截器的请求路径
                /* 只能拦截器http://ip地址:8081/项目名/test3.do请求
                /** 拦截所有请求
                -->
                <mvc:mapping path="/**"/>
                <!--exclude(排除)排除一些不拦截的请求路径
                 <mvc:mapping path=""/>
                -->
               <!--拦截器的全类名-->
                <bean class="com.test.MyInterceptor"/>
            </mvc:interceptor>
        </mvc:interceptors>

     

     

     

  • 相关阅读:
    [BZOJ2324][ZJOI2011]营救皮卡丘
    P4324 [JSOI2016]扭动的回文串
    P5068 [Ynoi2015]我回来了
    P4412 [SHOI2004]最小生成树
    bzoj3118: Orz the MST(线性规划+单纯形法)
    bzoj3265: 志愿者招募加强版(线性规划+单纯形法)
    bzoj3550: [ONTAK2010]Vacation(单纯形法+线性规划)
    uoj#179. 线性规划
    P2093 [国家集训队]JZPFAR(KDTree)
    P3538 [POI2012]OKR-A Horrible Poem
  • 原文地址:https://www.cnblogs.com/huahualove/p/13626938.html
Copyright © 2011-2022 走看看