亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring MVC中自定義攔截器的實例講解

 更新時間:2017年08月23日 09:15:10   投稿:jingxian  
下面小編就為大家?guī)硪黄猄pring MVC中自定義攔截器的實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1. 引言

攔截器(Interceptor)實現(xiàn)對每一個請求處理前后進(jìn)行相關(guān)的業(yè)務(wù)處理,類似于Servlet的Filter。

我們可以讓普通的Bean實現(xiàn)HandlerIntercpetor接口或繼承HandlerInterceptorAdapter類來實現(xiàn)自定義攔截器。

通過重寫WebMvcConfigurerAdapter的addIntercetors方法來注冊一個計算每一次請求的處理時間的攔截器。

2. 自定義攔截器的實現(xiàn)

2.1 定義攔截器

新建LogInterceptor類,并繼承HandlerInterceptorAdapter類,重寫preHandle、postHandle這兩個方法。

1.preHandle方法表示在請求發(fā)生前執(zhí)行,內(nèi)容如下:

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
request.setAttribute("begin", System.currentTimeMillis());
return true;
}

2.postHandle方法表示在請求完成后執(zhí)行,內(nèi)容如下:

@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
 ModelAndView modelAndView) throws Exception {
long begin = (long)request.getAttribute("begin");
request.removeAttribute("begin");
long end = System.currentTimeMillis();
System.out.println("本次請求消耗時間為:"+new Long(end-begin)+"ms");
}

2.2 配置攔截器

2.2.1 使用xml配置

1.在配置文件中添加支持MVC的schema

xmlns:mvc="http://www.springframework.org/schema/mvc" 
xsi:schemaLocation=" http://www.springframework.org/schema/mvc 
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"

2.使用mvc:interceptors標(biāo)簽聲明攔截器

<mvc:interceptors> 
<!-- 使用bean定義一個Interceptor,直接定義在mvc:interceptors根下面的Interceptor將攔截所有的請求 --> 
<bean class="org.aming.demo.springmvc.interceptor.LogInterceptor"/> 
<mvc:interceptor> 
 <mvc:mapping path="${指定的URL}"/> 
 <!-- 定義在mvc:interceptor下面的表示是對特定的請求才進(jìn)行攔截的 --> 
 <bean class="${其他攔截器}"/> 
</mvc:interceptor> 
</mvc:interceptors> 

說明:沒有測試過!?。?/span>

2.2.2 使用JavaConfig配置

3.配置攔截器的Bean

@Bean
public LogInterceptor logInterceptor() {
 return new LogInterceptor();
}

4.重寫addInterceptors方法,注冊攔截器

@Override
public void addInterceptors(InterceptorRegistry registry) {
 registry.addInterceptor(logInterceptor());
}

說明:配置類需要繼承WebMvcConfigurerAdapter類

3. 運(yùn)行結(jié)果

運(yùn)行結(jié)果

以上這篇Spring MVC中自定義攔截器的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決SpringBoot多模塊發(fā)布時99%的問題

    解決SpringBoot多模塊發(fā)布時99%的問題

    本文歸納了以下 8 個原則和發(fā)布時經(jīng)常出現(xiàn)的 4 個問題的解決方案,掌握了這些原則和解決方案,幾乎可以解決絕大數(shù)SpringBoot發(fā)布問題
    2019-07-07
  • 詳解slf4j+logback在java工程中的配置

    詳解slf4j+logback在java工程中的配置

    這篇文章主要介紹了slf4j+logback在java工程中的配置,對日志組件logback也進(jìn)行了簡單介紹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-08-08
  • Java對象流實例代碼

    Java對象流實例代碼

    這篇文章主要介紹了Java對象流實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Java中if語句return用法和有無括號的區(qū)別

    Java中if語句return用法和有無括號的區(qū)別

    本文主要介紹了Java中if語句return用法和有無括號的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • Java?數(shù)據(jù)庫連接池Druid?的介紹

    Java?數(shù)據(jù)庫連接池Druid?的介紹

    這篇文章主要給大家分享的是?Java?數(shù)據(jù)庫連接池Druid?的介紹,Druid是一個JDBC組件,它包括三部分:?DruidDriver?代理Driver,能夠提供基于Filter-Chain模式的插件體系。?DruidDataSource?高效可管理的數(shù)據(jù)庫連接池,下面來看看文中的詳細(xì)內(nèi)容,需要的朋友也可以參考一下
    2021-11-11
  • RestTemplate的URL請求示例

    RestTemplate的URL請求示例

    這篇文章主要為大家介紹了RestTemplate的URL請求示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 使用Java 8中的Lambda表達(dá)式實現(xiàn)工廠模式

    使用Java 8中的Lambda表達(dá)式實現(xiàn)工廠模式

    這篇文章主要給大家介紹了使用Java 8中的Lambda表達(dá)式實現(xiàn)工廠模式的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • Java行為型設(shè)計模式之外觀設(shè)計模式詳解

    Java行為型設(shè)計模式之外觀設(shè)計模式詳解

    外觀模式為多個復(fù)雜的子系統(tǒng),提供了一個一致的界面,使得調(diào)用端只和這個接口發(fā)生調(diào)用,而無須關(guān)系這個子系統(tǒng)內(nèi)部的細(xì)節(jié)。本文將通過示例詳細(xì)為大家講解一下外觀模式,需要的可以參考一下
    2022-11-11
  • 如何使用bootstrap.yml讀取配置中心的配置文件

    如何使用bootstrap.yml讀取配置中心的配置文件

    這篇文章主要介紹了如何使用bootstrap.yml讀取配置中心的配置文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Spring Cloud Alibaba Nacos Config進(jìn)階使用

    Spring Cloud Alibaba Nacos Config進(jìn)階使用

    這篇文章主要介紹了Spring Cloud Alibaba Nacos Config進(jìn)階使用,文中使用企業(yè)案例,圖文并茂的展示了Nacos Config的使用,感興趣的小伙伴可以看一看
    2021-08-08

最新評論