最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springMvc注解之@ResponseBody和@RequestBody詳解

 更新時間:2017年05月24日 09:15:27   作者:小嘚瑟  
本篇文章主要介紹了springMvc注解之@ResponseBody和@RequestBody詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

簡介

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

添加依賴

springmvc對json的處理依賴jackson

<dependency>
  <groupId>org.codehaus.jackson</groupId>
  <artifactId>jackson-core-asl</artifactId>
  <version>1.9.11</version>
</dependency>
<dependency>
  <groupId>org.codehaus.jackson</groupId>
  <artifactId>jackson-mapper-asl</artifactId>
  <version>1.9.11</version>
</dependency>

xml配置

<mvc:annotation-driven />//不要忘了命名空間配置

@ResponseBody

如果傳輸的是單層json對象,我們后臺可以直接用 @RequestParam接收

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

如果傳輸的是多層嵌套json對象,這個時候會就會出現(xiàn)數據丟失問題

@ResponseBody很好的解決了這個問題,它會把前臺傳輸過來的json轉化為后臺對應的對象

$.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<String, Object> map) {
 System.out.println(map);//{name=韋德, win=[2006, 2012, 2013], age=35}
 return "index";
}

需要注意的是前臺需要指定contentType為"application/json"

同時要把json對象轉化為String,否則后臺不能識別

@ResponseBody

ajax請求返回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();
  }
 }
}

這個時候 @ResponseBody就派上用場了,只需要一個注解,全部搞定

$.ajax({
  type : "post",
  dataType : "json",
  url : "/testResponseBody",
  success : function(result) {
    console.info(result);
  }
});

@RequestMapping("/testResponseBody")
@ResponseBody
public Map<String, Object> testRequestBody() {
 Map<String, Object> result = new HashMap<String, Object>();
 result.put("name", "韋德");
 result.put("age", 35);
 return result;
}

前臺console輸出

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

總結

在網上看到很不錯的流程圖,作為總結吧

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java中接口和抽象類的異同以及具體的使用場景

    Java中接口和抽象類的異同以及具體的使用場景

    文章主要介紹了Java中接口(Interface)和抽象類(AbstractClass)的區(qū)別和聯(lián)系,包括相同點和不同點,以及它們在實際開發(fā)中的具體使用場景,結合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • spring AOP定義AfterThrowing增加處理實例分析

    spring AOP定義AfterThrowing增加處理實例分析

    這篇文章主要介紹了spring AOP定義AfterThrowing增加處理,結合實例形式分析了spring面向切面AOP定義AfterThrowing相關實現(xiàn)步驟與操作技巧,需要的朋友可以參考下
    2020-01-01
  • Spring如何基于注解配置使用ehcache

    Spring如何基于注解配置使用ehcache

    這篇文章主要介紹了Spring如何基于注解配置使用ehcache,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • JAVA項目常用異常處理匯總

    JAVA項目常用異常處理匯總

    這篇文章主要介紹了JAVA項目常用異常處理匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • POI通過模板導出EXCEL文件的實例

    POI通過模板導出EXCEL文件的實例

    下面小編就為大家?guī)硪黄狿OI通過模板導出EXCEL文件的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 使用Spring Data Redis實現(xiàn)數據緩存的方法

    使用Spring Data Redis實現(xiàn)數據緩存的方法

    目前在系統(tǒng)架構設計中使用Redis實現(xiàn)緩存,這篇文章主要介紹了使用Spring Data Redis實現(xiàn)數據緩存的方法,具有一定的參考價值,需要的朋友可以參考下
    2018-11-11
  • mybatis-plus實現(xiàn)自定義SQL、多表查詢與多表分頁查詢語句實例

    mybatis-plus實現(xiàn)自定義SQL、多表查詢與多表分頁查詢語句實例

    mybatisplus是個很好用的插件,相信小伙伴們都知道,下面這篇文章主要給大家介紹了關于mybatis-plus實現(xiàn)自定義SQL、多表查詢與多表分頁查詢語句的相關資料,需要的朋友可以參考下
    2022-09-09
  • Java中2個Integer比較相同的四種方式舉例

    Java中2個Integer比較相同的四種方式舉例

    這篇文章主要介紹了Java中比較兩個Integer對象的四種方式,并解釋了每種方式的原理和適用范圍,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-01-01
  • java實現(xiàn)哈夫曼壓縮的實例

    java實現(xiàn)哈夫曼壓縮的實例

    這篇文章主要介紹了java實現(xiàn)哈夫曼壓縮的實例的相關資料,需要的朋友可以參考下
    2017-07-07
  • Spring @Value注解失效問題解決方案

    Spring @Value注解失效問題解決方案

    這篇文章主要介紹了Spring @Value注解失效問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04

最新評論

岚皋县| 舒兰市| 瓦房店市| 卢湾区| 巴南区| 竹山县| 阳泉市| 合水县| 成都市| 松阳县| 丹阳市| 潜山县| 柯坪县| 莎车县| 许昌县| 佛学| 明光市| 铅山县| 达州市| 宜川县| 民县| 华亭县| 含山县| 于都县| 镇巴县| 绥德县| 万载县| 合江县| 平潭县| 武邑县| 澎湖县| 张北县| 铜川市| 黔江区| 盘锦市| 尖扎县| 民丰县| 邓州市| 台南市| 乐陵市| 陆良县|