SpringMvc采用 http+json 实现前后端交互
演示列表
报文表示

一、Json请求和Json响应
实现:Spring4.1.1.RELEASE + jackson2.4.4+JQuery1.10.2
1、pom.xml
<properties>
<jackson.version>2.4.4</jackson.version>
</properties>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
2、web.xml


3、SpringRest-servlet.xml

二、业务代碼
1、GetJson2::@RequestBody/Simple- @ResponseBody
1.1、action


1.2、jsp

1.3、測試

2.4、报文
/GetJson.do::JsonParams:param11=req11,param12=req12,param21=req21,param22=req22
/GetJson.do::JsonResBean:HttpResults [result11=res11-req11, result12=res12-req12, result21=res21-req21, result22=res21-req22]
2、PostJson1::@RequestBody/Map - @ResponseBody
2.1、action

2.2、jsp

2.3、測試

2.4、报文
/PostJson1.do::JsonParams:HttpParams [param11=req11, param12=req12, param21=req21, param22=req22]
/PostJson1.do::JsonResBean:HttpResults [result11=res11-req11, result12=res12-req12, result21=res21-req21, result22=res21-req22]
3、PostJson2::@RequestBody/Bean - @ResponseBody
3.1、action

3.2、jsp

3.3、測試

3.4、报文
/PostJson2.do::JsonParams:{param11=req11, param12=req12, param21=req21, param22=req22}
/PostJson2.do::JsonResBean:HttpResults [result11=res11-req11, result12=res12-req12, result21=res21-req21, result22=res21-req22]
4、返回1个参数对象
4.1、代码

4.2、测试

5、返回多个参数对象
5.1、action

5.2、配置 (SpringRest-servlet.xml)

5.3、测试

三、附录
1、@RequestParam
@RequestParam、@RequestBody用于接受客户端的JSON数据,GET请求好像只能用@RequestParam
如果传输的是单层json数据,可以使用@RequestParam接收,它会把前台传输过来的json转化为后台对应的Map<String,Object>对象


2、@RequestBody
@RequestParam、@RequestBody用于接受客户端的JSON数据,GET请求好像不能用@RequestBody
如果传输的是单层json数据,可以使用@RequestBody接收,它会把前台传输过来的json转化为后台对应的Map<String,Object>对象


3、@ResponseBody
@ResponseBody用于将JSON数据返回客户端,如:
ajax请求返回json数据

我们通常这样做,使用response.getWriter()写回json数据:

@ResponseBody只要一个注解就搞定上述输出了!

