解决方案一
通过 @RequestMaping 的produces属性,来设置编码格式为utf-8,以及它返回的类型
@RequestMapping(value = "/json1",produces = "application/json;charset=utf-8")
解决方案一的弊端:每一个响应数据的请求都需要配置,比较麻烦,多的时候容易漏掉。
解决方案二
在Spring配置文件中配置 mvc:message-converters StringHttpMessageConverter
<mvc:annotation-driven>
<!--解决json乱码问题-->
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8"/>
</bean>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
<property name="failOnEmptyBeans" value="false"/>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>