解决Spring4 MVC请求json数据报406错误
解决方法一:
1、导入jackson-core-2.5.1.jar和jackson-databind-2.5.1.jar
2、Spring配置文件添加:
<!-- 避免IE执行AJAX时,返回JSON出现下载文件
spring3为:org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
spring4为:org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
-->
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 --> </list> </property> </bean>
解决方法二:
1、导入第三方(阿里巴巴)的fastjson包,fastjson-1.2.7.jar
2、Spring配置文件添加:
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <!-- 避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>