SpringMVC的json交互
一、注解说明
1、@RequestBody
作用:@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为json、xml等格式的数据并绑定到controller方法的参数上。
2、@ResponseBody
作用:@ResponseBody注解用于将Controller的方法返回的对象,通过HttpMessageConverter接口转换为指定格式的数据,如json、XML等,通过response响应给客户端。
二、请求json,响应json
1、加入jar包
springmvc默认使用MappingJacksonHttpMessageConverter对json数据进行转换,需要加入jackson的jar包。

2、配置json转换器
第一种方式:使用注解适配器的配置方式。
<!--注解适配器 -->
<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>
第二种方式:使用注解驱动方式,则不需要进行任何配置即可使用。
3、controller方法获取json,响应json
@RequestMapping("/updateitemsByJson")
//使用注解,接受json,返回json
public @ResponseBody ItemsCustom updateitemsByJson(@RequestBody ItemsCustom itemsExtend) throws Exception{
System.out.println(itemsExtend);
return itemsExtend;
}
4、编写jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>修改商品信息</title>
<!--引入jquery-->
<script type="application/javascript" src="${pageContext.request.contextPath}/js/jquery-1.4.4.min.js"></script>
<!--ajax异步请求-->
<script type="application/javascript">
function request_json() {
$.ajax({
type :"post",
url:"${pageContext.request.contextPath}/updateitemsByJson.action",
contentType:"application/json;charset=utf-8",
data:'{"id":1,"name":"笔记本","price":5005}',
success:function (date) {
alert(date.toString())
}
});
}
</script>
</head>
<body>
<input type="button" value="请求json" onclick="request_json()">
</body>
</html>
5、测试结果
请求:

响应:

三、请求key/value,返回json
1、加入jar包
springmvc默认使用MappingJacksonHttpMessageConverter对json数据进行转换,需要加入jackson的jar包。

2、配置json转换器
第一种方式:使用注解适配器的配置方式。
<!--注解适配器 -->
<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>
第二种方式:使用注解驱动方式,则不需要进行任何配置即可使用。
3、controller方法获取key/value,响应json
@RequestMapping("/updateitemsByJson1")
//使用注解,接受json,返回json
public @ResponseBody ItemsCustom updateitemsByJson1(ItemsCustom itemsExtend) throws Exception{
System.out.println(itemsExtend);
return itemsExtend;
}
4、jsp页面编写
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>修改商品信息</title>
<!--引入jquery-->
<script type="application/javascript" src="${pageContext.request.contextPath}/js/jquery-1.4.4.min.js"></script>
<!--ajax异步请求-->
<script type="application/javascript">
function response_json() {
$.ajax({
type:"post",
url:"${pageContext.request.contextPath}/updateitemsByJson1.action",
/* contentType:"application/x-www-from-urlencode",*/
data:"id=1&name=笔记本&price=500",
success:function (data) {
alert(data.toString());
}
});
}
</script>
</head>
<body>
<input type="button" value="响应json" onclick="response_json()">
</body>
</html>
5、测试结果
请求:

响应:

SpringMVC的json交互的更多相关文章
- springmvc实现json交互 -requestBody和responseBody
json数据交互 1.为什么要进行json数据交互 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据. 2. ...
- SpringMVC之JSON交互
#什么是json? json是一种用于储存数据格式,是js脚本语言的子集. #json的作用? 它可以传递对象.数组等数据结构.如果是单个数据,则要用数组,不用对象,因为对象都是键值对的 方式去存储, ...
- Ajax和SpringMVC之间JSON交互
Ajax和SpringMVC之间的json数据传输有两种方式: 1.直接传输Json对象 2.将Json序列化成json字符串 1.直接传输Json对象 前端Ajax $(document).read ...
- springmvc之json交互406异常(Not Acceptable)和415异常(Unsupported Media Type)
一. 406异常(Not Acceptable) 1. 没有添加jackson-databind包2. 请求的url的后缀是*.html.在springmvc中如果请求的后缀是*.html的话,是不可 ...
- 九 SpringMvc与json交互
将json输出到页面: 1 加入jar包 2 配置Controller层,开启注解ResponseBody,将json发送到页面: 3 访问url 4 响应json,在形参列表里面加上注解
- SpringMVC详解(六)------与json交互
Json(JavaScript Object Notation),它是一种轻量级数据交换格式,格式简单,易于读写,目前使用特别广泛.那么这篇博客我们主要谈谈在 SpringMVC 中,如何对 json ...
- SpringMVC学习--json
简介 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便.比如:webservice接口,传输json数据. springmvc与json交互 @RequestB ...
- SpringMVC框架五:图片上传与JSON交互
在正式图片上传之前,先处理一个细节问题: 每一次发布项目,Tomcat都会重新解压war包,之前上传过的图片会丢失 为了解决这个问题:可以不在Tomcat下保存图片,而是另找一个目录. 上传图片: & ...
- springMVC的高级数据绑定,以及json交互,全局异常配置,
一.窄化请求映射 1.在class上添加@RequestMapping(url)指定通用请求前缀, 限制此类下的所有方法请求url必须以请求前缀开头,通过此方法对url进行分类管理. 如下: @Con ...
随机推荐
- TDE--相关Demo
SQL Server 2008引入透明数据加密(Transparent Data Encryption),它允许你完全无需修改应用程序代码而对整个数据库加密.当一个用户数据库可用且已启用TDE时,在写 ...
- IOS 6 自动布局 入门
http://blog.csdn.net/itianyi/article/details/8535392
- 开源的 .Net Core MVC CMS 推荐
简介 ZKEACMS Core 是基于 ZKEACMS 的 Asp.Net Core 版本. 架设环境: .Net Core 跨平台 Microsoft Sql Serverl 2008 或以上 .N ...
- Centos部署Abp zero常见问题及处理
多租户切换,多语言切换异常 解决: 修改nginx配置,在nginx.conf中 增加 #多租户问题 ignore_invalid_headers off; 修改应用程序Logo异常处理 异常: Sy ...
- 使用System.Data.SQLite及其EF模块操作SQLite数据库(文件)
SQLite for .NET (System.Data.SQLite) introduction An ADO.NET provider for SQLite including EF and Li ...
- 线上 ELK 集群健康值 red 状态问题排查与解决
之前一直运行正常的数据分析平台,最近一段时间没有注意发现日志索引数据一直未生成,大概持续了n多天,当前状态: 单台机器, Elasticsearch(下面称ES)单节点(空集群),1000+shrad ...
- mongodb 连接字符串
mongodb 连接字符串 <!--连接字符串--> <add key="ts.students" value="mongodb://192.168.0 ...
- Javascript中的闭包(转载)
前面的话: 闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它.下面是作者从作用域链慢慢讲到 ...
- 最大子段和问题(dp)
最大子段和问题 给出一个整数数组a(正负数都有),如何找出一个连续子数组(可以一个都不取,那么结果为0),使得其中的和最大? 例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4, ...
- “全栈2019”Java第七十章:静态内部类详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...