初见SpringMVC之json交互

初见SpringMVC之json交互

JSON数据是一种存储数据的格式,前后台之间通过json数据进行交互是非常常见的应用场景。SprinMVC提供了JSON数据的支持,可以将携带的json字符串转换成java对象,也可将java对象转换成json字符串。

  1. 导入JSON相关的包
6255308-8978bdcd16efa7f5.png
图 1.1 完成json数据转换需要的包
  1. SpringMVC将json转换成java对象
  • 在WebConten目录下,创建一个json.html,该html中,利用ajax完成发送网络请求,并且携带的参数是json数据
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<scripttype="text/javascript" src="http://localhost:8080/HelloSpringMV/js/jquery-1.11.3.min.js"></script>
<title>hiJson</title>
<scripttype="text/javascript">
    functionhelloJson(){
       alert("发送请求");
        var userName = $("#userName").val();
        var password =$("#password").val();
        $.ajax({
            url:"http://localhost:8080/HelloSpringMV/helloJson",
            type:"post",
            data:JSON.stringify({userName:userName,password:password}),
            asyn:false,
            success:function(data){
               alert(data.userName);
               alert(data.password);
            },
            dataType:"json",
            contentType:"application/json;charset=UTF-8"
        });
    }
</script>
</head>
<body>
    用户名<input type="text" name="userName"id="userName"></input></br>
    密码   <input type="text"name="password" id="password"></input></br>
    <input type="button" value="提交" onclick="helloJson()"></input>
</body>
</html>
  • 创建一个名为JsonController的handler类
 @Controller
public class JsonController {
    @RequestMapping("/helloJson")
    publicString HelloJson(@RequestBody User user){
       System.out.print(user.toString());
       return "success";
    }
}

从上述代码可以看见一个新出现的注解,@RequestBody,假如需要将请求参数中的json字符串转换成java对象,就需要配置如下注解。

  • springmvc-config.xml文件中,添加一行配置
<!-- 配置注解驱动 -->
    <mvc:annotation-driven />
  • 测试,在浏览器中访http://localhost:8080/HelloSpringMV/json.html
    6255308-e82f242aeb6716d9
    图2.1 提交请求
6255308-b9943485de90eca3
图2.2服务控制台打印结果
  1. SpringMVC将java对象转换成json字符串
  • 在jsonConroller类中添加一个方法,在方法上面添加@ResponseBody注解,即可将方法的返回对象转换成json数据
@ResponseBody
    @RequestMapping(value="/helloJson1")
    publicUser HelloJson1(){
       User user = new User();
       user.userName="SmartTu";
       user.password="123";
       returnuser;
    }
  • 测试,访问这个url http://localhost:8080/HelloSpringMV/helloJson1
6255308-58e25a12d204a869
图3.1返回结果

从图3.1中可以发现Spring已经将User对象转成成json字符串返回了

Reference:
[1] JavaEE企业级应用开发教程[M] 2017.黑马程序员编著
[2] csdn博客 https://blog.csdn.net/qq_30322803/article/details/78586502

猜你喜欢

转载自blog.csdn.net/weixin_34040079/article/details/87234442