SpringMVC @ResponseBody乱码处理:
原理:将StringHttpMessageConverter的默认编码设为UTF-8
方法1(推荐,参考自springside):
配置spring-mvc.xml
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <!-- 将StringHttpMessageConverter的默认编码设为UTF-8 --> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8" /> </bean> </mvc:message-converters> </mvc:annotation-driven>
其他方法:
方法2:
HttpServletResponse resp = (HttpServletResponse)response; resp.setHeader("Cache-Control","no-cache"); resp.setContentType("application/json;charset=UTF-8"); resp.setCharacterEncoding("UTF-8"); PrintWriter writer = resp.getWriter(); writer.write(json);
方法3:
@RequestMapping(value="/test",produces="text/plain;charset=UTF-8") @ResponseBody
方法4:
重写BeanPostProcessor,并配置到spring-mvc.xml
public class BeanPostProcessorUtf8 implements BeanPostProcessor { 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; } public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { return bean; } }
<bean id="beanPostProcessor" class="com.xxx.yyy.BeanPostProcessorUtf8" />
相关推荐
SpringMVC参数收集及乱码处理介绍
主要介绍了SpringMVC请求乱码处理的2种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
03.SpringMVC中如何解决POST请求中文乱码问题GET的又如何处理呢
springmvc关于乱码的处理,实现springmvc的过滤器
springmvc实现乱码的处理,以及不同于单个的RequestMapping的配置,通过PathVariable的方式
主要介绍了SpringMVC中解决@ResponseBody注解返回中文乱码问题, 小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
项目使用当前流行的pringMVC+Spring+Mybatis框架 1. IM_SSM 功能: 新增客户管理模块 新增设备管理模块 新增产品管理模块 新增用户管理模块 知识点: 搭建springmvc集成mybatis框架 ...Mybatis日期参数处理,乱码处理
我们在springmvc中使用json经常出现乱码格式 如下图: 我们可以在@RequestMapping()中配置,produces = "application/json;charset=utf-8",这样就解决了我们乱码, ...--json格式乱码处理-->
使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢? 此处为的异步请求的配置: Java代码 async: { enable: true, url: basePath + '/...
AJAX可实现无刷新更新页面的功能,Spring 是服务端功能的高效轻量级开发框架,AJAX与Spring 的结合可实 ...的工作过程,重点讨论了两者结合所带来的信息传递问题的解决方案,并对中文处理的相关问题进行了详细阐述。
配置 CharacterEncodingFilter (filter 标签), 否则你会发现中文乱码. 因为我的 jsp 和 html 文件都是 UTF-8 编码的, 所以我在 param-value 标签中设置了 UTF-8. 估计你使用的是 GB2312 或者 GBK, 立即转到 UTF-8 ...
--处理 @ResponseBody 中文乱码问题 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!-- Support...
Web层使用SpringMVC处理请求与响应,使用JSP视图搭配JSTL标签.并提供了一个字符转换编码过滤器防止中文乱码.服务层使用Spring4.0,持久层使用Hibernate.使用Maven构建项目. 系统架构 社区总共为4个模块,为用户管理,...
我们对拦截器并不陌生,无论是 Struts 2 还是 Spring MVC 中都提供了拦截器功能,它可以根据 URL 对请求进行拦截,主要应用于登陆校验、权限验证、乱码解决、性能监控和异常处理等功能上。Spring Boot 同样提供了...
4:项目post乱码处理 在web.xml中配置字符过滤器 5:项目运行信息查看 在web.xml中配置log4j信息打印 (需要自己将log4j的配置文件给打开) 三: 配置文件 查看/src/config/ ,配置文件可观察文件名称理解 ...
2.4 properties配置文件乱码问题 24 2.5 @ConfigurationProperties与@Value的区别 25 2.6 配置@PropertySource、@ImportResource、@Bean 27 2.7 配置文件占位符 30 2.8 Profile多环境支持 31 2.9 配置文件的加载位置...