springMvc中406错误解决,springMvc使用json出现406 (Not Acceptable)

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/

猜你喜欢

转载自fanshuyao.iteye.com/blog/2246408