Spring4.0 MVC请求json数据报406错误的解决方法

时间:2021-10-05 05:22:05

Spring4.0 MVC请求json数据报406错误,如何解决?

解决方法一:

1、导入jackson-core-2.5.1.jar和jackson-databind-2.5.1.jar

2、Spring配置文件添加:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!-- 避免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配置文件添加:

?
1
2
3
4
5
6
7
8
9
10
11
12
<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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。