springMvc中406错误解决,
springMvc使用json出现406 (Not Acceptable)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年9月27日 11:38:54 星期日
http://fanshuyao.iteye.com/
一、问题描述:
使用jquery Ajax请求,但页面无提示,后面也没有报错,浏览器控制台输出下面的信息
POST http://localhost:8080/cxf2.7/getPerson.json 406 (Not Acceptable)
其中:
HTTP Status 406 (不接受)
->无法使用请求的内容特性响应请求的网页。
其中网上很多资料都是说supportedMediaTypes需要添加application/json;charset=UTF-8,但依然出现406 (Not Acceptable)
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
<value>text/xml;charset=UTF-8</value>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
二、解决方法:
原来springMvc使用@ResponseBody,如果返回的是json结果,需要添加jackson的jar包,这点容易忘记
jackson-annotations-2.6.1.jar
jackson-core-2.6.1.jar
jackson-databind-2.6.1.jar
附件有jackson需要的jar包
添加完之后,就能正确返回结果了
{"id":3,"name":"tom","age":13,"insertTime":1443325429417}
三、测试supportedMediaTypes,就算不配置application/json;charset=UTF-8,也可以正常返回结果。
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<!--
<value>application/json;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
<value>text/xml;charset=UTF-8</value>
<value>text/plain;charset=UTF-8</value>
-->
</list>
</property>
附件有jackson需要的jar包
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年9月27日 11:38:54 星期日
http://fanshuyao.iteye.com/