springmvc對(duì)返回結(jié)果的處理 spring mvc request作用?
spring mvc request作用?注釋通常用于處理內(nèi)容類型不是默認(rèn)application/x-www-form-URL編碼代碼的內(nèi)容,比如application/json或applicatio
spring mvc request作用?
注釋通常用于處理內(nèi)容類型不是默認(rèn)application/x-www-form-URL編碼代碼的內(nèi)容,比如application/json或application/xml。一般來說,經(jīng)常用來處理應(yīng)用/json類型。
2.請(qǐng)求體中的JSON字符串可以通過@r:#34/login#34,
typ:#34POST#34,
data : # 39 { # 34 us: # 34 admin # 34、#34pwd#34、#34admin123#34}#39、
cont: # 34 application/JSON charsetutf-8 # 34,
succ:function(數(shù)據(jù))
{
警報(bào)(# 34請(qǐng)求成功!#34)
}
})
@ request mapping(#34/登錄# 34)
公共void登錄(@requestBody字符串用戶名,@requestBody字符串密碼){
(用戶名#34 :#34 pwd)
}
在這種情況下,JSON字符串中兩個(gè)變量的值被分別賦給兩個(gè)字符串,但是假設(shè)我有一個(gè)用戶類,它有以下字段:
字符串用戶名
字符串密碼
那么可以把上面的參數(shù)改成下面的形式:@requestBody User這個(gè)形式會(huì)把JSON字符串中的值賦予User中對(duì)應(yīng)的屬性。
需要注意的是,JSON字符串中的鍵必須對(duì)應(yīng)user中的屬性名,否則請(qǐng)求不會(huì)通過。
3.在某些特殊情況下,@requestBody也可以用來處理conten。T-type是application/x-www-form-URL編碼的內(nèi)容,但這種方法不是很常見。在處理這類請(qǐng)求時(shí),@requestBody會(huì)將處理結(jié)果放入一個(gè)MultiValueMapltString,Stringgt,一般在特殊情況下使用。例如,jQuery easyUI 的datagrid在請(qǐng)求數(shù)據(jù)時(shí)需要使用這種方法,小型項(xiàng)目如果只創(chuàng)建一個(gè)POJO類也可以使用這種接受方法。
功能:
I)該注釋用于讀取請(qǐng)求的正文數(shù)據(jù),用默認(rèn)配置的HttpMessageConverter解析,然后將相應(yīng)的數(shù)據(jù)綁定到要返回的對(duì)象上;
Ii)將HttpMessageConv
springmvc原理及流程?
第一步是:用戶向前端控制器(DispatcherServlet)發(fā)起請(qǐng)求。
步驟2:前端控制器請(qǐng)求HandlerMappering找到處理程序:它搜索xml配置或注釋。
第三步:找到handler mapper,像前端控制器一樣返回HandlerExecutionChain。
第四步:前端控制器(DispatcherServlet)調(diào)用HandlerAdapter執(zhí)行處理程序。
步驟5:處理器適配器執(zhí)行處理程序。
步驟6: Handler在執(zhí)行后將ModelAndView返回給處理器適配器。
步驟7:處理器適配器向前端控制器返回ModelAndView。
步驟8:前端控制器請(qǐng)求ViewResolver執(zhí)行視圖解析。
第九步:視圖解析器像前端控制器一樣返回視圖。
步驟10:前端控制器渲染視圖。
步驟11:前端控制器將結(jié)果回復(fù)給用戶。