使用@ResponseBody的中文乱码问题

在为一个大作业搭建后台的时候,发现调用接口返回的数据中文乱码,中文都显示?????,在网上找了很多解决方法,有使用

RequestMapping(value = "testPersonalValidtor.do",produces = "application/json;charset=utf-8")


方法的,但我觉得每个方法都要加这个声明太麻烦,想在配置文件修改编码格式,一劳永逸。

试过了网上很多方法,发现没找到可用的,不过综合了几篇,竟然让我成功了!现在让我分享一下代码吧


首先在springMVC-servlet.xml文件里增加

<mvc:annotation-driven>
       <mvc:message-converters>
           <bean class="org.springframework.http.converter.StringHttpMessageConverter">
               <constructor-arg value="#{T(java.nio.charset.Charset).forName('UTF-8')}"/>
               <property name="supportedMediaTypes">
                   <list>
                       <value>text/plain;charset=UTF-8</value>
                       <value>text/html;charset=UTF-8</value>
                       <value>applicaiton/javascript;charset=UTF-8</value>
                   </list>
               </property>
               <property name="writeAcceptCharset"><value>false</value></property>
           </bean>
           <bean
               class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
               <property name="supportedMediaTypes">
                   <list>
                       <value>application/json; charset=UTF-8</value>
                       <value>application/x-www-form-urlencoded; charset=UTF-8</value>
                   </list>
               </property>
           </bean>
       </mvc:message-converters>
   </mvc:annotation-driven>

有篇博文说要放在
<context:component-scan base-package="com.beiyi.controller"></context:component-scan>

的前面,我直接用了。

同时记得在文件前加

xmlns:mvc="http://www.springframework.org/schema/mvc"
,在 xsi:schemaLocation=""里加

http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd

然后在Maven依赖中加入Jackjson的依赖

<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.13</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-core-asl</artifactId>
			<version>1.9.13</version>
		</dependency>

然后使用一下Maven的update project,最好再clean一下项,然后就成功了。

展示一下前后对比的图吧



希望能帮助到大家~


参考博客:

https://yq.aliyun.com/articles/70081

https://yq.aliyun.com/articles/83808?spm=5176.100239.blogcont70081.22.ddoq5w

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值