SpringMvc采用 http+json 实现前后端交互的更多相关文章
- ajax学习----json,前后端交互,ajax
json <script> var obj = {"name": "xiaopo","age": 18,"gender ...
- content-type常见类型辨析(以ajax与springmvc前后端交互为例)
博客搬家: content-type常见类型辨析(以ajax与springmvc前后端交互为例) 在http报文的首部中,有一个字段Content-type,表示请求体(entity body)中的数 ...
- JSON(及其在ajax前后端交互的过程)小识
一. json介绍 json是一种轻量级的数据交换格式,规则很简单: 并列的数据之间用逗号(,)分隔: 映射用冒号(:)表示: 并列数据的集合(数组)用方括号([])表示: 映射的集合(对象)用大括号 ...
- 前后端交互实现(nginx,json,以及datatable的问题相关)
1.同源问题解决 首先,在同一个域下搭建网络域名访问,需要nginx软件,下载之后修改部分配置 然后再终端下cmd nginx.exe命令,或者打开nginx.exe文件,会运行nginx一闪而过, ...
- Django之META与前后端交互
Django之META与前后端交互 1 提交表单之GET 前端提交数据与发送 1)提交表单数据 2)提交JSON数据 后端的数据接收与响应 1)接收GET请求数据 2)接收POST请求数据 3)响应请 ...
- Servlet实现前后端交互的原理及过程解析
在日常调试项目时,总是利用tomcat去启动项目,并进行前后端联调,但对于前后端的请求响应的交互原理及过程并不是特别清晰. 为什么在前端发出相应请求,就能跳转到后端通过程序得到结果再响应到前端页面呢? ...
- web前后端交互,nodejs
手机赚钱怎么赚,给大家推荐一个手机赚钱APP汇总平台:手指乐(http://www.szhile.com/),辛苦搬砖之余用闲余时间动动手指,就可以日赚数百元 web前后端交互 前后端交互可以采用混合 ...
- Node之简单的前后端交互
node是前端必学的一门技能,我们都知道node是用的js做后端,在学习node之前我们有必要明白node是如何实现前后端交互的. 这里写了一个简单的通过原生ajax与node实现的一个交互,刚刚学n ...
- 百度ueditor的图片上传,前后端交互使用
百度ueditor的使用 一个文本编辑器,看了网上很多文档写的很乱,这里拾人牙慧,整理下怎么使用. 这个东西如果不涉及到图片附件上传,其实很简单,就是几个前端文件,直接引用,然后配置下ueditor. ...
随机推荐
- gnuplot画图中文标注相关问题
gnuplot是一个基于命令行的开源跨平台画图工具包,画图功能非常丰富.不过最近在考虑如何在gnuplot图中添加中文标注的过程中遇到了一些问题,记录如下. gnuplot支持多种的输出格式,比如pn ...
- 设计模式——抽象工厂模式(C++实现)
#include <iostream> #include <string> using namespace std; class STAbstractProductA { pu ...
- CSS Grid 网格布局全解析
介绍 CSS Grid(网格) 布局使我们能够比以往任何时候都可以更灵活构建和控制自定义网格. Grid(网格) 布局使我们能够将网页分成具有简单属性的行和列.它还能使我们在不改变任何HTML的情况下 ...
- Gauge----自动化测试工具
* Gauge是一个自动化测试工具,主要是通过.spec 文件指定执行的步骤,然后由Java代码去测试 安装: * 安装插件 Gauge--install-all *在IDEA中安装Gauge插件 基 ...
- POJ-1256 next_permutation函数应用
字典序列: 在字典序中蕴含着一个点,就是大小的问题,谁先出现,谁后出现的问题.譬如a<b<c,出现顺序就是a,b,c. 本题中字符集是所有大小写字母,而题目中规定的谁大谁小已经不是按asc ...
- SpringBoot快速开发REST服务最佳实践
一.为什么选择SpringBoot Spring Boot是由Pivotal团队提供的全新框架,被很多业内资深人士认为是可能改变游戏规则的新项目.早期我们搭建一个SSH或者Spring Web应用,需 ...
- 深入解读 Js 中的面向对象编程
前言:今天看了一篇文章觉得很不错,所以给大家分享一下,也许很多人都看过面向对象编程甚至写过这样博客,觉得面向对象编程就那样,没啥好说的,那可能是因为你对这方面知识已经了解,可以选择性跳过.那如果有更通 ...
- 【Django】Web应用开发经由
[Django开发经由] 本来以为看完网上的入门教程之后就可以看书详细学习一下,没想到手头上的这本书也讲得不是太详细..无奈,不过好在这本书从无到有建立一个网站的流程还算可以,就以这个角度简单记录一下 ...
- JAVA设计模式之【装饰者模式】
JAVA设计模式之[装饰者模式] 装饰模式 对新房进行装修并没有改变房屋的本质,但它可以让房子变得更漂亮.更温馨.更实用. 在软件设计中,对已有对象(新房)的功能进行扩展(装修). 把通用功能封装在装 ...
- Alpha冲刺博客集
传送门 冲刺随笔 Alpha冲刺day1 (10.31):第一天博客地址 Alpha冲刺day2 (11.01):第二天博客地址 Alpha冲刺day3 (11.02):第三天博客地址 Alpha冲刺 ...