在web开发中,前台页面经常会发送ajax请求从后台请求数据,ajax请求给前台的数据一般都是json 数据。
SpringMVC支持自动将对象转换JSON格式的数据响应给客户端
SpringMVC默认使用的是 jackson 作为对象转json的工具
配置步骤
第一步:在原有的基础上导入json相关依赖包
第二步:编写controller
package cn.zj.springmvc.controller;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import cn.zj.springmvc.pojo.User;
@Controller
@RequestMapping("/json")
public class ResponseController {
/*
*
* @ResponseBody
* 直接将方法以字符串的形式响应给浏览器,不在有跳转
* JackSon
* 将返回的字符串转化成JSON格式的字符串
*
* @ResponseBody + JackSon 此方法返回的就是json
*/
@RequestMapping("getSigleObject")
@ResponseBody
public User getSigleObject() {
User user = new User();
user.setUsername("lilei");
user.setPassword("lileiabc321");
user.setEmail("lilei@qq.com");
return user;
}
/*
*
* @ResponseBody
* 直接将方法以字符串的形式响应给浏览器,不在有跳转
* JackSon
* 将返回的字符串转化成JSON格式的字符串
*
* @ResponseBody + JackSon 此方法返回的就是json
*/
@RequestMapping("getUsers")
@ResponseBody
public List<User> getUsers() {
List<User> users = new ArrayList<User>();
for (int i = 0; i < 10; i++) {
User user = new User();
user.setUsername("lilei :"+i);
user.setPassword("lileiabc321 :"+i);
user.setEmail("lilei@qq.com");
users.add(user);
}
return users;
}
}