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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - springmvc實(shí)現(xiàn)json交互-requestBody和responseBody

springmvc實(shí)現(xiàn)json交互-requestBody和responseBody

2020-08-28 10:48u013517797 Java教程

本文主要介紹了springmvc實(shí)現(xiàn)json交互-requestBody和responseBody的相關(guān)知識。具有很好的參考價(jià)值。下面跟著小編一起來看下吧

json數(shù)據(jù)交互

1.為什么要進(jìn)行json數(shù)據(jù)交互

json數(shù)據(jù)格式在接口調(diào)用中、html頁面中較常用,json格式比較簡單,解析還比較方便。

比如:webservice接口,傳輸json數(shù)據(jù).

2.springmvc進(jìn)行json交互

springmvc實(shí)現(xiàn)json交互-requestBody和responseBody

(1)請求json、輸出json,要求請求的是json串,所以在前端頁面中需要將請求的內(nèi)容轉(zhuǎn)成json,不太方便。

(2)請求key/value、輸出json。此方法比較常用。

3.環(huán)境準(zhǔn)備

3.1加載json轉(zhuǎn)的jar包

springmvc中使用jackson的包進(jìn)行json轉(zhuǎn)換(@requestBody和@responseBody使用下邊的包進(jìn)行json轉(zhuǎn)),如下:

jackson-core-asl-1.9.11.jar

jackson-mapper-asl-1.9.11.jar

@RequestBody作用:

@RequestBody注解用于讀取http請求的內(nèi)容(字符串),通過springmvc提供的HttpMessageConverter接口將讀到的內(nèi)容轉(zhuǎn)換為json、xml等格式的數(shù)據(jù)并綁定到controller方法的參數(shù)上。

本例子應(yīng)用:

@RequestBody注解實(shí)現(xiàn)接收http請求的json數(shù)據(jù),將json數(shù)據(jù)轉(zhuǎn)換為java對象

@ResponseBody作用:

該注解用于將Controller的方法返回的對象,通過HttpMessageConverter接口轉(zhuǎn)換為指定格式的數(shù)據(jù)如:json,xml等,通過Response響應(yīng)給客戶端

本例子應(yīng)用:

@ResponseBody注解實(shí)現(xiàn)將controller方法返回對象轉(zhuǎn)換為json響應(yīng)給客戶端

3.2配置json轉(zhuǎn)換器

在注解適配器中加入messageConverters

?
1
2
3
4
5
6
7
8
<!--注解適配器 -->
 <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
  <property name="messageConverters">
  <list>
  <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
  </list>
  </property>
 </bean>

注意:如果使用<mvc:annotation-driven /> 則不用定義上邊的內(nèi)容。

4.json交互測試

4.1輸入json串,輸出是json串

4.1.1jsp頁面

使用jquery的ajax提交json串,對輸出的json結(jié)果進(jìn)行解析。

使用jduery別忘記引入jquery-1.4.4.min.js

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
 <base href="<%=basePath%>" rel="external nofollow" rel="external nofollow" >
<title>json交互測試</title>
 <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.4.4.min.js"></script>
 <script type="text/javascript">
  //請求的是json,輸出的是json
  function reuqestJson(){
   $.ajax({
    type:'post',
url:'${pageContext.request.contextPath }/requestJson.action',
contentType:'application/json;charset=utf-8', 
    //數(shù)據(jù)格式是json串,商品信息
    data:'{"name":"手機(jī)","price":999}',
    success:function(data){//返回json結(jié)果
     alert(data);
    }
   });
  }
 </script>
 </head>
 <body>
 <input type="button" onclick="reuqestJson()" value="請求的是json,輸出的是json"/>
 </body>
</html>

4.1.2controller

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package cn.edu.hpu.ssm.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import cn.edu.hpu.ssm.po.ItemsCustom;
//json交互測試
@Controller
public class JsonText {
 //請求json(商品信息),輸出json(商品信息)
 //@RequestBody將請求的商品信息的json串轉(zhuǎn)成itemsCustom對象
 //@ResponseBody將itemsCustom轉(zhuǎn)成json格式輸出
 @RequestMapping("/requestJson")
 public @ResponseBody ItemsCustom requestJson(@RequestBody ItemsCustom itemsCustom){
  //@ResponseBody將itemsCustom轉(zhuǎn)成json格式輸出
  return itemsCustom;
 }
}

4.1.3測試結(jié)果

springmvc實(shí)現(xiàn)json交互-requestBody和responseBody

4.2輸入key/value,輸出是json串

4.2.1jsp頁面

使用jquery的ajax提交key/value串,對輸出的json結(jié)果進(jìn)行解析。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
 <base href="<%=basePath%>" rel="external nofollow" rel="external nofollow" >
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" >
 <title>json交互測試</title>
 <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.4.4.min.js"></script>
 <script type="text/javascript">
  //請求是key/value,輸出是json
  function responseJson(){
   $.ajax({
     type:'post',
url:'${pageContext.request.contextPath }/responseJson.action',
     //請求的是key/value,這里不需要指定contentType,因?yàn)槟J(rèn)就是key/value類型
     //contentType:'application/json;charset=utf-8',
     //數(shù)據(jù)格式是json串,商品信息
     data:'name=手機(jī)&price=999',
     success:function(data){//返回json結(jié)果
      alert(data);
     }
    });
  }
 </script>
 </head>
 <body>
 <input type="button" onclick="requestJson()" value="請求的是key/value,輸出的是json"/>
 </body>
</html>

4.2.2controller

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package cn.edu.hpu.ssm.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import cn.edu.hpu.ssm.po.ItemsCustom;
//json交互測試
@Controller
public class JsonText {
 //請求key/value(商品信息),輸出json(商品信息)
 @RequestMapping("/responseJson")
 public @ResponseBody ItemsCustom responseJson(ItemsCustom itemsCustom){
  //@ResponseBody將itemsCustom轉(zhuǎn)成json格式輸出
  System.out.println("前臺傳過來得商品名:"+itemsCustom.getName());
  return itemsCustom;
 }
}

4.2.3測試

后臺控制臺輸出了"前臺傳過來的商品名:手機(jī)",且查看http數(shù)據(jù)可以看到j(luò)son數(shù)據(jù)的反饋。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持服務(wù)器之家!

原文鏈接:http://www.lai18.com/content/505491.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 狠狠操狠狠操 | 91精品啪aⅴ在线观看国产 | 影音先锋资源av | 国产成人毛片 | 日日嗨av一区二区三区四区 | 青青久视频 | 欧美激情视频一区二区三区在线播放 | 日韩免费视频 | 国产欧美日韩在线 | 99热最新网址 | 黄色最新网站 | 91精品国产综合久久久久久 | 91亚洲国产成人久久精品网站 | 超碰九七在线 | 亚洲成人福利网 | 香蕉久久夜色精品国产使用方法 | 日本不卡一区二区三区在线观看 | 亚洲国产精品99久久久久久久久 | 美女88av| 91在线观看 | www.888www看片 | 一 级 黄 色 片免费网站 | 在线免费av电影 | 亚洲欧美激情精品一区二区 | 精品一区二区av | 亚洲国产精品久久久久久久久久久 | 久久av一区二区三区 | 久久精品一区二区三区四区 | 亚洲国产一区二区三区精品 | 黄色a级| 亚洲高清久久 | 国产精品欧美久久久 | 欧美精品一区二区三区四区五区 | 久久中文字幕一区二区 | 国产午夜精品视频 | 久久人人网| 黄色免费视频 | 免费看黄色小视频 | 成人免费视频网站在线观看 | 人人人射| 久草福利|