接上一篇:springMVC-静态资源
Json处理 1. 导入依赖
com.fasterxml.jackson.core
jackson-databind
2.9.8
- springMVC默认的Json解决方案就是Jackson,所以只要导入jar包就行了
@Controller
@RequestMapping("/join")
public class HelloController {
@RequestMapping("/test1")
@ResponseBody
public User test(){
User user = new User(1,"lyx","2234",new Date());
return user;
}
}
- 这个注解:@ResponseBody的意思就是,把当前Handler,也就是这个test方法的返回值自动转成json格式
- 这个方法的返回值无论是什么类型,只要加了这个注解@ResponseBody,都会被转成json格式,当然如果方法返回值是String类型,就不用转化了,直接返回就行了
- 方法返回值为String
@Controller
@RequestMapping("/join")
public class HelloController {
@RequestMapping(value = "/test",produces = "text/html;charset=utf-8")
@ResponseBody
public String test1(){
System.out.println("test1");
return "你好";
}
}
Tomcat运行,访问路径为:http://localhost:8080/join/test
- 注意如果返回值是中文的话,注解@RequestMapping(),要多加一个属性值produces
@RequestMapping(value = “/test”,produces = “text/html;charset=utf-8”)
加了这个注解,意思是对当前类的每一个handler都追加@ResponseBody这个注解,同时@Controller也不写
3.1 定义Handler//@Controller
@RequestMapping("/join")
@RestController
public class HelloController {
@RequestMapping(value = "/test",produces = "text/html;charset=utf-8")
// @ResponseBody
public String test1(){
System.out.println("test1");
return "你好";
}
@RequestMapping("/test1")
// @ResponseBody
public User test(){
User user = new User(1,"lyx","2234",new Date());
return user;
}
}
4. @RequestBody
使用@RequestBody,接收Json参数
4.1 定义Handlerpublic class User {
private int id;
private String username;
private String password;
private Date birth;
//set get
}
@RequestMapping("/users")
public String addUser(@RequestBody User user){
System.out.println(user);
return "ok!";
}
4.2 定义jsp页面
- 先复制jquery-3.5.1.js到webapp目录下的static/js文件夹下:
- mvc.xml加上访问静态资源的:
- Controller
@RequestMapping("/json")
@RestController
public class JSONController {
@RequestMapping("/test1")
public String test(@RequestBody String user){
User user1 = JSON.parseObject(user, User.class);
System.out.println(user1);
return "index";
}
}
- testJSON.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
- Tomcat运行,访问http://localhost:8080/testJSON.jsp
报错了???找不到jquery-3.5.1?—>去项目里面clean一下,然后重新编译
- Tomcat运行,访问http://localhost:8080/testJSON.jsp
- 控制台输出
总结:Jackson常用注解



