`
fireinjava
  • 浏览: 475974 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

SpringMVC 乱码处理

 
阅读更多

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参数收集及乱码处理.docx

    SpringMVC参数收集及乱码处理介绍

    SpringMVC请求乱码处理的2种方式

    主要介绍了SpringMVC请求乱码处理的2种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    03.SpringMVC中如何解决POST请求中文乱码问题GET的又如何处理呢.zip

    03.SpringMVC中如何解决POST请求中文乱码问题GET的又如何处理呢

    springmvc-restful

    springmvc关于乱码的处理,实现springmvc的过滤器

    springmvc-restful-pathvariable

    springmvc实现乱码的处理,以及不同于单个的RequestMapping的配置,通过PathVariable的方式

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

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

    基于jsp+mysql+Spring+mybatis的SSM智能制造车间管理系统

    项目使用当前流行的pringMVC+Spring+Mybatis框架 1. IM_SSM 功能: 新增客户管理模块 新增设备管理模块 新增产品管理模块 新增用户管理模块 知识点: 搭建springmvc集成mybatis框架 ...Mybatis日期参数处理,乱码处理

    license.txt

    我们在springmvc中使用json经常出现乱码格式 如下图: 我们可以在@RequestMapping()中配置,produces = "application/json;charset=utf-8",这样就解决了我们乱码, ...--json格式乱码处理--&gt;

    解决Ajax加载JSon数据中文乱码问题

    使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢? 此处为的异步请求的配置: Java代码  async: { enable: true, url: basePath + '/...

    基于AJAX结合SpringMVC的信息访问服务模式研究

    AJAX可实现无刷新更新页面的功能,Spring 是服务端功能的高效轻量级开发框架,AJAX与Spring 的结合可实 ...的工作过程,重点讨论了两者结合所带来的信息传递问题的解决方案,并对中文处理的相关问题进行了详细阐述。

    Spring MVC 入门实例

    配置 CharacterEncodingFilter (filter 标签), 否则你会发现中文乱码. 因为我的 jsp 和 html 文件都是 UTF-8 编码的, 所以我在 param-value 标签中设置了 UTF-8. 估计你使用的是 GB2312 或者 GBK, 立即转到 UTF-8 ...

    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...

    Forum-Community:使用Spring+SpringMVC+Hibernate开发一个论坛社区

    Web层使用SpringMVC处理请求与响应,使用JSP视图搭配JSTL标签.并提供了一个字符转换编码过滤器防止中文乱码.服务层使用Spring4.0,持久层使用Hibernate.使用Maven构建项目. 系统架构 社区总共为4个模块,为用户管理,...

    SpringBoot 自定义拦截器 的 源代码

    我们对拦截器并不陌生,无论是 Struts 2 还是 Spring MVC 中都提供了拦截器功能,它可以根据 URL 对请求进行拦截,主要应用于登陆校验、权限验证、乱码解决、性能监控和异常处理等功能上。Spring Boot 同样提供了...

    spring+shiro+ehcache例子

    4:项目post乱码处理 在web.xml中配置字符过滤器 5:项目运行信息查看 在web.xml中配置log4j信息打印 (需要自己将log4j的配置文件给打开) 三: 配置文件 查看/src/config/ ,配置文件可观察文件名称理解 ...

    springboot知识点整理

    2.4 properties配置文件乱码问题 24 2.5 @ConfigurationProperties与@Value的区别 25 2.6 配置@PropertySource、@ImportResource、@Bean 27 2.7 配置文件占位符 30 2.8 Profile多环境支持 31 2.9 配置文件的加载位置...

Global site tag (gtag.js) - Google Analytics