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