SpringMVC---请求与响应的处理(实战三)

本篇文章讲述对JSON数据的处理,关于响应的处理可以看我第二篇文章
链接地址:https://segmentfault.com/a/11...

前期准备

使用环境

  • JDK:1.8
  • Tomcat:9.0.3
  • Spring:5.2.8
  • Maven:3.6.3
  • 编译器:IntelliJ IDEA 2019

web.xml配置



     
      
        mvc
        org.springframework.web.servlet.DispatcherServlet
         
            contextConfigLocation
        classpath:ApplicationContext.xml
         
    
     
        mvc
        *.do
     

ApplicationContext.xml配置(Spring核心配置文件)




    
     
    
     

JSON数据的处理

浏览器通过ajax发送JSON数据

点击button,发送JSON数据

<%@ page contentType="text/html; charset=UTF-8" language="java" %>


 
 
 cai jin hong
 


 

服务器接收JSON数据

  • 注意:需要引入jackson-core、jackson-databind和jackson-annotations包
  • 使用@RequestBody注解,表明接收的参数是JSON格式的,如果发送的JSON对象的key名字刚好是实体对象的属性名字,那么只要我们的方法参数写的是实体对象类型,mvc会包装成我们要求的类型
  • 代码如下:
@Controller
public class UserController {
    //方法中传入实体对象:对象里面有list集合
 @RequestMapping("test.do")
    public void testFive(@RequestBody User user){
        System.out.println(user);
 }
}

服务器响应JSON数据

  • 注意:需要引入jackson-core、jackson-databind和jackson-annotations包
  • 响应实体对象:使用@ResponseBody注解,直接返回实体对象(mvc会把它转换成JSON格式的数据)

    • 代码如下:
    @Controller
    public class UserController {
        //方法中传入实体对象:对象里面有list集合
        @RequestMapping("test.do")
        @ResponseBody
        public User testFive(User user){
            System.out.println(user);
            return user;
        }
    }
  • 不论是响应Map、list还是Set集合,都是一样的用法
  • 如果是返回String,并且搭配@ResponseBody,那么是直接相应会给浏览器,而不是转发/重定向

你可能感兴趣的:(spring,spring-mvc)