SSM框架整合时ajax请求返回406
Posted 硬是搞JAVA
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSM框架整合时ajax请求返回406相关的知识,希望对你有一定的参考价值。
这个问题主要是在面试的时候机试,搭建spring+springmvc+Mybatis时传JSON格式的数据到前台出现的问题,做个笔记方便大家参考:
在浏览器访问时,json报406,说明spring没有处理好对象序列化成json的问题。百度了下需要配置
<mvc:annotation-driven />
但是依然出现406错误
最后的解决方式如下:
<!-- 避免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>
引入三个jackson2.4版本
如下:
jackson-core-2.4.1.jar
jackson-annotations-2.4.1.jar
jackson-databind-2.4.1.jar
问题就解决了,不在报406了,json数据出来了
以上是关于SSM框架整合时ajax请求返回406的主要内容,如果未能解决你的问题,请参考以下文章
ssm框架 怎么用ajax查询从数据库读取数据 返回json格式
406(不可接受)。尝试使用 @Responsebody 将对象或整数从 spring 处理函数返回到 ajax 请求
SSM整合时IDE: File is included in 4 contexts