欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringMVC攔截器配置及運行流程解析

 更新時間:2020年06月11日 10:47:46   作者:shouyaya  
這篇文章主要介紹了SpringMVC攔截器配置及運行流程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

1.與過濾器filter的區(qū)別

2.springMVC中攔截器的必須實現(xiàn)的三個方法:

3. 攔截器類的編寫:

package com.imooc.core;

import com.imooc.bean.User;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginInterceptor implements HandlerInterceptor {


  //在業(yè)務(wù)處理器被調(diào)用前的方法,若是返回false則不會繼續(xù)進入業(yè)務(wù)處理器
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    User user = (User)request.getSession().getAttribute("session_user");
    if(user==null) {
      response.sendRedirect(request.getContextPath()+"/login");
      return false;//會終止所有的請求
    }
    return true;
  }

  //在業(yè)務(wù)處理器被調(diào)用后,dispatcher響應(yīng)客戶端前的方法,一般用于生成日志文件時調(diào)用
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

  }

  //dispatcher響應(yīng)客戶端后的方法,一般用于資源的清理
  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

  }
}

4.在spring的配置文件中注冊攔截器:

<!-- 攔截器的注冊 -->
  <mvc:interceptors>
    <mvc:interceptor>
       <!--**表示往后的所有子目錄也包括進來-->
      <mvc:mapping path="/user/**"></mvc:mapping>
      <!--exclude-mapping在所有攔截中進行排除,一般在通配符會有意義。-->
      <!--即以下的方法不會被攔截-->
      <mvc:exclude-mapping path="/user/updatepwd"></mvc:exclude-mapping>
      <mvc:exclude-mapping path="/user/updatebackground/*"></mvc:exclude-mapping>
      <!--填寫之前配置好的攔截器-->
      <bean class="com.imooc.core.LoginInterceptor"></bean>
    </mvc:interceptor>
  </mvc:interceptors>

注意:要是有多個攔截器執(zhí)行順序以spring的配置文件中的注冊攔截器順序執(zhí)行:

<!-- 攔截器的注冊 -->
  <mvc:interceptors>

    <!--先注冊先執(zhí)行-->
    <mvc:interceptor>
      <mvc:mapping path="/user/**"/>
      <bean class="com.imooc.core.LogInterceptor"></bean>
    </mvc:interceptor>

    <mvc:interceptor>
      <mvc:mapping path="/user/**"></mvc:mapping>
      <!--exclude-mapping在所有攔截中進行排除,一般在通配符會有意義。-->
      <mvc:exclude-mapping path="/user/updatepwd"></mvc:exclude-mapping>
      <mvc:exclude-mapping path="/user/updatebackground/*"></mvc:exclude-mapping>
      <bean class="com.imooc.core.LoginInterceptor"></bean>
    </mvc:interceptor>
  </mvc:interceptors>

其次攔截器里的方法順序:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mybatis-Plus實體類注解方法與mapper層和service層的CRUD方法

    Mybatis-Plus實體類注解方法與mapper層和service層的CRUD方法

    CRUD是指在做計算處理時的增加(Create)、讀取查詢(Retrieve)、更新(Update)和刪除(Delete)幾個單詞的首字母簡寫。主要被用在描述軟件系統(tǒng)中DataBase或者持久層的基本操作功能,下面讓我們一起看看吧
    2022-03-03
  • Java使用Condition實現(xiàn)精準喚醒線程詳解

    Java使用Condition實現(xiàn)精準喚醒線程詳解

    這篇文章主要為大家詳細介紹了Java如何使用Condition實現(xiàn)精準喚醒線程效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-02-02
  • Java 使用Thumbnails對大圖片壓縮

    Java 使用Thumbnails對大圖片壓縮

    這篇文章主要介紹了Java 使用Thumbnails對大圖片壓縮,幫助大家更好的利用Java處理圖片,感興趣的朋友可以了解下
    2020-11-11
  • 詳解設(shè)計模式在Spring中的應(yīng)用(9種)

    詳解設(shè)計模式在Spring中的應(yīng)用(9種)

    這篇文章主要介紹了詳解設(shè)計模式在Spring中的應(yīng)用(9種),詳細的介紹了這9種模式在項目中的應(yīng)用,具有一定的參考價值,感興趣的可以了解一下
    2019-04-04
  • Java實現(xiàn)將容器 Map中的內(nèi)容保存到數(shù)組

    Java實現(xiàn)將容器 Map中的內(nèi)容保存到數(shù)組

    這篇文章主要介紹了Java實現(xiàn)將容器 Map中的內(nèi)容保存到數(shù)組,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Servlet+JDBC實現(xiàn)登陸功能的小例子(帶驗證碼)

    Servlet+JDBC實現(xiàn)登陸功能的小例子(帶驗證碼)

    這篇文章主要介紹了Servlet+JDBC實現(xiàn)登陸功能的小例子(帶驗證碼),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 通過自定制LogManager實現(xiàn)程序完全自定義的logger

    通過自定制LogManager實現(xiàn)程序完全自定義的logger

    本章主要闡述怎么完全定制化LogManager來實現(xiàn)應(yīng)用程序完全自定制的logger,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Redis緩存策略超詳細講解

    Redis緩存策略超詳細講解

    實際開發(fā)中緩存處理是必須的,不可能我們每次客戶端去請求一次服務(wù)器,服務(wù)器每次都要去數(shù)據(jù)庫中進行查找,為什么要使用緩存?說到底是為了提高系統(tǒng)的運行速度
    2022-09-09
  • springboot+Vue實現(xiàn)分頁的示例代碼

    springboot+Vue實現(xiàn)分頁的示例代碼

    本文主要介紹了springboot+Vue實現(xiàn)分頁的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • SpringBoot配置Redis實現(xiàn)保存獲取和刪除數(shù)據(jù)

    SpringBoot配置Redis實現(xiàn)保存獲取和刪除數(shù)據(jù)

    本文主要介紹了SpringBoot配置Redis實現(xiàn)保存獲取和刪除數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,感興趣的小伙伴們可以參考一下
    2021-06-06

最新評論