javascript
SpringMVC-请求处理
SpringMVC獲取請(qǐng)求帶來(lái)的各種信息
- 一、默認(rèn)方法獲取參數(shù)
- 二、獲取請(qǐng)求參數(shù)的值-@RequestParam
- @RequestParam("user")與 @PathVariable("user")區(qū)別
- 三、獲取請(qǐng)求頭中的信息-@RequestHeader
- 四、獲取請(qǐng)求中帶來(lái)的某個(gè)cookie的值-@CookieValue
- 五、傳入-POJO
- 解決亂碼問(wèn)題
一、默認(rèn)方法獲取參數(shù)
直接給方法入?yún)懸粋€(gè)和請(qǐng)求名請(qǐng)求名相同的變量,這個(gè)變量就來(lái)接收請(qǐng)求參數(shù)的值
運(yùn)行截圖
二、獲取請(qǐng)求參數(shù)的值-@RequestParam
參數(shù)默認(rèn)是必帶的
http://localhost:8080/SpringMVC/hand01? 報(bào)錯(cuò)400
@RequestParam(“user”)String usrname
usrname=requeset.getParameter(“user”);
value:指定要獲取的參數(shù)的key(瀏覽器地址欄里的參數(shù))
required:參數(shù)是否必帶,required=false:不帶不報(bào)錯(cuò)
defaultValue:不帶參數(shù)時(shí)顯示的值,默認(rèn)為null
@RequestParam(“user”)與 @PathVariable(“user”)區(qū)別
三、獲取請(qǐng)求頭中的信息-@RequestHeader
request.getHeader(“User-Agent”)
@RequestHeader(“User-Agent”)String userAgent
userAgent=request.getHeader(“User-Agent”)
三個(gè)屬性同@RequestParam
@RequestMapping("/hand01")public String hand01(@RequestHeader("User-Agent")String userAgent){System.out.println("請(qǐng)求頭中瀏覽器的信息:"+userAgent);return "success";}四、獲取請(qǐng)求中帶來(lái)的某個(gè)cookie的值-@CookieValue
以前獲取某個(gè)cookie的操作
Cookie[] cookies = request.getCookies(); for(Cookie c:cookies){if(c.getName().equals("SESSIONID")){String cv = c.getValue();} }@CookieValue
@RequestMapping("/hand01")public String hand01(@CookieValue(value="JSESSIONID",required=false)String jid){System.out.println("cookie中jid的值:"+jid);return "success";}五、傳入-POJO
如果我們的請(qǐng)求參數(shù)數(shù)一個(gè)POJO
SpringMVC自動(dòng)為這個(gè)POJO進(jìn)行賦值:
1)將POJO中的每個(gè)屬性,從request參數(shù)中嘗試獲取出來(lái),并封裝
2)還可以級(jí)聯(lián)封裝;屬性的屬性
解決亂碼問(wèn)題
提交的數(shù)據(jù)可能亂碼
1.請(qǐng)求亂碼
GET請(qǐng)求:改server.xml
POST請(qǐng)求:web.xml配置filter
web.xml中配置如下即可
<!-- 配置一個(gè)字符編碼的filter --><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- encoding:指定解決POST請(qǐng)求亂碼 --><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><!-- forceEncoding:順手解決響應(yīng)亂碼 --> <init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>2.響應(yīng)亂碼
response.setContentType(“Text/html;charset=utf-8”)
總結(jié)
以上是生活随笔為你收集整理的SpringMVC-请求处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ecplise tomcat启动报错
- 下一篇: Spring-视图解析