最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringMVC路徑匹配中使用通配符問(wèn)題

 更新時(shí)間:2021年09月08日 10:27:58   作者:234390216  
這篇文章主要介紹了SpringMVC路徑匹配中使用通配符問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringMVC路徑匹配中使用通配符

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

表示任意字符。如下的處理器方法可以映射請(qǐng)求/antstyle/a,可以映射請(qǐng)求/antstyle/b,但是它不能映射請(qǐng)求請(qǐng)求/antstyle/a/b,因?yàn)樗荒苡成湟患?jí)路徑。

@RequestMapping("/antstyle/*")
public Object testAntStyle() {
    return "antStyle";
}

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

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

@RequestMapping("/antstyle/*/bcd")
public Object testAntStyle() {
    return "antStyle";
}

通配符還可以匹配以某字符結(jié)束的路徑

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

@RequestMapping("/antstyle/*bcd")
public Object testAntStyle() {
    return "antStyle";
}

通配符還可以匹配以某字符開(kāi)始的路徑

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

@RequestMapping("/antstyle/abc*")
public Object testAntStyle() {
    return "antStyle";
}

一個(gè)星號(hào)只能匹配一級(jí)路徑,如果需要匹配任意的多級(jí)路徑則可以使用兩個(gè)星號(hào)。如下處理器方法可以映射任何請(qǐng)求路徑以/antstyle/開(kāi)頭的請(qǐng)求,如/antstyle/a、/antstyle/a/b等。

@RequestMapping("/antstyle/**")
public Object testAntStyle() {
    return "antStyle";
}

一個(gè)星號(hào)與兩個(gè)星號(hào)還可以一起使用,此時(shí)一個(gè)星號(hào)還是匹配任意字符,但是只能在當(dāng)前層級(jí),而兩個(gè)星號(hào)還是可以匹配任意的層級(jí),所以如下可以匹配/antstyle/abca/xxx/xxx等。

@RequestMapping("/antstyle/abc*/**")
public Object testAntStyle() {
    return "antStyle";
}

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

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

同時(shí)存在路徑變量和通配符匹配時(shí)的優(yōu)先級(jí)關(guān)系

