SpringMVC框架 第2 章 @RequestMapping注解
第2?章?@RequestMapping注解?
2.1 @RequestMapping 映射請求注解
2.1.1 @RequestMapping 概念
? 1)? SpringMVC使用@RequestMapping注解為控制器指定可以處理哪些 URL 請求
? 2)? 在控制器的類定義及方法定義處都可標注 @RequestMapping
- 標記在類上:提供初步的請求映射信息。相對于 ?WEB 應用的根目錄
- 標記在方法上:提供進一步的細分映射信息。相對于標記在類上的 URL。
? 3)? 若類上未標注 @RequestMapping,則方法處標記的 URL 相對于 WEB 應用的根目錄
? 4) 作用:DispatcherServlet 截獲請求后,就通過控制器上 @RequestMapping 提供的映射信息確定請求所對應的處理方法。
2.1.2 @ RequestMapping源碼參考
2.2 RequestMapping 可標注的位置
2.2.1 實驗代碼
定義頁面鏈接、控制器方法
2.3 RequestMapping映射請求方式
2.3.1 標準的 HTTP 請求報頭
2.3.2 映射請求參數、請求方法或請求頭
1)@RequestMapping 除了可以使用請求 URL 映射請求外,還可以使用請求方法、請求參數及請求頭映射請求
2)@RequestMapping 的 value【重點】、method【重點】、params【了解】 及 heads
【了解】 分別表示請求 URL、請求方法、請求參數及請求頭的映射條件,他們之間是與的關系,聯合使用多個條件可讓請求映射更加精確化。
3)params 和 headers支持簡單的表達式:
param1: 表示請求必須包含名為 param1 的請求參數
!param1: 表示請求不能包含名為 param1 的請求參數
param1 != value1: 表示請求包含名為 param1 的請求參數,但其值不能為 value1
{"param1=value1", "param2"}: 請求必須包含名為 param1 和param2 的兩個請求參數,且 param1 參數的值必須為 value1
2.3.3 實驗代碼
? 1)? 定義控制器方法
發生請求錯誤?? ?3)? 以POST方式請求
2.4 RequestMapping映射請求參數&請求頭
2.4.1 RequestMapping_請求參數&請求頭【了解】
2.4.2 實驗代碼
2.5 RequestMapping映射請求占位符PathVariable注解
2.5.1 @PathVariable
帶占位符的 URL 是 Spring3.0 新增的功能,該功能在 SpringMVC 向 REST?目標挺進發展過程中具有里程碑的意義
通過 @PathVariable 可以將 URL 中占位符參數綁定到控制器處理方法的入參中:
URL 中的 {xxx} 占位符可以通過 @PathVariable("xxx") 綁定到操作方法的入參中。
2.5.2 實驗代碼
? 1)? 定義控制器方法