@Responsebody註解
阿新 • • 發佈:2017-07-11
即使 location mode https 處理 service www lag response
@RequestBody
作用:
i) 該註解用於讀取Request請求的body部分數據,使用系統默認配置的HttpMessageConverter進行解析,然後把相應的數據綁定到要返回的對象上;
ii) 再把HttpMessageConverter返回的對象數據綁定到 controller中方法的參數上。
使用時機:
A) GET、POST方式提時, 根據request header Content-Type的值來判斷:
- application/x-www-form-urlencoded, 可選(即非必須,[email protected]
- multipart/form-data, 不能處理([email protected]);
- 其他格式, 必須(其他格式包括application/json, application/xml等。這些格式的數據,[email protected]);
B) PUT方式提交時, 根據request header Content-Type的值來判斷:
- application/x-www-form-urlencoded, 必須;
- multipart/form-data, 不能處理;
- 其他格式, 必須;
說明:request的body部分的數據編碼格式由header部分的Content-Type指定;
@ResponseBody
作用:
該註解用於將Controller的方法返回的對象,通過適當的HttpMessageConverter轉換為指定格式後,寫入到Response對象的body數據區。
使用時機:
返回的數據不是html標簽的頁面,而是其他某種格式的數據時(如json、xml等)使用;
controller層對應栗子:
@Controller @RequestMapping("system/user") publicclass UserCntroller { @Resource(name="UserService") private UserService userService; @RequestMapping(value = "login" , method = RequestMethod.POST) @ResponseBody public int login(HttpServletRequest request,String account,String password){ boolean loginResult; account = account.trim(); password = password.trim(); int flag =userService.login(account,password); if(flag == 1){ System.out.println("sss"); return 1; }else{ return 0; } } }
js對應栗子:
$.ajax({ type:"POST", url:"system/user/login.do", data:‘account=‘+account+‘&password=‘+password, dataType:"json", async:true, success:function(data){ if(data==1){ location.href="index.html"; } if(data==0){ alert("輸入信息有誤!!!"); } },
@Responsebody註解