SpringMVC中@ResponseBody注記伝達データの中国語文字化けし問題


SpringMVCの構成文は以下の通り(beanの順序に注意)、バージョンによって解決方法が異なる場合があるが、原理は同じである:D e f a u l t AnnotationHandlerMappingというBeanを登録する前に、デフォルトのStringHttpMessageConverter符号化を設定し、以下の構成はspring 3である.2.8バージョン:

	<!--         -->
	<context:component-scan base-package="com.study.web"/>
    
	<!--           ,        DefaultAnnotationHandlerMapping    -->
	<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>
	<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
    <!--            -->
    <!-- <mvc:annotation-driven/> -->
	<!--         json   -->
    <bean id="mappingJacksonHttpMessageConverter"  
        class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" > 
    </bean>