SpringMVC项目接收Json数据报406错误

来源:互联网 发布:2016网络语 编辑:程序博客网 时间:2024/06/05 09:33

SpringMVC项目接收Json数据报406错误

在springMVC+MyBatis写一个项目,在发起请求的时候,意外返回的错误是406,于是上网查了406错误代表的意思。
406错误为:请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。
什么意思呢? 意思是你发送一个请求给服务器,你自己想接收的返回实体为Json类型,但是服务器返回给你的并不是Json,所以会有406错误。

解决方法如下:


1. 若没有开启mvc的注解可用以下代码开启

    <!-- 开启注解 -->    <mvc:annotation-driven />

2. 配置Json模板

配置Json模板需要加入jackson的jar包(Spring 4.0以上建议使用jackson2.0版本以上)
并在配置文件中加入以下代码

<!-- 避免IE执行AJAX时,返回JSON出现下载文件 -->    <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>

3. 在方法前增加@ResponseBody

在此记录下,纪念我找原因的好几个小时。。。

0 0