`

解决Spring MVC ResponseBody 乱码问题

阅读更多

在SpringMVC中,ResponseBody返回的中文是乱码,google了一下,原因是这可以说是spring mvc的一个bug,spring MVC有一系列HttpMessageConverter去处理用@ResponseBody注解的返回值,如返回list则使用 MappingJacksonHttpMessageConverter,返回string,则使用 StringHttpMessageConverter,这个convert使用的是字符集是iso-8859-1,而且是final的

public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");  

 解决方法是在

<context:annotation-config />

 前面加入以下配置:

    <bean  class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >  
        <property name="messageConverters">  
             <list>  
                 <bean class = "org.springframework.http.converter.StringHttpMessageConverter">  
                    <property name = "supportedMediaTypes">  
                         <list>  
                             <value>text/plain;charset=UTF-8</value>  
                         </list>  
                    </property>  
                 </bean>  
             </list>  
        </property>  
    </bean>  

 但是也有网友认为前面这种方式不太优雅,而且不一定有效,经试验下面这种方法也可以:

@RequestMapping(value="qxyjqyresult",produces = "plain/text; charset=UTF-8")
	@ResponseBody
	public String getQxyjqyResult(String filename) throws Throwable {
return "中文"
}

 也就是用produces。

 

0
6
分享到:
评论
2 楼 xinxinlong 2016-03-11  
tedeum 写道
produces 注意版本问题,老的版本不支持我试了3.0.5不行,3.2.4可以

4.0.6好像也不行
1 楼 tedeum 2013-09-02  
produces 注意版本问题,老的版本不支持我试了3.0.5不行,3.2.4可以

相关推荐

    Spring MVC中默认的ResponseBody为String的乱码问题.pdf

    Spring MVC中默认的ResponseBody为String的乱码问题.pdfSpring MVC中默认的ResponseBody为String的乱码问题.pdf

    彻底根治Spring @ResponseBody JavaScript HTML特殊字符

    Spring MVC下彻底解决@ResponseBody转义html特殊字符问题,解决包括尖角号(),单引号('),双引号("),按位与(&),反斜杠(\)。

    spring MVC 对 ResponseBody返回json数据进行脱敏处理

    NULL 博文链接:https://coocaobo.iteye.com/blog/2410629

    Spring MVC 3.0实战指南.ppt

    《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 7...

    Spring3MVC注解教程.ppt

    《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及...

    spring Mvc配置xml使ResponseBody返回Json的方法示例

    主要给大家介绍了关于spring Mvc配置xml使ResponseBody返回Json的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    基于注解的spring mvc ajax应用项目实例

    基于spring mvc注解开发的ajax项目实例,通过对注解@ResponseBody的应用,实现ajax局部刷新功能,java代码端返回Map,Integer,User,List等对象,在jsp页面通过$.each(data,function(index,entity) { });...

    Spring MVC – Easy REST-Based JSON Services with @ResponseBody

    NULL 博文链接:https://nethub2.iteye.com/blog/2329387

    maven spring mvc 4.3.14 框架整合

    本框架使用Maven整合jar包,完全按照SpringFramework官方规范整合,加入Druid数据源及SpringJDBC,使用servlet3.1容器...另:结合jackson解决@ResponseBody返回html特殊字符问题,彻底根治尖括号,单引号,双引号问题。

    SpringMVC中解决@ResponseBody注解返回中文乱码问题

    主要介绍了SpringMVC中解决@ResponseBody注解返回中文乱码问题, 小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Spring MVC打印@RequestBody、@Response日志的方法

    主要介绍了Spring MVC打印@RequestBody、@Response日志的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    springMVC3使用@ResponseBody向浏览器返回 json,注意区分jar包前缀

    --处理 @ResponseBody 中文乱码问题 --&gt; &lt;bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"&gt; &lt;property name="messageConverters"&gt; &lt;list&gt; &lt;!-- Support...

    iLink:拉丁云代码测试Spring MVC

    spring-mvc.xml 配置自动扫描的包、配置视图解析器 如何把 handler方法返回值解析为实际的物理视图、配置静态资源映射静态资源交给默认的Servlet、配置 mvc:annotation-driven标签开启注解(4)@RestController =@...

    spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法

    下面小编就为大家分享一篇spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    spring mvc 注解

    SpringMVC 采用了松散耦合可插拔组件结构,更具扩展性和灵活性,开发 Web 应用流程也非常简单,越来越多的大公司开始使用 SpringMVC 作为开发框架。...12. ResponseBody 注解 13. SessionAttribute 注解 14. 其他注解

    Picker:Spring MVC +Hibernate

    Picker的后台使用Spring MVC+hibernate+mysql,实现添加书籍,提问、做笔记,上传附件、照片,关注用户、关注问题,私信、好友动态,好友圈等功能。下面是功能交互图:#package介绍Controller层 .controller: 提供了...

    SpringMVC+Mybatis JAVA配置 非XML

    1,搭建SpringMVC 2,加载properties配置文件 3,集成mybatis ...7,解决@ResponseBody return String的中文乱码问题 8,配置静态资源映射ResourceHandlers 9,配置ViewControllers 10,配置filter 11,配置拦截器

    spring boot @ResponseBody转换JSON 时 Date 类型处理方法【两种方法】

    主要介绍了spring boot @ResponseBody转换JSON 时 Date 类型处理方法,主要给大家介绍Jackson和FastJson两种方式,每一种方法给大家介绍的都非常详细,需要的朋友可以参考下

    Spring MVC 关于controller的字符编码问题

    在使用springMVC框架构建web应用,客户端常会请求字符串、整型、json等格式的数据,通常使用@ResponseBody注解使 controller回应相应的数据而不是去渲染某个页面。

    springboot学习思维笔记.xmind

    Spring MVC的常用注解 @Controller @RequestMapping @ResponseBody @RequestBody @PathVariable @RestController Spring MVC的基本配置 静态资源映射 拦截器配置 @ControllerAdivce ...

Global site tag (gtag.js) - Google Analytics