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

2016-12-02 19:52:08来源:CSDN作者:alan_liuyue人点击

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



    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

    文章虽然很短,分析不是太深入,但也希望能帮到更多在一起进步的程序猿同志们~~~大笑



最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台