使用fastjson与SpringMVC实现自定义HttpMessageConverter接收和获取JSON格式的数据

1.下载Spring、fastjson的jar包以及jQuery和json2的js文件,向项目的WEB-INF/lib目录加入Spring和fastjson的jar包,在WebContent目录下创建一个js文件夹,向js文件夹中加入jQuery和json2的js文件。

2.配置web.xml:配置SpringMVC前端控制器



  FastjsonRequestTest
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
     
  springmvc
  org.springframework.web.servlet.DispatcherServlet
  
  	contextConfigLocation
  	classpath:springmvc.xml
  
  
  1
  
  
  springmvc
  *.action
  

3.编写实体类(bean):

package com.domain;

import java.io.Serializable;

public class Book implements Serializable{

	private Integer id;
	private String name;
	private String author;
	public Book() {
		// TODO Auto-generated constructor stub
	}
	public Book(Integer id,String name, String author) {
		this.id = id;
		this.name = name;
		this.author = 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;
	}
	@Override
	public String toString() {
		return "Book [id=" + id + ", name=" + name + ", author=" + author + "]";
	}
	
}


4.编写index.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




测试接收JSON格式的数据






编号:
书名:
作者:

5.编写handler处理器:BookController.java

package com.controller;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import com.alibaba.fastjson.JSONObject;
import com.domain.Book;

@Controller
public class BookController {

	@RequestMapping(value="/testRequestBody")
	public void setJson(
			@RequestBody Book book,
			HttpServletResponse response
			) throws IOException{
		book.setAuthor("张三");
		response.setContentType("text/html;charset=UTF-8");
		//JSONobject-lib包是一个beans,collections,maps,java arrays和xml与JSON互相转换的包
		//使用JSONobject将book对象转换成json写出到客户端
		PrintWriter out =  response.getWriter();
		out.println(JSONObject.toJSONString(book));
	}
}


6.配置SpringMVC配置文件:springmvc.xml



	
	
	
	
		
		
			
			
			
			
			
			
			
			
				
				
					
						
						text/html;charset=UTF-8
						application/json;charset=UTF-8
					
				
			
		
	
	
	
	
	
		
		
		
			.jsp
		
	
	

执行前index.jsp显示如下:

使用fastjson与SpringMVC实现自定义HttpMessageConverter接收和获取JSON格式的数据_第1张图片

执行点击后,结果如下:


你可能感兴趣的:(JavaEE)