Spring MVC 3.x 版本使用 @ResponseBody 返回乱码

由于万恶的Spring MVC 默认返回编码 是 ISO-8859-1, 使用如下配置, 可以将编码专为UTF-8,

    <bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<bean class="org.springframework.http.MediaType">
<constructor-arg index="0" value="text" />
<constructor-arg index="1" value="plain" />
<constructor-arg index="2" value="UTF-8" />
</bean>
</list>
</property>
</bean>
</list>
</property>
</bean>

但是, 如果使用 POST 请求的时候 后台可能会报

org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation

因为请求的头信息中 可能请求返回的不是 text/plain;charset=UTF8  这种格式,需要吧request 的 Accept 设置为 text/plain;charset=UTF8.

上一篇:Oracle课程档案,第十三天


下一篇:构建安全的Xml Web Service系列之wse之错误代码详解