當(dāng)一個(gè)請(qǐng)求路徑可以匹配多個(gè)處理器方法時(shí),SpringMVC將優(yōu)先匹配路徑映射更精確的那個(gè)。

  • 擁有更少的路徑變量和通配符的路徑映射更精確。比如/hotels/{hotel}/*擁有一個(gè)路徑變量和一個(gè)通配符,那么它會(huì)比/hotels/{hotel}/**更精確,會(huì)優(yōu)先匹配,因?yàn)楹笳邠碛幸粋€(gè)路徑變量和兩個(gè)通配符。
  • 如果兩個(gè)路徑映射的通配符數(shù)量是一樣的,則指定的信息更多那個(gè)路徑會(huì)更精確,比如/hotels/abc*比/hotels/*更精確。
  • 路徑變量比通配符更精確。比如/hotels/{hotel}比/hotels/*更精確。
  • 默認(rèn)映射/**比其它所有的路徑映射的優(yōu)先級(jí)都低,比如/{a}/就比它更精確。
  • 擁有兩個(gè)通配符的路徑映射比其它沒(méi)有兩個(gè)通配符的路徑映射的優(yōu)先級(jí)都低,比如/abc/**的優(yōu)先級(jí)低于/abc/{a}。

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

請(qǐng)求路徑參數(shù)使用正則表達(dá)式

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatis-Plus如何實(shí)現(xiàn)自動(dòng)加密解密

    MyBatis-Plus如何實(shí)現(xiàn)自動(dòng)加密解密

    這篇文章主要介紹了MyBatis-Plus實(shí)現(xiàn)自動(dòng)加密解密方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 淺析Disruptor高性能線(xiàn)程消息傳遞并發(fā)框架

    淺析Disruptor高性能線(xiàn)程消息傳遞并發(fā)框架

    這篇文章主要為大家介紹了Disruptor高性能線(xiàn)程消息傳遞并發(fā)框架的簡(jiǎn)單分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • IDEA遠(yuǎn)程連接HBase及其Java API實(shí)戰(zhàn)詳解

    IDEA遠(yuǎn)程連接HBase及其Java API實(shí)戰(zhàn)詳解

    這篇文章主要介紹了IDEA遠(yuǎn)程連接HBase及其Java API實(shí)戰(zhàn)詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Java中的SimpleDateFormat的線(xiàn)程安全問(wèn)題詳解

    Java中的SimpleDateFormat的線(xiàn)程安全問(wèn)題詳解

    這篇文章主要介紹了Java中的SimpleDateFormat的線(xiàn)程安全問(wèn)題詳解,sonar 是一個(gè)代碼質(zhì)量管理工具,SonarQube是一個(gè)用于代碼質(zhì)量管理的開(kāi)放平臺(tái),為項(xiàng)目提供可視化報(bào)告, 連續(xù)追蹤項(xiàng)目質(zhì)量演化過(guò)程,需要的朋友可以參考下
    2024-01-01
  • java鎖升級(jí)過(guò)程過(guò)程詳解

    java鎖升級(jí)過(guò)程過(guò)程詳解

    這篇文章主要介紹了Java鎖升級(jí)的實(shí)現(xiàn)過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • 詳解Mybatis中的PooledDataSource

    詳解Mybatis中的PooledDataSource

    這篇文章主要介紹了詳解Mybatis中的PooledDataSource,PooledDataSource使用了數(shù)據(jù)庫(kù)連接池可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池的重復(fù)利用,還能控制連接數(shù)據(jù)庫(kù)的連接上限
    2022-06-06
  • Mybatis實(shí)現(xiàn)Mapper動(dòng)態(tài)代理方式詳解

    Mybatis實(shí)現(xiàn)Mapper動(dòng)態(tài)代理方式詳解

    這篇文章主要為大家詳細(xì)介紹了Mybatis實(shí)現(xiàn)Mapper動(dòng)態(tài)代理方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 詳解SpringBoot中異步請(qǐng)求的實(shí)現(xiàn)與并行執(zhí)行

    詳解SpringBoot中異步請(qǐng)求的實(shí)現(xiàn)與并行執(zhí)行

    這篇文章主要為大家詳細(xì)介紹了在SpringBoot中如何是實(shí)現(xiàn)異步請(qǐng)求、并行執(zhí)行,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • Java中字符串拼接的一些細(xì)節(jié)分析

    Java中字符串拼接的一些細(xì)節(jié)分析

    這篇文章主要介紹了Java中字符串拼接的一些細(xì)節(jié)分析,本文著重剖析了字符串拼接的一些性能問(wèn)題、技巧等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • 如何在SpringBoot項(xiàng)目中使用Oracle11g數(shù)據(jù)庫(kù)

    如何在SpringBoot項(xiàng)目中使用Oracle11g數(shù)據(jù)庫(kù)

    這篇文章主要介紹了在SpringBoot項(xiàng)目中使用Oracle11g數(shù)據(jù)庫(kù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評(píng)論

顺平县| 原阳县| 博乐市| 疏附县| 紫阳县| 栖霞市| 泸西县| 永登县| 东城区| 陕西省| 喀喇| 辽阳市| 金华市| 登封市| 屯留县| 诸暨市| 肃宁县| 汕尾市| 秭归县| 建始县| 十堰市| 运城市| 兴城市| 舞钢市| 溧阳市| 新泰市| 泰来县| 佛坪县| 宾阳县| 衡东县| 清远市| 昌都县| 巨野县| 六安市| 应用必备| 兴宁市| 公安县| 普兰县| 黔南| 安多县| 涞水县|