@RequestMapping注解


1.@RequestMapping注解的功能

  從注解名稱上我們看到,@RequestMapping注解的作用就是將請求和處理請求的控制器方法管理起來,建立映射關系

  SpringMVC接收到指定的請求,就會來找到在映射關系中對應的控制器方法開處理這個請求。

2.@RequestMapping注解的位置

  @RequestMapping標識一個類:設置映射請求的請求路徑的初始信息

  @RequestMapping標識一個方法:設置映射請求請求路徑的具體信息 

  

 

   在類上面加@RequestMapping是為了配合方法上面@RequestMapping更准確的找到處理請求的方法

  

 3.@RequestMapping的value屬性

  @RequestMapping注解的value屬性通過請求的請求地址匹配請求映射

  @RequestMapping注解的value屬性是一個字符串類型的數組,表示該請求映射能匹配多個請求地址所對應的請求

  @RequestMapping注解的value屬性必須設置,至少通過請求地址匹配請求映射

  

 

   

 

4.@RequestMapping的method屬性 

  @RequestMapping注的method屬性通過請求的請求方式(get或post)匹配請求映射

  @RequestMapping注解的method屬性是一個RequestMethod類型的數組,表示該請求映射能夠匹配多種請求方式的請求

  若當前請求的請求地址滿足請求映射的value屬性,但是請求方式不滿足method屬性,則瀏覽器會報405錯誤:Request method ‘POST’ not supported

  

 

  

 

 

   補充:RequsetMapping派生注解

  

 

 method屬性還有兩種常用請求方式:PUT和DELETE方法

  拿PUT請求測試:

  

 

   

 

5.@RequestMapping的params屬性  

@RequestMapping注解的params屬性通過請求的請求參數匹配請求映射
@RequestMapping注解的params屬性是一個字符串類型的數組,可以通過四種表達式設置請求參數
和請求映射的匹配關系
"param":要求請求映射所匹配的請求必須攜帶param請求參數
"!param":要求請求映射所匹配的請求必須不能攜帶param請求參數
"param=value":要求請求映射所匹配的請求必須攜帶param請求參數且param=value
"param!=value":要求請求映射所匹配的請求必須攜帶param請求參數但是param!=value 

 

6.@RequestMapping的headers屬性   

@RequestMapping注解的headers屬性通過請求的請求頭信息匹配請求映射
@RequestMapping注解的headers屬性是一個字符串類型的數組,可以通過四種表達式設置請求頭信
息和請求映射的匹配關系
"header":要求請求映射所匹配的請求必須攜帶header請求頭信息
"!header":要求請求映射所匹配的請求必須不能攜帶header請求頭信息
"header=value":要求請求映射所匹配的請求必須攜帶header請求頭信息且header=value
"header!=value":要求請求映射所匹配的請求必須攜帶header請求頭信息且header!=value
若當前請求滿足@RequestMapping注解的value和method屬性,但是不滿足headers屬性,此時頁面
顯示404錯誤,即資源未找到 

 

7、SpringMVC支持ant風格的路徑
  ?:表示任意的單個字符
  *:表示任意的0個或多個字符
  **:表示任意的一層或多層目錄
注意:在使用**時,只能使用/**/xxx的方式
  

 

 

8、SpringMVC支持路徑中的占位符(重點)
  原始方式:/deleteUser?id=1
  rest方式:/deleteUser/1
  SpringMVC路徑中的占位符常用於RESTful風格中,當請求路徑中將某些數據通過路徑的方式傳輸到服
  務器中,就可以在相應的@RequestMapping注解的value屬性中通過占位符{xxx}表示傳輸的數據,在
  通過@PathVariable注解,將占位符所表示的數據賦值給控制器方法的形參 
  

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM