springmvc 14 攔截器

自定義攔截器

1. 自定義的攔截器實現(xiàn)HandlerInterceptor接口

public class FirstInterceptor implements HandlerInterceptor {

    @Override
    public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
        System.out.println("firstInterceptor->afterCompletion");
    }
    /* 渲染視圖后調用*/

    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
            throws Exception {
        System.out.println("firstInterceptor->postHandle");     
    }
    /* 目標方法執(zhí)行后調用
     * 但是此時還沒有渲染視圖*/
    
    @Override
    public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
        System.out.println("firstInterceptor->preHandle");
        return true;
    }
    /* 目標方法執(zhí)行前調用 :
     * 如果返回false,那么將不再繼續(xù)*/

}

2. 在springmvc中配置攔截器

<mvc:interceptors>
        <bean class="interceptor.FirstInterceptor"></bean>
        
        <!-- 配置(不)攔截的路徑 -->
        <mvc:interceptor>
            <mvc:mapping path="/testInterceptor"/><!-- secondInterceptor攔截的路徑 -->
            <mvc:exclude-mapping path="/other"/><!-- secondInterceptor不攔截的路徑 -->
            <bean class="interceptor.SecondInterceptor"></bean>
        </mvc:interceptor>
            
    </mvc:interceptors>

3. 攔截器的執(zhí)行順序

firstInterceptor->preHandle
secondInterceptor->preHandle
testInterceptor
secondInterceptor->postHandle
firstInterceptor->postHandle
secondInterceptor->afterCompletion
firstInterceptor->afterCompletion
Paste_Image.png

如果某個preHandle方法返回了false,那么其后面的方法都沒有機會再執(zhí)行,除了比該攔截器優(yōu)先級高的afterCompletion方法除外

Paste_Image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 姓名: 李小娜 [嵌牛導讀]: SpringMVC 中的Interceptor 攔截器也是相當重要和相當有用的,...
    n184閱讀 3,305評論 0 4
  • 一、攔截器入門(工程springmvc-mybatis10) 1.1 攔截器的定義 HandlerIntercep...
    yjaal閱讀 1,164評論 1 8
  • 前言:一年前看視頻學習這個框架的時候做的筆記。?!,F(xiàn)在自己看來覺得還是有點蛋疼。。。想了想還是放上來了,萬一開發(fā)要...
    l_sivan閱讀 753評論 0 7
  • 各位簡友,欣賞更多的歐美經(jīng)典音樂,請關注公眾號:MusicLoves 公眾號MusicLoves,匯總了小編從做音...
    三羊洋閱讀 453評論 0 0

友情鏈接更多精彩內容