Spring MVC Ajax Json交互配置

Ajax Json交互分为两个方向:

  1. 前端到后台:前端ajax发送json格式字符串,后台直接接收为pojo参数,后台使用@RequstBody;
  2. 后台到前端:后台直接返回pojo对象,前端接收未json对象或者字符串,后台使用注解@ResponseBody;

@ResponseBody注解

@ResponseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换成指定格式后,写入到response对象的body区,通常用来返回JSON数据或者XML数据。注意:在使用此注解之后不会在走视图解析器,而是直接将数据写入到输入流中,它的效果等同于通过response对象输出指定格式的数据。

Spring MVC 使用JSON交互

引入json相关jar包

Spring MVC想要使用JSON进行数据交互,需要引入基础的JSON依赖包

    
    
      com.fasterxml.jackson.core
      jackson-core
      2.9.0
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.9.0
    
    
      com.fasterxml.jackson.core
      jackson-annotations
      2.9.0
    
    

代码事例

  • 前端页面及js代码
  1. 引入jquery.min.js
    将ajax需要使用到的jquery.min.js放置到WEB-INF目录中


    jquery.min.js
  2. Spring MVC 处理静态资源
    修改springmvc.xml文件,添加 mvc:resources 标签,让SpringMVC框架自己处理静态资源,否则前端ajax的js无法使用jquery.min.js
        
        
  1. jsp页面代码
    

Ajax json交互

  1. ajax js请求代码

    SpringMVC 测试页


    

    


    

  • 后台Handler代码
    前端通过ajax向后台发送请求,将user对象转换成JSON字符串请求到后台的Handler。后台的Handler收到JSON数据后,通过@RequestBody注解将JSON字符串转换成User对象,后台Handler修改User对象后,通过@ResponseBody注解将user对象转换成JSON字符串,响应到页面。
    /**
     * 添加@ResponseBody之后,不再走视图解析器那个流程,
     * 而是等同于response直接输出 数据
     */
    @RequestMapping("/handle07")
    public @ResponseBody User handle07(@RequestBody User user) {
        System.out.println(user);
        // 业务逻辑处理,修改name为张三丰 
        user.setName("张三丰");
        return user;
    }

你可能感兴趣的:(Spring MVC Ajax Json交互配置)