springMVC使用@ResponseBody返回json

json格式:{"totle":22,"rows":"sss"}

map格式:{totle=22, rows=sss}

一、springMVC4的配置:

1、需要的jar包:

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格式。

(二)、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的

时间: 2024-12-23 17:11:44

springMVC使用@ResponseBody返回json的相关文章

SpringMVC的@ResponseBody返回JSON,中文乱码问题的解决.

SpringMVC的@ResponseBody,返回json,如果有中文显示乱码的解决办法. 在SpringMVC的配置文件中 <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> </bean> 查看了AnnotationMethodHandlerAdapter的源码,发现其默认编码为构造参数有StringHttpMessageC

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

这确实是个蛋疼的问题,Spring中解析字符串的转换器默认编码居然是ISO-8859-1 既然找到问题了,那就必须想办法改过来,不同版本的Spring好像方法还不一样,网上不少说的都是Spring3.*的,现在Spring4早都出来了 更改方式可以参考 http://stackoverflow.com/questions/3616359/who-sets-response-content-type-in-spring-mvc-responsebody http://www.cnblogs.com

springmvc 通过@ResponseBody 返回json的中文乱码解决方案2个

1.方法上面的RequestMapping要加上红色的部分.   @ResponseBody     @RequestMapping(value = "/search", produces = {"application/json;charset=UTF-8"})    public String search(HttpServletRequest request, HttpServletResponse response) { 2.推荐方式:在springmvc-

springmvc @ResponseBody返回json 报406 not acceptable

今天在做springmvc的@ResponseBody返回json的例子时,碰到了这样一个问题"406 (Not Acceptable)",百度之后发现在缺了一个依赖包jackson-databind. 1.spring-mvc.xml配置文件 2.pom.xml文件 [email protected]代码

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

No converter found for return value of type: class java.util.HashMapSpringMVC 中使用 @ResponseBody 返回Json时,需要手动添加jackson依赖!Maven添加: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId>

SpringMVC中controller返回json数据的两种方法

SpringMVC中controller返回json数据的两种方法 1.jsp的ajax请求: function getJson(){ $.ajax({ type:"get", dataType:"json", url:"<%=basePath %>getJson", success:function(data){ for(var i=0;i<jsonData.length;i++){ alert("Id:"

解决SpringMVC的@ResponseBody返回中文乱码

SpringMVC的@ResponseBody返回中文乱码的原因是SpringMVC默认处理的字符集是ISO-8859-1,在Spring的org.springframework.http.converter.StringHttpMessageConverter类中可以看到如下代码: public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1"); 解决返回中文乱码的问题有两种,第一种是局部的,只针

Spring MVC使用@ResponseBody返回JSON数据406问题解决方案

其实前面一篇关于zTree返回JSON数据的文章已经有一种解决方案了,但是当我今天在新公司搭建新环境的时候,发现决然又不行了,所以我觉得那应该不是最优的解决方案. 说起来,我以前接触到的一个项目,根本没有配置spring的文件,就直接用@ResponseBody可以返回JSON数据,不知道其中的秘诀在什么地方,搞不懂了. 今天主要提供另一个解决@ResponseBody返回JSON数据,页面抛出406错误的解决方案. 第一步,引入包: <dependency> <groupId>c

springmvc使用@responsebody返回字符串乱码问题

SpringMVC的@ResponseBody注解可以将请求方法返回的对象直接转换成JSON对象,但是当返回值是String的时候,中文会乱码. 原因是因为其中字符串转换和对象转换用的是两个转换器,而String的转换器中固定了转换编码为"ISO-8859-1". 解决: 方法1.加上这个@RequestMapping(value="/login.action",method=RequestMethod.POST,produces={"applicatio