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 ...
随机推荐
- Linq限定操作之All,Any,Contains源码分析
Linq限定操作之All,Any,Contains源码分析 linq的限定操作 常见的限定操作: All,Any,Contains 一:All 1. 解释: 确定序列中的所有元素是否满足条件. 从字面 ...
- WPF 添加OCX控件
1. 在计算机上安装OCX控件 2.创建WPF应用程序 3.打开工具箱 4.单击COM 组件选项卡上,选择安装的控件,,然后单击确定,将控件添加到工具箱 5.在解决方案资源管理器,右键单击UserCo ...
- 三个数组求中位数,并且求最后中位数的中位数-----C++算法实现
文件Median.h #include <list> class CMedian { public: explicit CMedian(); virtual ~CMedian(); voi ...
- codeforces|CF1054D Changing Array
因为数据范围是2e5级别的,所以我们考虑用异或前缀和来处理区间的异或情况.(比如说a包括b,那么我们通过异或可以知道b对于a的补区间的信息) 之后因为对任意\(a_i\)进行取反操作,会改变它和它之后 ...
- OCP 12c最新考试原题及答案(071-8)
8.(5-4) choose the best answer:You need to produce a report where each customer's credit limit has b ...
- “全栈2019”Java第二十五章:流程控制语句中循环语句while
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- [BZOJ2049] [SDOI2008] 洞穴勘测
题目描述 辉辉热衷于洞穴勘测. 某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴.假 ...
- 在swift工程调用第三方库,Bridging导入头文件提示not found解决办法
swift语言简洁,上手之后感觉还不错,今天在使用swift调用cocoapods的AFNetworking时候总是提示“'AFNetworking/AFNetworking.h' file not ...
- 逆向学习-DLL注入
DLL注入技术,可以实现钩取API,改进程序,修复Bug. DLL注入指的是向运行中的其他进程强制插入特定的DLL文件. DLL注入命令进程自行调用LoadLibrary()API,加载用户指定的DL ...
- 故障排查-linux命令测试端口连通性
方法一:telnet法 预置条件:安装telnet step 1.rpm -qa telnet-server(无输出表示telnet-server未安装,则执行step2:否则执行step3) ste ...