码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC拦截器

时间:2018-08-04 20:21:21      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:处理   https   pre   sys   override   object   info   exce   post   

1、如何实现登录权限检查

 使用session进行约定值的检查

实现方法:

(1)使用Filter

(2)使用Spring的拦截器

拦截器组件简介:Spring MVC特有组件,可以在调用Controller之前拦截,也可以在调用Controller之后拦截,还可以在JSP解析完毕向浏览器输出之前拦截。

技术分享图片

先创建一个拦截器:

public class LoginInteceptor implements HandlerInterceptor{
    //请求处理完毕,输出之前
    @Override
    public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
        System.out.println("afterCompletion");
        
    }
    //进入Controller之后
    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
            throws Exception {
        System.out.println("postHandle");
        
    }
    //进入Controller之前
    @Override
    public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
        
        System.out.println("preHandle");
        //false代表请求被拦截截断,不会传递到Controller,true代表请求将继续传递至Controller
        return true;
    }

}

拦截器配置:

(1)只想拦截某一个请求:

<!-- 配置拦截器 -->    
    <mvc:interceptors>
       <mvc:interceptor>
          <mvc:mapping path="/hello.do"/>
          <bean class="com.zlc.inteceptor.LoginInterceptor"></bean>
       </mvc:interceptor>
    </mvc:interceptors>

(2)要拦截多个特定请求:

<!-- 配置拦截器 -->    
    <mvc:interceptors>
       <mvc:interceptor>
          <mvc:mapping path="/hello.do"/>
          <mvc:mapping path="/success.do"/>
          <bean class="com.zlc.inteceptor.LoginInterceptor"></bean>
       </mvc:interceptor>
    </mvc:interceptors>

(3)或者使用通配符,拦截某些请求,还可以使用<mvc:exclude-mapping path=""/>,排除某些请求的拦截

 <mvc:interceptors>
       <mvc:interceptor>        
          <mvc:mapping path="/*"/>
           <!-- 该请求不要拦截 -->
          <mvc:exclude-mapping path="/hello.do"/>
          <bean class="com.zlc.inteceptor.LoginInterceptor"></bean>
       </mvc:interceptor>
    </mvc:interceptors>

 

Spring MVC拦截器

标签:处理   https   pre   sys   override   object   info   exce   post   

原文地址:https://www.cnblogs.com/zlingchao/p/9419469.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!