SpringMVC框架 第4章 處理請求數(shù)據(jù)
第4章?處理請求數(shù)據(jù)
4.1請求處理方法簽名
? 1)? Spring MVC 通過分析處理方法的簽名,HTTP請求信息綁定到處理方法的相應(yīng)人參中。
? 2)? Spring MVC 對控制器處理方法簽名的限制是很寬松的,幾乎可以按喜歡的任何方式對方法進(jìn)行簽名。
e```````````````````````````````````````````````````````````````````````````````
4.5 使用POJO作為參數(shù)
? 4)? Spring MVC 框架會將 HTTP 請求的信息綁定到相應(yīng)的方法入?yún)⒅校⒏鶕?jù)方法的返回值類型做出相應(yīng)的后續(xù)處理。
4.2 @RequestParam注解
1)在處理方法入?yún)⑻幨褂?@RequestParam 可以把請求參數(shù)傳遞給請求方法
2)value:參數(shù)名
3)required:是否必須。默認(rèn)為 true, 表示請求參數(shù)中必須包含對應(yīng)的參數(shù),若不存在,將拋出異常
4)defaultValue: 默認(rèn)值,當(dāng)沒有傳遞參數(shù)時使用該值
4.2.1 實(shí)驗(yàn)代碼
? 1)? 增加控制器方法
4.3 @RequestHeader 注解
? 1 )? 使用 @RequestHeader 綁定請求報(bào)頭的屬性值
? ?2)? 請求頭包含了若干個屬性,服務(wù)器可據(jù)此獲知客戶端的信息,通過 @RequestHeader 即
- 可將請求頭中的屬性值綁定到處理方法的入?yún)⒅?/b>
4.3.1 實(shí)驗(yàn)代碼

4.4 @CookieValue 注解
? 1)? 使用 @CookieValue 綁定請求中的 Cookie 值
? 2)? @CookieValue 可讓處理方法入?yún)⒔壎硞€ Cookie 值
4.4.1實(shí)驗(yàn)代碼
? 1)? 增加控制器方法
/
4.5 使用POJO作為參數(shù)?
? 1)? 使用 POJO 對象綁定請求參數(shù)值
? 2)? Spring MVC 會按請求參數(shù)名和 POJO 屬性名進(jìn)行自動匹配,自動為該對象填充屬性值。支持級聯(lián)屬性。如:deptId、dept.address.tel 等
? 4.5.1實(shí)驗(yàn)代碼
? 1)? 增加控制器方法、表單頁面
? 4)? 如果中文有亂碼,需要配置字符編碼過濾器,且配置其他過濾器之前,
如(HiddenHttpMethodFilter),否則不起作用。(思考method=”get”請求的亂碼問題怎么解決的)
4.6 使用Servlet原生API作為參數(shù)
? 1)? MVC 的 Handler 方法可以接受哪些 ServletAPI 類型的參數(shù)
- HttpServletRequest
- HttpServletResponse
- HttpSession
- security.Principal
- Locale
- InputStream
- OutputStream
- Reader
- Writer
? 2)? 源碼參考:AnnotationMethodHandlerAdapterL866
? 3)?
4.6.1 實(shí)驗(yàn)代碼
