zoukankan      html  css  js  c++  java
  • SpringMVC 学习笔记(拦截器的配置))

      在设置SpringMVC的拦截器时,需要在SpringMVC中配置 拦截器对象,拦截器的的对象要 实现 HandlerInterceptor 接口

      拦截器类的设置:

    public class interceptor implements HandlerInterceptor {
        // 处理器(Handler)执行完请求 后 ,执行该拦截方法
        // 应用场景:统一异常处理,统一日志处理
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object arg2, Exception arg3)
                throws Exception {
            
            
        }
    
        // 请求进入 Handler 之后,Handler 返回ModelAndView 之前 执行此拦截方法
        // 应用场景:从ModelAndView出发:将公用的模型数据(比如菜单导航栏)在这里传到视图,也可以在这里统一指定视图
        public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
                throws Exception {
            // TODO Auto-generated method stub
            
        }
    
        //进入 Handler方法之前执行
        //应用场景:用于身份认证(登录认证)、身份授权(权限校验)
        //此方法返回false表示拦截,不向下执行,返回true表示放行
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception {
            String name = request.getParameter("name");
            String pwd = request.getParameter("pwd");
            if("admin".equals(name) && "admin".equals(pwd)){
                return true;
            }
            return false;
        }
    
    }

    拦截器对象的配置:

    <!--配置拦截器的相关设置  -->
            <mvc:interceptors>
                <!-- 配置一个拦截器 -->
                <mvc:interceptor>
                    <!--配置拦截器需要拦截的请求  -->
                    <mvc:mapping path="/login.action"/>
                    <!-- 执行拦截操作的对象 -->
                    <bean class="controller.interceptor.interceptor1"></bean>
                </mvc:interceptor>
                <!--如配置多个拦截器  按顺序执行 即请求从上一个拦截器执行完毕后(同一方法;如:preHandler),再进入下个拦截器  -->
                <mvc:interceptor>
                    
                    <mvc:mapping path="/login.action"/>
                    
                    <bean class="controller.interceptor.interceptor2"></bean>
                </mvc:interceptor>
            </mvc:interceptors>
  • 相关阅读:
    poj 2777 Count Color
    poj 3264 Balanced Lineup
    hdu 1754 I hate it
    poj 3468 A Simple Problem with Integers
    noip 2013 提高组 Day2 部分题解
    [c/c++]指针(2)
    [c/c++]指针(1)
    vijos 1360 八数码问题
    [复习]快速幂算法
    noip 2013 提高组 day1
  • 原文地址:https://www.cnblogs.com/lhblogs/p/7489139.html
Copyright © 2011-2022 走看看