使用spring mvc3的@ResponseBody注解以期待返回json时,却发现返回值中文乱码。
研究后发现,spring使用该注解时在代码内部使用了硬编码iso-8859-1
解决方案:
想法有两种,一种是重写注解,还有一种是使用spring的BeanPostProcessor接口实现
/**
* 解决spring MVC3 中@ResponseBody的中文乱码问题。在bean中注册即可
*/
public class UTF8StringBeanPostProcessor implements BeanPostProcessor {
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
if (bean instanceof StringHttpMessageConverter) {
MediaType mediaType = new MediaType("text", "plain", Charset.forName("UTF-8"));
List<MediaType> types = new ArrayList<MediaType>();
types.add(mediaType);
((StringHttpMessageConverter) bean).setSupportedMediaTypes(types);
}
return bean;
}
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
}
再在spring的xml中注册
<!-- 解决使用@ResponseBody 的中文乱码。 -->
<bean class="xxx.xxx.xxx.UTF8StringBeanPostProcessor">
</bean>
分享到:
相关推荐
Spring MVC中默认的ResponseBody为String的乱码问题.pdfSpring MVC中默认的ResponseBody为String的乱码问题.pdf
NULL 博文链接:https://coocaobo.iteye.com/blog/2410629
Spring MVC下彻底解决@ResponseBody转义html特殊字符问题,解决包括尖角号(),单引号('),双引号("),按位与(&),反斜杠(\)。
《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 7...
主要给大家介绍了关于spring Mvc配置xml使ResponseBody返回Json的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及...
基于spring mvc注解开发的ajax项目实例,通过对注解@ResponseBody的应用,实现ajax局部刷新功能,java代码端返回Map,Integer,User,List等对象,在jsp页面通过$.each(data,function(index,entity) { });...
NULL 博文链接:https://nethub2.iteye.com/blog/2329387
下面小编就为大家分享一篇spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
主要介绍了SpringMVC中解决@ResponseBody注解返回中文乱码问题, 小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
-- @ResponseBody() spring-mvc 3 xml 配置--> <!--处理 @ResponseBody 中文乱码问题 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> ...
本框架使用Maven整合jar包,完全按照SpringFramework官方规范整合,加入Druid数据源及SpringJDBC,使用servlet3.1容器,代码整洁易读,不懂spring4及servlet3.1规范的同学可以下载看一看,收获一定不小。另:结合...
1)spring MVC 中@ResponseBody需要的所有JAR包 2)性能还不错的模板引擎jetbrick-template-2.x 2.x的所需的所有jar包 3)日志jar包:slf4j和logback 所有 4)阿里 druid 连接池jar包 5)mysql数据库链接驱动jar包 6...
主要介绍了Spring MVC打印@RequestBody、@Response日志的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
参考(2)Eclipse和IDEA配置Maven2.Spring版本:5.0.73.MVC:Spring MVC配置(1)jar包:spring-webmvc.jar(2)web.xml配置SpringMVC监听类:org.springframework.web.context.ContextLoaderListener(3)SpringMVC核心配置...
3. Service 注解 4. Component 注解 5. Repository 注解 6. CookieValue 注解 7. PathVariable 注解 8. RequestBody 注解 9. RequestHeader 注解 10. RequestMethod 类 11. RequestParam 注解 12. ResponseBody 注解...
主要介绍了spring boot @ResponseBody转换JSON 时 Date 类型处理方法,主要给大家介绍Jackson和FastJson两种方式,每一种方法给大家介绍的都非常详细,需要的朋友可以参考下
Picker的后台使用Spring MVC+hibernate+mysql,实现添加书籍,提问、做笔记,上传附件、照片,关注用户、关注问题,私信、好友动态,好友圈等功能。下面是功能交互图:#package介绍Controller层 .controller: 提供了...
1,搭建SpringMVC 2,加载properties配置文件 3,集成mybatis ...7,解决@ResponseBody return String的中文乱码问题 8,配置静态资源映射ResourceHandlers 9,配置ViewControllers 10,配置filter 11,配置拦截器
具体包括三个jar: jackson-databind-2.8.2.jar jackson-core-2.8.2.jar jackson-annotations-2.8.2.jar