json响应流程
请求-->DispatchServlet
-->HandlerMapping
-->Controller
-->返回数据对象(String/user/list/Map)
-->json响应
怎么用?
-导包 jackson
-配置注解驱动;
-Controller方法上增加@ResponseBody
JsonController.java
package cn.tedu.controller; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import cn.tedu.entity.User; @Controller public class JsonController { @RequestMapping("/json1.do")//匹配请求 @ResponseBody //调用jackson public User loadUser() { User user = new User(1,"Jack","20"); return user; } @RequestMapping("/json2.do") @ResponseBody public List<User> loadUsers(){ List<User> list = new ArrayList<User>(); User user1 = new User(1,"苍#null","18"); User user2 = new User(2,"二蛋","88"); list.add(user1); list.add(user2); return list; } @RequestMapping("/json3.do") @ResponseBody public Map<String, Object> loadDate(){ Map<String, Object> data = new HashMap<String, Object>(); data.put("id", 1); data.put("name", "狗蛋儿"); return data; } }
User.java
package cn.tedu.entity; import java.io.Serializable; public class User implements Serializable{ private int id; private String name; private String age; public User(int id, String name, String age) { super(); this.id = id; this.name = name; this.age = age; } 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 getAge() { return age; } public void setAge(String age) { this.age = age; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", age=" + age + "]"; } public User() { super(); } }