springMVC中使用@ResponseBody注解中文乱码解决办法

1.在@RequestMapping中加 produces = "application/json;charset=utf-8"

@RequestMapping(value = "/test3",produces = "application/json;charset=utf-8")
@ResponseBody
public String test3() throws JsonProcessingException {
User user = new User();
user.setId(1);
user.setUsername("小虎");
ObjectMapper mapper = new ObjectMapper();
String s = mapper.writeValueAsString(user);
return s;
}

2.在spring-mvc中的配置文件中配置一个字符串消息转换器

<!--配置注解驱动-->
<mvc:annotation-driven>
<!--消息转换器,解决ResponseBody响应中文乱码-->
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>
<property name="defaultCharset" value="UTF-8"/>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>

posted @ 2022-01-13 21:10  xuan007  阅读(198)  评论(0)    收藏  举报