【SpringMVC】SpringMVC系列2之@RequestMapping 映射約束請求

來源:互聯網
上載者:User

標籤:

  1. @RequestMapping 映射約束請求

2.1、映射請求URL

Spring MVC 使用 @RequestMapping 註解為控制器指定可以處理哪些 URL 請求,在控制器的類定義及方法定義處都可標註。

  • 類定義處:提供初步的請求映射資訊。相對於 WEB 應用的根目錄
  • 方法處:提供進一步的細分映射資訊。相對於類定義處的 URL。若類定義處未標註 @RequestMapping,則方法處標記的 URL 相對於WEB 應用的根目錄

DispatcherServlet 截獲請求後,就通過控制器上 @RequestMapping 提供的映射資訊確定請求所對應的處理方法。簡單樣本如下:

 

2.2、映射要求方法、要求標頭、請求參數

@RequestMapping 除了可以使用請求 URL 對應請求外,還可以使用要求方法、請求參數及要求標頭映射請求。

@RequestMapping 的 value、method、params 及 heads分別表示請求 URL、要求方法、請求參數及要求標頭的映射條件,他們之間是與的關係,聯合使用多個條件可讓請求映射更加精確化。

 

params 和 headers支援簡單的運算式:

  • param1: 表示請求必須包含名為 param1 的請求參數
  • !param1: 表示請求不能包含名為 param1 的請求參數
  • param1 != value1: 表示請求包含名為 param1 的請求參數,但其值不能為 value1
  • {"param1=value1", "param2"}: 請求必須包含名為 param1 和param2 的兩個請求參數,且 param1 參數的值必須為 value1

2.3、支援Ant風格的URL匹配

Ant 風格資源地址支援 3 種匹配符:

  • ?:匹配檔案名稱中的一個字元
  • *:匹配檔案名稱中的任一字元
  • **:** 匹配多層路徑

@RequestMapping 還支援 Ant 風格的 URL,樣本:

/user/*/createUser: 匹配

/user/aaa/createUser、/user/bbb/createUser 等 URL

/user/**/createUser: 匹配

/user/createUser、/user/aaa/bbb/createUser 等 URL

/user/createUser??: 匹配

/user/createUseraa、/user/createUserbb 等 URL

@RequestMapping的本質是對http請求url、頭、參數、方法等做約束。

 

【SpringMVC】SpringMVC系列2之@RequestMapping 映射約束請求

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.