Spring MVC接受JSON格式的数据

来源:互联网 发布:某公司网络推广策划书 编辑:程序博客网 时间:2024/04/29 11:17

 前端部分:

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>测试接收JSON格式的数据</title><script type="text/javascript" src="js/jquery-1.11.0.min.js"></script><script type="text/javascript" src="js/json2.js"></script><script type="text/javascript">$(document).ready(function(){testRequestBody();});function testRequestBody(){$.ajax("${pageContext.request.contextPath}/json/testRequestBody",// 发送请求的URL字符串。{dataType : "json", // 预期服务器返回的数据类型。   type : "post", //  请求方式 POST或GET    contentType:"application/json", //  发送信息至服务器时的内容编码类型   // 发送到服务器的数据。    data:JSON.stringify({id : 1, name : "Spring MVC企业应用实战"}),    async:  true , // 默认设置下,所有请求均为异步请求。如果设置为false,则发送同步请求   // 请求成功后的回调函数。   success :function(data){   console.log(data);  $("#id").html(data.id);  $("#name").html(data.name);  $("#author").html(data.author);   },   // 请求出错时调用的函数   error:function(){   alert("数据发送失败");   }});}</script></head><body>编号:<span id="id"></span><br>书名:<span id="name"></span><br>作者:<span id="author"></span><br></body></html>

2.JavaBean

 User.java

package com.bean;import java.io.Serializable;public class Book implements Serializable {private Integer id;private String name;private String author;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}@Overridepublic String toString() {// TODO Auto-generated method stubreturn "Book [id=" + id + ", name=" + name + ", author=" + author + "]";}}

3.控制类

 BookController.java

package com.control;import javax.servlet.http.HttpServletResponse;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;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 com.bean.Book;@Controller@RequestMapping("/json")public class BookController {   private static final Log logger = LogFactory.getLog(BookController.class);   // @RequestBody根据json数据,转换成对应的Object   @RequestMapping(value="/testRequestBody")   public void setJson(@RequestBody Book book,HttpServletResponse response) throws Exception{  // ObjectMapper类是Jackson库的主要类。它提供一些功能将Java对象转换成对应的JSON格式的数据   ObjectMapper mapper =new ObjectMapper();  // 将book对象转换成json输出   logger.info(mapper.writeValueAsString(book));   book.setAuthor("海哥");   response.setContentType("text/html;charset=UTF-8");  // 将book对象转换成json写出到客户端   response.getWriter().println(mapper.writeValueAsString(book));   }}

截图:



0 0
原创粉丝点击