激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|

服務器之家 - 編程語言 - JAVA教程 - springMvc注解之@ResponseBody和@RequestBody詳解

springMvc注解之@ResponseBody和@RequestBody詳解

2020-10-27 16:35小嘚瑟 JAVA教程

本篇文章主要介紹了springMvc注解之@ResponseBody和@RequestBody詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

簡介

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

添加依賴

springmvc對json的處理依賴jackson

?
1
2
3
4
5
6
7
8
9
10
<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配置

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

@ResponseBody

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

?
1
2
3
4
5
6
7
8
9
10
11
$.ajax({
  type : "post",
  dataType : "json",
  url : "/testRequestBody",
  data:{
    name:"韋德",
    age:35
  },
  success : function(result) {
  }
});
?
1
2
3
4
5
@RequestMapping("/testRequestBody")
public String testRequestBody(@RequestParam Map<String, Object> map) {
 System.out.println(map);// {name=韋德, age=35}
 return "index";
}

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
$.ajax({
  type : "post",
  dataType : "json",
  url : "/testRequestBody",
  contentType:"application/json"
  data:JSON.stringify({
    name:"韋德",
    win:[2006,2012,2013],
    age:35
  }),
  success : function(result) {
  }
});
?
1
2
3
4
5
@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格式,往常我們可以這樣做

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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就派上用場了,只需要一個注解,全部搞定

?
1
2
3
4
5
6
7
8
$.ajax({
  type : "post",
  dataType : "json",
  url : "/testResponseBody",
  success : function(result) {
    console.info(result);
  }
});
?
1
2
3
4
5
6
7
8
@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輸出

?
1
2
3
4
{
  "age": 35,
  "name": "韋德"
}

總結

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

springMvc注解之@ResponseBody和@RequestBody詳解

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

原文鏈接:http://www.cnblogs.com/zhaoguhong/p/6882776.html?utm_source=tuicool&utm_medium=referral

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 激情福利视频 | 福利一区二区三区视频在线观看 | 黄色视屏免费观看 | 热re91久久精品国产99热 | av播播| 国产精品一区久久久久 | 日本黄网 | 青青草免费观看 | 亚洲片在线 | 一级做人爱c黑人影片 | 久草在线视频网 | 国产精品爱久久久久久久 | www.精品视频 | 99在线在线视频免费视频观看 | 国产成人精品一区二区仙踪林 | 亚洲亚色 | 91av久久 | 国产亚洲精品久久777777 | 久久成人黄色 | 羞羞色在线观看 | 羞羞答答影院 | 韩国一级免费视频 | 日本高清在线免费 | 毛片a片免费看 | 国产va在线观看免费 | 色妞色视频一区二区三区四区 | 日韩欧美视频一区二区三区 | 日韩精品一区二区免费视频 | h色在线观看 | 成人免费网站在线观看视频 | 久久国产精| 亚洲精品aaaaa | 麻豆视频免费网站 | 亚洲一区二区三区四区精品 | 久久网一区二区 | 一级免费观看 | 2021狠狠操 | 欧美大胆xxxx肉体摄影 | 日本中文字幕电影在线观看 | 免费毛片随便看 | 黄色av电影在线播放 |