`

Spring Mvc中@ResponseBody中文乱码解决

 
阅读更多

Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。具体实现AnnotationMethodHandlerAdapter类handleResponseBody方法,具体实现代码:

结果输出乱码:???????

有人跟踪@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,

解决办法,在spring mvc的配置文件中手工配置bean:
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->   
<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/html;charset=UTF-8</value>  
                     </list>  
                </property>  
             </bean>  
         </list>  
   </property> 
</bean> 

<!--[if gte mso 9]><xml> <o:OfficeDocumentSettings> <o:AllowPNG/> </o:OfficeDocumentSettings> </xml><![endif]-->

这样通过配置AnnotationMethodHandlerAdapter类messageConverters属性来指定编码。
记住,需要把bean部分加入到<context:component-scan base-package="com.jd.mvc" />前面,这样就可以在jquery中直接调用而不出现乱码.

会自动注册DefaultAnnotationHandlerMappingAnnotationMethodHandlerAdapter 两个bean,是spring MVC@Controllers分发请求所必须的。

 

分享到:
评论

相关推荐

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

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

    总的来说,解决SpringMVC中`@ResponseBody`注解返回中文乱码问题的关键在于正确配置`HttpMessageConverter`,确保其支持UTF-8编码,并将这些配置放在`&lt;mvc:annotation-driven&gt;`元素之前。通过上述方法,可以有效地...

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

    spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法 在使用 Spring+Mybatis 框架时,经常会遇到一个问题,就是通过 @ResponseBody 返回结果时,中文字符会出现乱码的问题。这是因为在 Spring MVC 中,...

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

    总结来说,解决Spring MVC中ResponseBody返回String类型中文乱码的关键在于修改StringHttpMessageConverter的默认字符集,使其支持UTF-8编码。这可以通过自定义配置或使用BeanPostProcessor实现,后者具有更高的灵活...

    spring mvc 自學筆記

    在 Spring MVC 中处理中文乱码通常有两种方法: - **设置字符编码过滤器**:通过配置一个全局的字符编码过滤器来解决所有请求的乱码问题。 ```java @WebFilter(urlPatterns = "/*") public class ...

    Spring MVC注解开发总结

    在Spring MVC框架中,注解开发使得我们能够更简洁、高效地编写Web应用程序。下面将对标题和描述中提到的知识点进行详细总结。 一、Spring MVC注解开发的基本实现步骤 1. **创建Web工程**:首先需要创建一个Java ...

    Spring MVC面试题(2022最新版)

    如何解决POST请求中文乱码问题,GET的又如何处理呢? - 对于POST请求,可以在web.xml中配置字符编码过滤器,确保所有请求都使用统一的字符编码: ```xml &lt;filter-name&gt;characterEncodingFilter &lt;filter-class&gt;...

    json 中文乱码解决方案

    本文将详细介绍如何解决JSON中的中文乱码问题,并提供几种简单实用的方法来帮助开发者避免这类问题的发生。 #### 一、问题背景与原因分析 在Web开发中,前后端之间传递的数据格式往往采用JSON(JavaScript Object ...

    Spring MVC面试宝典1.pdf

    ##### 3.4 如何解决POST请求中文乱码问题,GET的又如何处理呢? - **POST请求**:在web.xml中配置过滤器CharacterEncodingFilter来设置字符编码。 - **GET请求**:同样可以通过配置过滤器解决,也可以通过修改Tomcat...

    SSM框架整合(解决中文乱码,二级缓存,JSON,事务)

    SSM框架整合是Java开发中常见的一种技术栈组合,包括Spring、Spring MVC和MyBatis。这个项目包针对的是在实际开发中可能会遇到的一些常见问题,如中文乱码、二级缓存、JSON处理以及事务管理。以下是这些知识点的详细...

    jackon 2.9.1

    在描述中提到了`@ResponseBody`注解,这是Spring MVC框架的一部分。Spring MVC是Spring框架的一个模块,用于构建Web应用程序。`@ResponseBody`是Spring MVC中的一个注解,它告诉Spring框架将方法的返回值直接写入...

    flex上传下载 并解决中文乱码

    在本主题中,我们将深入探讨如何使用Flex进行文件上传和下载,并解决过程中可能出现的中文乱码问题。 一、Flex文件上传 1. Flex组件:Flex中可以使用`FileReference`组件来实现文件上传。用户通过选择文件后,`...

    springmvc-restful

    在IT行业中,Spring MVC是一个广泛使用的Java Web框架,它提供了构建高效、灵活和模块化的Web应用程序的能力。在处理RESTful API时,Spring MVC扮演着核心角色。本篇将深入探讨"springmvc-restful"主题,特别是关于...

    SpringMVC解决乱码

    在本文中,我们将讨论解决SpringMVC乱码问题的两种方法。 方法一:配置AnnotationMethodHandlerAdapter 在SpringMVC中,可以通过配置AnnotationMethodHandlerAdapter的messageConverters属性来指定编码。该属性是...

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

    除了上述的字符编码解决策略,Spring MVC还提供了多种参数绑定注解来处理请求中的不同数据类型: - **`@RequestParam`**:用于绑定HTTP请求参数,适用于GET和POST请求。例如,`@RequestParam("name") String name`...

    Spring MVC的文件下载实例详解

    Spring MVC是Java开发中常用的Web框架,它基于Servlet API构建,提供了模型-视图-控制器(MVC)架构。本文将深入解析如何在Spring MVC中实现文件下载功能,包括文件读取、响应头设置、以及如何处理不同浏览器的兼容...

    SpringMVC+Mybatis JAVA配置 非XML

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

    Springmvc如何返回xml及json格式数据

    在这个例子中,`Result`类包含了状态信息,通过`@ResponseBody`注解,Spring MVC会将`Result`对象转换为JSON格式并返回给客户端。 3. **返回数据的错误尝试** - **错误尝试1**:将XML数据转换为String直接返回,...

    springmvc开发笔记

    ### Spring MVC 开发笔记:解决异步刷新时的乱码问题 #### 一、问题背景与分析 ...无论选择哪种方案,都可以确保在Spring MVC开发过程中,异步请求能够正确地处理中文等非ASCII字符,避免乱码问题的发生。

    SpringMVC面试题(2020最新版).pdf

    处理中文乱码问题,可以设置HttpServletRequest的编码方式,对于POST请求,可以在过滤器中设置request.setCharacterEncoding("UTF-8");GET请求一般默认处理正确,但如果URL编码了,也需要解码。 Spring MVC的异常...

Global site tag (gtag.js) - Google Analytics