springMVC使用@ResponseBody返回json

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springMVC使用@ResponseBody返回json相关的知识,希望对你有一定的参考价值。

json格式:{"name":"spring","year":30}

map格式:{name=spring, year=30}

一、springMVC4的配置:

1、需要的jar包:

技术分享

jar包下载地址:https://repo1.maven.org/maven2/com/fasterxml/jackson/core/

2、springMVC.xml (经测试无需配置,已自动注入,此步骤可以跳过)

技术分享
<bean id="messageAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
       <property name="messageConverters">  
           <list>  
               <!-- Support JSON -->   
               <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>  
           </list>  
       </property>  
   </bean>  
    <bean id="exceptionMessageAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver">  
       <property name="messageConverters">  
           <list>  
               <!-- Support JSON -->   
               <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>  
           </list>  
       </property>  
   </bean> 
技术分享

3、在需要返回的方法上注解@ResponseBody,可将Map或List返回成json格式(在return之前,System.out.println(map)依然是原格式,但return到的页面得到的是json格式。

 控制器中方法配置:

    @ResponseBody
    @RequestMapping(value="/list")
    public ModelMap List(){
	ModelMap result =new ModelMap();
	result.put("name", "tianlan");
	result.put("age", 30);
    	return result;
    }

返回数据:

技术分享

(二)、springMVC3的配置:

1、需要的jar包:

技术分享

2、springMVC:

技术分享
<bean id="messageAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
       <property name="messageConverters">  
           <list>  
               <!-- Support JSON -->   
               <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>  
           </list>  
       </property>  
   </bean>  
    <bean id="exceptionMessageAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver">  
       <property name="messageConverters">  
           <list>  
               <!-- Support JSON -->   
               <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>  
           </list>  
       </property>  
   </bean> 
技术分享

3、同上。

 

目前只测试了则两种,估计在4下也可以用3的配置,但3肯定不能用4的

 

 

原文地址:http://www.cnblogs.com/liaozs/p/5750913.html

以上是关于springMVC使用@ResponseBody返回json的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC 使用@ResponseBody返回json 中文乱码

SpringMVC 使用@ResponseBody返回json 中文乱码

springmvc @responsebody json字符编码

SpringMVC 中使用 @ResponseBody 返回Json时,需要手动添加jackson依赖

springmvc使用ajax进行数据交互时,session失效问题(@ResponseBody与session能否同时使用?)

SpringMVC中使用@ResponseBody注解标注业务方法,将业务方法的返回值做成json输出给页面