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 框架提供了多种参数收集方式,以满足不同的应用场景需求。 ParametersCollector 是 SpringMVC 中负责收集参数的组件,它可以从 HttpServletRequest 中获取参数,并将其...
3. GET 提交方式乱码处理:可以通过设置 Tomcat 的 server.xml 文件中 port 的 URIEncoding 属性来解决 GET 提交方式的乱码问题。 4. POST 提交方式乱码处理:可以通过在 web.xml 文件中设置 ...
SpringMVC请求乱码处理的2种方式 SpringMVC请求乱码处理是Web开发中一个常见的问题,特别是在处理中文参数时,乱码问题尤其明显。本文将介绍SpringMVC请求乱码处理的2种方式,通过示例代码详细介绍,希望对大家的...
在Spring MVC框架中,处理HTTP GET请求时遇到中文乱码问题是一个常见的开发难题。这个问题主要源于请求参数在URL中编码时使用的是UTF-8以外的字符集,导致服务器接收到的参数解码后出现乱码。本文将深入探讨这个问题...
在"springMVC3.2中英文手册"中,你将找到SpringMVC 3.2版本的详细文档,涵盖了许多主题,如配置、注解驱动的开发、数据绑定、异常处理、国际化、视图解析器、模型AndView对象的使用,以及与Spring其他模块(如AOP、...
【POST请求中文乱码处理】 POST请求中文乱码可以通过在web.xml配置CharacterEncodingFilter解决,设定请求和响应的编码为UTF-8。对于GET请求,可以通过以下两种方式处理乱码: 1. 修改Tomcat配置文件,设置Connector...
解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题 SpringMVC 是一个基于模型-视图-控制器(MVC)模式的Web应用程序框架,广泛应用于Java Web开发中。但是,在使用SpringMVC时,常见的一个问题是...
以下将详细介绍四种解决Spring MVC中处理Ajax请求时中文乱码的方法。 ### 方法一:在@RequestMapping注解中指定字符集 在控制器的方法上添加`@RequestMapping`注解,并明确指定`produces`属性为`"text/html;...
在 SpringMVC 框架中,post 请求中文数据时,如果不进行特殊处理,服务端接收到的数据将会出现中文乱码的情况。例如,在控制台中打印出来的中文数据可能会出现乱码,例如:„„等。 解决办法: 要解决中文乱码问题...
在 Spring MVC 框架中,处理表单提交数据时可能会出现乱码问题,尤其是在使用 POST 或 GET 请求时。这篇文章将分享解决表单post,get到springMVC后台乱码的问题的方法,并对相关知识点进行详细的解释。 乱码问题的...
在整个开发流程中,还需要特别注意请求参数的绑定和类型转换、请求中文乱码问题的处理、Session和Cookie的使用、Ajax异步请求的处理、文件上传功能的实现、异常处理机制以及拦截器的应用等细节。 对于文件上传,...
在开发Web应用时,SpringMvc框架常常用于处理前端与后端...通过上述方式,你应该能够有效地解决SpringMvc在处理JSON数据时的中文乱码问题。在实际开发中,一定要注意各个层次的字符编码一致性,以保证数据的准确传输。
SpringMVC提供了一个名为`CharacterEncodingFilter`的过滤器,用于解决HTTP请求中的乱码问题。该过滤器通常被配置在`web.xml`文件中,或者通过Spring的配置类来配置。通过设置`CharacterEncodingFilter`的`encoding`...
SpringMvc 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用于处理 Web 请求和控制应用程序的流程。在 SpringMvc 4.0 版本中,它引入了对 Servlet 3.0 的支持,提供了更好的异步处理能力,...
在SSM框架中,可以利用SpringMVC提供的`MultipartFile`接口处理文件上传,通过配置`CommonsMultipartResolver`多部分解析器启用文件上传功能。文件下载则可以通过返回带有Content-Disposition头的HTTP响应来实现。 ...
4. **编码问题**: 文件名可能包含非ASCII字符,需要正确处理编码,避免乱码。 5. **权限问题**: 检查服务器是否有读取、写入或执行文件的权限,根据需要调整文件系统权限。 6. **安全性考虑**: 对上传的文件进行...
在Spring MVC框架中,处理POST和GET请求时可能会遇到中文乱码的问题,这通常是由于字符编码设置不正确导致的。本文将详细阐述如何解决这些问题。 首先,我们需要理解HTTP请求中的编码原理。HTTP协议本身并不规定...
参数绑定是Web开发中的一个重要环节,笔记将介绍参数绑定过程,包括对简单类型、POJO、集合类型以及自定义参数绑定的支持,并说明如何处理乱码问题。 异常处理部分讲解了异常处理的思路、自定义异常类、全局异常...
4. **在Controller中处理乱码**:虽然前面的配置应该能解决问题,但为了保险起见,你也可以在Controller方法中手动处理请求参数的编码,如示例代码所示,将接收到的ISO-8859-1编码的字符串转换为UTF-8: ```java ...