国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

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

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

springMvc注解之@ResponseBody和@RequestBody詳解

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

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

簡介

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

如果傳輸的是單層json對象,我們后臺可以直接用 @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";
}

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

@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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一区二区三区在线 | 中文字幕不卡 | 永久av | 国产精品99久久久久久动医院 | 一区二区三区欧美 | 成人精品视频免费 | 日韩欧美一区二区在线视频 | 人人草人人干 | 91 在线 | 91精品久久久久久久久久入口 | 免费在线观看毛片 | 成人在线免费观看 | 欧美久久久久久久 | 国产婷婷在线观看 | 国产激情在线观看 | 激情五月激情综合网 | 亚洲高清视频一区 | 91亚洲精品在线 | 一级毛片视频 | 久久久亚洲国产美女国产盗摄 | 视频一区二区三区在线观看 | 国产精品一区视频 | 中文字幕亚洲一区二区三区 | 久精品视频 | 日本三级视频 | 国产一区不卡视频 | 天天看天天爽 | 中文字幕亚洲视频 | 不卡一区 | 成人精品久久久 | 亚洲专区国产精品 | 欧美高清成人 | 3344视频| 国产一卡二卡三卡 | 久久免费公开视频 | 精品国产黄a∨片高清在线 91精品国产91久久久 | 日韩精品一区二区三区中文字幕 | 欧美性猛片aaaaaaa做受 | 成人在线一区二区 | 精品国产乱码久久久久久影片 | 国产成人免费视频网站高清观看视频 |