# 第十四章:JSON 数据和 RESTful 风格的 url ## 1.JSON: JavaSript Object Notation > JSON数据的两种数据结构: > > 1.对象结构 > > 2.数组结构 ## 2.第13章和第14章的区别: 第13章:发送ur1,请求控制器中的某个方法,该方法返回jsp页面 第14章:发送url,请求webapp下的jsp页面,该页面中包含一个门S0N数据,该数据会被传递到控制器中的某个方法上,然后方法再将数据返回显示到浏览器中。 ## 3.验证JS0N数据和Java类对象的转换 ### 1.创建项目,导包: ```java org.springframework spring-web 4.3.6.RELEASE org.springframework spring-webmvc 4.3.6.RELEASE com.fasterxml.jackson.core jackson-annotations 2.8.8 com.fasterxml.jackson.core jackson-core 2.8.8 com.fasterxml.jackson.core jackson-databind 2.8.8 ``` ### 2.web.xml文件 ```java index.jsp index1.jsp springmvc org.springframework.web.servlet.DispatcherServlet springmvc / ``` ### 3.springmvc-servlet.xml文件 ```java ``` ### 4.创建实体类对象User ```java package com.gzh.po; private String username; private String password; 通过 getter setter 和 toString 方法生成代码 ``` ### 5.在WEB-INF下创建 index.jsp ```html 测试JSON交互
用户名
密码
``` ### 6.导入文件 jquery-1.11.3.min.js 在webapp下创建文件夹 js 在文件夹下复制文件 ![image-20220513233035481](https://lsky.hhdxw.top/imghub/img/image-20220513233035481.png) ### 7.创建UserController方法 ```java package com.gzh.controller; @Controller public class UserController { @RequestMapping("/testJson") @ResponseBody public User testJson(@RequestBody User user){ System.out.println(user); return user; } } ``` ### 8.发布项目 ![image-20220513231414012](https://lsky.hhdxw.top/imghub/img/image-20220513231414012.png) ## 4.RESTful支持 ### 1.在 UserController 方法中添加查询方法 ```java /** *接收RESTful风格的请求,其接收方式为GET */ @RequestMapping(value="/user/{id}",method= RequestMethod.GET) @ResponseBody public User selectUser(@PathVariable("id") String id){ //查看数据接收 System.out.println("id="+id); User user=new User(); //模拟根据id查询出到用户对象数据 if(id.equals("1234")){ user.setUsername("tom"); } //返回JSON格式的数据 return user; } ``` ### 2.编写页面文件 restful.jsp ```html RESTful测试
编号:
``` ### 3.发布项目 ![image-20220513232938453](https://lsky.hhdxw.top/imghub/img/image-20220513232938453.png)