一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringMVC路徑匹配中使用通配符問題

SpringMVC路徑匹配中使用通配符問題

2021-12-23 13:03234390216 Java教程

這篇文章主要介紹了SpringMVC路徑匹配中使用通配符問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

SpringMVC路徑匹配中使用通配符

@RequestMapping中指定的路徑也可以使用通配符*

表示任意字符。如下的處理器方法可以映射請求/antstyle/a,可以映射請求/antstyle/b,但是它不能映射請求請求/antstyle/a/b,因為它只能映射一級路徑。

?
1
2
3
4
@RequestMapping("/antstyle/*")
public Object testAntStyle() {
    return "antStyle";
}

通配符不是只能放在最后的

它也可以放在其它位置。下面的示例中就是把通配符放在中間位置,它可以映射請求/antstyle/a/bcd,也可以映射請求/antstyle/ab/bcd。

?
1
2
3
4
@RequestMapping("/antstyle/*/bcd")
public Object testAntStyle() {
    return "antStyle";
}

通配符還可以匹配以某字符結束的路徑

如下處理器方法可以映射/antstyle/后路徑以bcd結尾的路徑,比如/antstyle/abcd、/antstyle/bcd等。

?
1
2
3
4
@RequestMapping("/antstyle/*bcd")
public Object testAntStyle() {
    return "antStyle";
}

通配符還可以匹配以某字符開始的路徑

如下處理器方法可以映射/antstyle/abc、/antstyle/abcd等。

?
1
2
3
4
@RequestMapping("/antstyle/abc*")
public Object testAntStyle() {
    return "antStyle";
}

一個星號只能匹配一級路徑,如果需要匹配任意的多級路徑則可以使用兩個星號。如下處理器方法可以映射任何請求路徑以/antstyle/開頭的請求,如/antstyle/a、/antstyle/a/b等。

?
1
2
3
4
@RequestMapping("/antstyle/**")
public Object testAntStyle() {
    return "antStyle";
}

一個星號與兩個星號還可以一起使用,此時一個星號還是匹配任意字符,但是只能在當前層級,而兩個星號還是可以匹配任意的層級,所以如下可以匹配/antstyle/abca/xxx/xxx等。

?
1
2
3
4
@RequestMapping("/antstyle/abc*/**")
public Object testAntStyle() {
    return "antStyle";
}

請求映射路徑中使用了通配符時,也還是可使用路徑變量的,它們是相互獨立的。如下代碼中我們就在請求路徑中同時使用了路徑變量和通配符。

?
1
2
3
4
@RequestMapping("/antstylewithpathvariable/*/{path}/abc")
public Object testAntStyleWithPathVariable(@PathVariable String path) {
    return "ant style with path variable, path is " + path;
}

同時存在路徑變量和通配符匹配時的優先級關系

當一個請求路徑可以匹配多個處理器方法時,SpringMVC將優先匹配路徑映射更精確的那個。

  • 擁有更少的路徑變量和通配符的路徑映射更精確。比如/hotels/{hotel}/*擁有一個路徑變量和一個通配符,那么它會比/hotels/{hotel}/**更精確,會優先匹配,因為后者擁有一個路徑變量和兩個通配符。
  • 如果兩個路徑映射的通配符數量是一樣的,則指定的信息更多那個路徑會更精確,比如/hotels/abc*比/hotels/*更精確。
  • 路徑變量比通配符更精確。比如/hotels/{hotel}比/hotels/*更精確。
  • 默認映射/**比其它所有的路徑映射的優先級都低,比如/{a}/{b}就比它更精確。
  • 擁有兩個通配符的路徑映射比其它沒有兩個通配符的路徑映射的優先級都低,比如/abc/**的優先級低于/abc/{a}。

(注:本文是基于Spring4.1.0所寫)

請求路徑參數使用正則表達式

?
1
2
3
4
@GetMapping("/user/{id:\\d+}"//使用正則指定Id為數字
     public User getInfo(@PathVariable String id){
         ...
     }

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://www.iteye.com/blog/elim-2409316

延伸 · 閱讀

精彩推薦
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
主站蜘蛛池模板: 村妇超级乱淫伦小说全集 | 插得好舒服| 国产成人精品免费视频软件 | 日剧整部剧护妻狂魔免费观看全集 | 久久精品国产免费播高清无卡 | 欧美贵妇videos办公室 | 精品午夜寂寞影院在线观看 | 国产精品第一 | 欧美bbb人妖 | 久久久久免费视频 | 亚洲 日韩 自拍 视频一区 | 第一次做m被调教经历 | 国产色视频一区二区三区 | 欧美日韩一本 | 亚洲老头与老太hd | 国产一卡二卡3卡4卡更新 | 日日摸日日添日日透 | aika跟黑人太猛了 | 热久久最新网址 | porno18老师hd| 五月天国产精品 | 精品国产视频 | 国产精品不卡 | 经典三级四虎在线观看 | 亚洲视频在线观看地址 | 大学生特黄特色大片免费播放 | xvideoscom极品肌肉警察 | 母乳在线 | 射逼网| 精品视频在线播放 | 动漫精品午夜在线播放 | 四虎1515hhcom| 精品免费久久久久久成人影院 | tubehdxx丝袜正片 | 91精品国产高清久久久久久 | 给我免费观看的视频在线播放 | 国产欧美一区二区三区久久 | 婷婷草| 精品国产区 | 丁香婷婷在线视频 | 亚洲免费大全 |