springmvc4整合AJAX使用@ResponseBody注解返回JSON数据格式

    一、在使用springMVC4+Hibernate4集成框架,需要使用到@ResponseBody注解来配合AJAX的使用,

但依靠springMVC3的配置和jar包可能会出现

    1. java.lang.ClassNotFoundException: com.fasterxml.jackson.core.Jso;

    2. java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before ;

等的问题,所以需要配置新增的jar包来实现该功能;

    新的jar包有4个包括:jackson-jr-all-2.4.3.jar;jackson-annotations-2.6.0.jar;jackson-core-2.6.0.jar;jackson-databind-2.6.0.jar;


    二、在此顺便讲一下@ResponseBody的作用:

    1.使用了@ResponseBody能够直接将controller返回的bean对象或map对象等自动进行json或xml格式的转换,无需再使用JSONObject或者

response.setContentType("application/json")+PrintWriter来将返回的bean、String、map对象转换成JSON格式,再输出到页面上;

    即:

    使用之前,普通的配合AJAX需要controller这样返回JSON数据格式:



@ResponseBody注解的使用方式如下,而使用@ResponseBody之后配合AJAX可以controller这样返回JSON格式数据:


springmvc4整合AJAX使用@ResponseBody注解返回JSON数据格式_第1张图片


    2. 还有使用@ResponseBody的一个特别之处就是,在使用此注解之后不会再走返回视图处理器路径,而是直接将数据写入到输入流中,

等同于使用response.getWriter().print(data)输出到页面上;


    三、再链接讲一下,当需要使用@ResponseBody注解时,该如何进行配置呢?

    使用springmvc框架时,第一次使用@ResponseBody注解的时候,可能会试着直接在controller的方法上使用这个注解来返回JSON格式数据,

但是这样往往会得不到预期的效果,会出现很多的exception错误。这种情况是正常的,因为你还没有配置好使用这个@ResponseBody注解的

相关jar包和xml。

    1. 对于springmvc4版本的话,整合AJAX异步更新操作和返回JSON数据,使用@ResponseBody注解的话,相关需要的jar包就是上面的那4个,

下载的链接在博客最后;

    2. 对于xml配置的话,也不是很复杂,只需要在springmvc-servlet里面加上以下的配置即可:

[html]  view plain  copy
 print ?
  1. <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
  2.     <property name="messageConverters">  
  3.         <list>  
  4.             <ref bean="mappingJackson2HttpMessageConverter" />  
  5.         list>  
  6.     property>  
  7. bean>  
  8. <bean id="mappingJackson2HttpMessageConverter"   
  9.         class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
  10.     <property name="supportedMediaTypes">  
  11.         <list>  
  12.             <value>application/json;charset=UTF-8value>  
  13.             <value>text/html;charset=UTF-8value>  
  14.             <value>text/json;charset=UTF-8value>      
  15.         list>  
  16.     property>  
  17.  bean>  

    四、附上相关的jar包下载链接,资源都是免费共享:http://download.csdn.net/detail/alan_liuyue/9699971


转载自:http://blog.csdn.net/alan_liuyue/article/details/53433325

你可能感兴趣的:(AJAX,springMVC4,AJAX,ResponseBody)