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只要一个注解就搞定上述输出了!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值