zoukankan      html  css  js  c++  java
  • springMvc 拦截器实现

    1、登录拦截类代码

    package com.login;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    public class Login implements HandlerInterceptor{
    
    
        /**
         * 在controller执行之后的DispatcherServlet之后执行
         * */
        @Override
        public void afterCompletion(HttpServletRequest httpRequest,
                                    HttpServletResponse httpResponse, Object arg2, Exception arg3)
                throws Exception {
            System.out.println("在controller执行之后的DispatcherServlet之后执行");
        }
    
        /**
         * 在controller执行之后的DispatcherServlet之后执行
         * */
        @Override
        public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
                               Object arg2, ModelAndView arg3) throws Exception {
            System.out.println("在controller执行之后的DispatcherServlet之后执行");
    
        }
    
        /**
         * 在DispatcherServlet之前执行
         * */
        @Override
        public boolean  preHandle(HttpServletRequest request, HttpServletResponse response,
                                 Object object) throws Exception {
    
               // System.out.println("在DispatcherServlet之前执行");
               // return true;
    
    
           // response.sendRedirect("/olForum/forumList.html?login=aaa");
            response.sendRedirect("/login/index");
            return false;
    
        }
    
    }
    

      2、 spring配置文件中 配置拦截相关操作

    <!--拦截器-->
     <mvc:interceptors>
           <!--使用 bean 定义一个 Interceptor,直接定义在 mvc:interceptors 下面的 Interceptor 将拦截所有的请求-->
           <!--<bean class="com.login.Login"/>-->
            <mvc:interceptor>
                <mvc:mapping path="/*/*"/>
                <!--不拦截的请求-->
                <mvc:exclude-mapping path="/login/index"/>
            <!-- 定义在 mvc:interceptor 下面的 Interceptor,表示对特定的请求进行拦截-->
                <bean class="com.login.Login"/>
            </mvc:interceptor>
        </mvc:interceptors>
    

      

  • 相关阅读:
    Sketch 画原型比 Axure 好用吗?为什么?
    ps高级磨皮的7个步骤
    算法竞赛入门经典_第二章:循环结构程序设计_上机练习_MyAnswer
    文件操作 & 重定向
    阶乘之和 & 程序运行时间 & 算法分析
    《数据结构与算法分析:C语言描述_原书第二版》CH3表、栈和队列_reading notes
    TIJ——Chapter Two:Everything Is an Object
    LeetCode Reverse Linked List
    LeetCode Contains Duplicate
    LeetCode Contains Duplicate II
  • 原文地址:https://www.cnblogs.com/cyrfr/p/9274412.html
Copyright © 2011-2022 走看看