springmvc通过@ResponseBody 自动解析为json对象支持中文

原创 2015年11月17日 18:10:27

springmvc通过@ResponseBody 可以自动解析为json对象。今天弄了一下午才弄出来,写博客是为了给自己加深印象。

先上maven依赖

<dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.5.1</version>
        </dependency>
         <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.5.1</version>
        </dependency> 
    </dependencies>

controller中代码

package com.fy.spring.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.fy.spring.modol.Person;
import com.fy.spring.service.PersonService;

@Controller
@RequestMapping("/")
public class UsersController {
    @Autowired
    @Qualifier(value="personService")
    PersonService ps;

    @RequestMapping(value="/showperson" ,produces="application/json;charset=utf-8")
    @ResponseBody
    public List<Person> ShowPerson(HttpServletRequest req,HttpServletResponse response) {
        List<Person> list=ps.listPerson();
        return list;//在这里直接返回一个list 会自动解析为json
    }

}

web.xml中的配置文件部分

 <!-- 解决@ResponseBody注解直接返回对象并转换成JSON时出现406问题,同时解决了返回String类型乱码的问题 命名空间必须在3.2及以上 不写为默认最新-->
 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
       http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
         http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/plain;charset=UTF-8</value>
                        <value>text/html;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
            <bean
                class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>application/json; charset=UTF-8</value>
                        <value>application/x-www-form-urlencoded; charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>
前台用的是easyui接收这里就不贴代码了
前台显示代码
[{"id":1,"name":"是的发送到","country":"fdgdfg所发生的"},{"id":3,"name":"3嘘","country":"123@qq.x"}]

实现SpringMVC中使用@Responsebody注解返回任意POJO对象转换成JSON

最近去实习,在第三天老大终于给个项目源码来学习学习了,很难得,然后在阅读源码过程中,发现了很多值得学习的东西,比如一些规范、面向对象设计、框架使用等。 以前以为SpringMVC中使用@Respon...
  • xuanyonghao
  • xuanyonghao
  • 2017年06月29日 21:55
  • 2145

SpringMVC使用注解@ResponseBody返回json以及中文乱码问题解决

SpringMVC使用注解@ResponseBody返回json以及中文乱码问题解决  在这里我不得支持一下SpringMVC是一个不错的框架,用了springmvc这么长时间 ,我犯了个错误...
  • chenchunlin526
  • chenchunlin526
  • 2017年03月20日 12:43
  • 1232

解决@ResponseBody注解返回中文乱码

解决@ResponseBody注解返回中文乱码 messageConverters supportedMediaTypes
  • zknxx
  • zknxx
  • 2016年09月03日 16:50
  • 12955

如何彻底解决SpringMVC4.0下使用解决@ResponseBody 中文乱码问题

中文乱码这个问题很是头痛,各种解决中文乱码的方法
  • u013861835
  • u013861835
  • 2017年04月29日 22:33
  • 1030

使用springMVC注解@ResponseBody与jackson工具类在ajax请求中实现对象与json之间的相互转化

1.springmvc默认使用jackson来实现对象与json之间的相互转换的。在转换之前我需要引入两个springMVC依赖的两个jar包:  jackson-core-asl(jackson核...
  • zhengyang7754
  • zhengyang7754
  • 2017年04月05日 15:30
  • 1716

spring mvc 返回通过配置ResponseBody返回json格式的数据

学习了spring mvc后,发现spring mvc返回json数据比struts2要方便,使用@ResponseBody就可以了 @ResponseBody 作用:      ...
  • dailingnan0827
  • dailingnan0827
  • 2017年02月08日 16:31
  • 5215

SpringMVC传递和返回对象实例以及zTree例子

SpringMVC传递和返回对象实例以及zTree例子
  • liangbinny
  • liangbinny
  • 2015年01月02日 23:04
  • 4047

spring注解@ResponseBody处理ajax请求,json数据类型

最近做了一个spring+ajax 二级级联菜单,总是报各种错误,最后经过分析总结终于解决此问题,现在把问题展示给大家,以供分享。如有问题可以评论,肯定支持。 json需要引用的JSON包有:jack...
  • DCX903170332
  • DCX903170332
  • 2014年01月07日 14:13
  • 44522

SpringMVC使用@ResponseBody时返回json的日期格式

一、SpringMVC使用@ResponseBody时返回json的日期格式 前提了解: @ResponseBody 返回json字符串的核心类是org.springframework.http.co...
  • me4405801
  • me4405801
  • 2016年03月04日 17:09
  • 4325

springMVC解析带有中文字符的json数据异常

最近开发遇到一个bug,异常日志为:nested exception is org.codehaus.jackson.JsonParseException: Invalid UTF-8 start b...
  • u010060408
  • u010060408
  • 2014年12月19日 09:44
  • 1258
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:springmvc通过@ResponseBody 自动解析为json对象支持中文
举报原因:
原因补充:

(最多只允许输入30个字)