SpringMVC处理Ajax请求

一、修改pom文件或引入相关jar包

Spring使用了jackson类库,帮助我们在java对象和json、xml数据之间的互相转换。他可以将控制器返回的对象直接转换成json数据,供客户端使用。客户端也可以传送json数据到服务器进行直接转换。

  1. maven项目修改pom文件:

       
         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  
       
    
  2. 非maven项目导入jar包:
    jackson-core-2.9.0.jar
    jackson-databind-2.9.0.jar
    jackson-annotations-2.9.0.jar

二、修改springMVC配置文件

在SpringMVC3.1之后对json的解析采用了新的HandlerAdapter,之前一直使用的是AnnotationMethodHandlerAdapter,在此之后推荐使用RequestMappingHandlerAdapter,我会将之前和之后的配置都贴出来,供选择使用。

  1. SpringMVC 3.1之前的配置:

     
       
       
         
         
             
               
             
       
    
    
  2. SpringMVC 3.1之后的配置:

     
       
     
         
             
               
             
       
     
    
三、服务端代码
@RequestMapping ( "/test5" )    
public @ResponseBody List  test5(@RequestParam("name")String uname) { 
      System.out.println(uname);
      User u1=new User();User u2=new User();
      u1.setUsername("李四");
      u2.setUsername("张三");
      List list=new ArrayList();
      list.add(u1);
      list.add(u2);
      return list;
}

注意: 使用@RequestBody绑定返回(或请求)对象,Spring会帮你进行协议转换,转换成你想要的类型格式。

四、HTML代码
<%@ page language="java" contentType="text/html; 
    charset=utf-8" pageEncoding="utf-8"%>

<%@ include file="/common/tag.jsp"%>



  测试ajax请求页面
  
  
  


    
    
    
五、结束语

好了,通过上面的操作,您已经实现了ajax的请求处理了吧,你会发现SpringMVC对ajax请求的处理真的是异常的简单,当然了如果觉得jar包中提供的转换器用着不爽,还可以自己去写一个对应的适配器的类(实现HttpMessageConverter接口),然后放到messageConverters里即可,观察源码的话你会发现messageConverters采用了适配器模式对数据进行转换。

你可能感兴趣的:(SpringMVC处理Ajax请求)