首先jsp页面为
**
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/json2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
testjson2();
});
function testjson2(){
$.ajax({
url:"${pageContext.request.contextPath}/json/testRequestBody.htm",
dataType:"json",//预期服务器返回的类型
type:"post",
contentType:"application/json",//发送信息到服务器时编码格式
//发送到服务器的数据
data:JSON.stringify({id:1,name:"SpringMVC 企业应用实战"}),
async:true,//表示异步
success:function(data){
$("#id").html(data.id);
$("#name").html(data.name);
$("#auther").html(data.auther);
},
error:function(){
alert("数据发送失败");
}
});
}
</script>
</head>
<body>
编号:<span id="id"></span><br>
书名:<span id="name"></span><br>
作者:<span id="auther"></span><br>
</body>
**
创建一个实体类Book
package cn.com.icreate.bean;
import java.io.Serializable;
public class Book implements Serializable{
private int id;
private String name;
private String auther;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuther() {
return auther;
}
public void setAuther(String auther) {
this.auther = auther;
}
}
创建后台控制类
package cn.com.icreate.controller;
import javax.servlet.http.HttpServletResponse;
import org.codehaus.jackson.map.ObjectMapper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import cn.com.icreate.bean.Book;
/**
* 书籍控制类
* @author Zachary (为上帝所心仪的人)
* @date 2017年8月20日
* @project testSSM
* @package cn.com.icreate.controller
*/
@Controller
@RequestMapping(value=”/json”)
public class BookController {
@RequestMapping(value="/testRequestBody")
public void setJson(@RequestBody Book book,HttpServletResponse response) throws Exception, Exception, Exception{
//ObjectMapper 类时Jackson 库的主要类,它提供了一些功能将Java转换为对应的json数据
ObjectMapper mapper = new ObjectMapper();
System.out.println(book);
book.setAuther("令狐冲");
response.setContentType("text/html;charset=UTF-8");
//将Book对象转换成json写出到客户端
response.getWriter().print(mapper.writeValueAsString(book));
}
}
运行:
将项目部署到服务器上并且启动服务器
如果jsp页面在webroot下面即可直接访问页面,如果在web-inf下面需要通过控制类的方法进行跳转
一访问页面,页面会自动加载ready函数执行ajax所在的函数