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

版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/53433325

    一、在使用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数据格式:


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


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


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


    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里面加上以下的配置即可:

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="mappingJackson2HttpMessageConverter" />
            </list>
        </property>
    </bean>
    <bean id="mappingJackson2HttpMessageConverter" 
    		class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
            	<value>application/json;charset=UTF-8</value>
                <value>text/html;charset=UTF-8</value>
                <value>text/json;charset=UTF-8</value>    
            </list>
        </property>
     </bean>

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


上一篇:jquery 对 Json 的各种遍历


下一篇:hibernate4框架的增删查改(包含hql)数据等功能方法