5.1 接收json数据和响应json数据
5.1.1 导入支持json的包文件
导入文件上传的jar包为:
jackson-annotations-2.4.0.jar
jackson-core-2.4.2.jar
jackson-databind-2.4.2.jar
5.1.2 创建页面json.jsp
在项目的WebRoot目录下新建js目录,并将jquery文件放入该文件夹中。
创建json.jsp夜间文件。
示例:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>json数据处理</title>
<script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
<script type="text/javascript">
$(function () {
$("#putAndGetJson").click(function () {
//发出一个请求,请求中携带json格式数据
$.ajax({
url:"json/test1.action",
data:'{"userName":"jack","userPass":"123456"}',
contentType:"application/json",
type:"psot",
success:function(data){
alert(JSON.stringify(data))
},
dataType:"json"
})
})
});
</script>
<h3>默认参数类型</h3>
<input type="button" id="putAndGetJson" value="传输和获取json数据"/>
</body>
</html>
5.1.3 编写JsonController处理请求
示例:
package com.marshal.study.springmvc.controller;
import com.marshal.study.springmvc.entity.User;
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;
@Controller
@RequestMapping("/json")
public class JsonController {
//@RequestBody:代表接收页面的json数据
//@ResponseBody:代表Controller返回json数据
@RequestMapping("/json")
@ResponseBody
public User test1(@RequestBody User user){
System.out.println(user.getUserName());
System.out.println(user.getUserPass());
return user;
}
}