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>

     

     

     

  • 相关阅读:
    Java实现 LeetCode 101 对称二叉树
    编写在浏览器中不弹出警告的ActiveX控件
    ocx控件避免弹出警告的类--2
    修改注册表添加IE信任站点及启用Activex控件
    让动态创建的ActiveX控件响应Windows消息
    source code analyzer 功能强大的C/C++源代码分析软件 Celerity CRACK 破解版
    分析函数调用关系图(call graph)的几种方法
    用CodeViz绘制函数调用关系图(call graph)
    C++的辅助工具介绍
    局域网入侵的方法
  • 原文地址:https://www.cnblogs.com/huahualove/p/13626938.html
Copyright © 2011-2022 走看看