真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

@ResponseBody于@RequestBody注解在springMvc中的區(qū)別有哪些

這篇文章將為大家詳細(xì)講解有關(guān)@ResponseBody于@RequestBody注解在springMvc中的區(qū)別有哪些,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、山亭網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、購物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為山亭等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

springmvc對(duì)json的前后臺(tái)傳輸做了很好封裝,避免了重復(fù)編碼的過程,下面來看看常用的@ResponseBody和@RequestBody注解

添加依賴

springmvc對(duì)json的處理依賴jackson


  org.codehaus.jackson
  jackson-core-asl
  1.9.11


  org.codehaus.jackson
  jackson-mapper-asl
  1.9.11

xml配置

//不要忘了命名空間配置

@ResponseBody

如果傳輸?shù)氖菃螌觠son對(duì)象,我們后臺(tái)可以直接用 @RequestParam接收

$.ajax({
  type : "post",
  dataType : "json",
  url : "/testRequestBody",
  data:{
    name:"韋德",
    age:35
  },
  success : function(result) {
  }
});
@RequestMapping("/testRequestBody")
public String testRequestBody(@RequestParam Map map) {
 System.out.println(map);// {name=韋德, age=35}
 return "index";
}

如果傳輸?shù)氖嵌鄬忧短譲son對(duì)象,這個(gè)時(shí)候會(huì)就會(huì)出現(xiàn)數(shù)據(jù)丟失問題

@ResponseBody很好的解決了這個(gè)問題,它會(huì)把前臺(tái)傳輸過來的json轉(zhuǎn)化為后臺(tái)對(duì)應(yīng)的對(duì)象

$.ajax({
  type : "post",
  dataType : "json",
  url : "/testRequestBody",
  contentType:"application/json",  
  data:JSON.stringify({
    name:"韋德",
    win:[2006,2012,2013],
    age:35
  }),
  success : function(result) {
  }
});
@RequestMapping("/testRequestBody")
public String testRequestBody(@RequestBody Map map) {
 System.out.println(map);//{name=韋德, win=[2006, 2012, 2013], age=35}
 return "index";
}

需要注意的是前臺(tái)需要指定contentType為"application/json"

同時(shí)要把json對(duì)象轉(zhuǎn)化為String,否則后臺(tái)不能識(shí)別

@ResponseBody

ajax請(qǐng)求返回json格式,往常我們可以這樣做

private void writeJson(HttpServletResponse response, Object object) {
 String json = JSON.toJSONString(object);
 response.setCharacterEncoding("UTF-8");
 response.setContentType("application/json; charset=utf-8");
 PrintWriter out = null;
 try {
  out = response.getWriter();
  out.write(json);
 } catch (IOException e) {
  e.printStackTrace();
 } finally {
  if (out != null) {
   out.close();
  }
 }
}

這個(gè)時(shí)候 @ResponseBody就派上用場(chǎng)了,只需要一個(gè)注解,全部搞定

$.ajax({
  type : "post",
  dataType : "json",
  url : "/testResponseBody",
  success : function(result) {
    console.info(result);
  }
});
@RequestMapping("/testResponseBody")
@ResponseBody
public Map testRequestBody() {
 Map result = new HashMap();
 result.put("name", "韋德");
 result.put("age", 35);
 return result;
}

前臺(tái)console輸出

{
  "age": 35,
  "name": "韋德"
}

總結(jié)

在網(wǎng)上看到很不錯(cuò)的流程圖,作為總結(jié)吧

@ResponseBody于@RequestBody注解在springMvc中的區(qū)別有哪些

關(guān)于@ResponseBody于@RequestBody注解在springMvc中的區(qū)別有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


當(dāng)前題目:@ResponseBody于@RequestBody注解在springMvc中的區(qū)別有哪些
網(wǎng)頁URL:http://weahome.cn/article/pgjgcp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部