springmvc4 ajax 406,关于springMVC 4.x配置ajax-json 出现406错误的问题。

一,问题来源:

昨天晚上在搭建ssm框架时,进行到了配置springMVC支持ajax-json的步骤,按照以前做过的springMVC 3.x 框架进行配置。测试访问时,出现了这样的问题。

f5689744a8a1324243608f56ca172499.png

二,问题分析:

1,检查Controller中的方法是否添加@ResponseBody。(已添加)

2,检查ajax函数是否没写dataType:’json’。(写上了)

3,检查springMVC.xml关于支持返回json数据的处理。(写上了)

class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">

application/json; charset=UTF-8value>

text/html; charset=UTF-8value>

list>

property>

bean>

class="org.springframework.http.converter.StringHttpMessageConverter" />

class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

list>

property>

bean>

5,又检查了jackson的jar是否添加(已经添加)。

那么问题在哪里呢?

三,深入分析:

通过查阅资料,发现:

1,springMVC3.x 和springMVC4.x所依赖的jackson的jar包有所变更:

3.x:

org.codehaus.jacksongroupId>

jackson-core-lgplartifactId>

1.8.1version>

dependency>

org.codehaus.jacksongroupId>

jackson-mapper-lgplartifactId>

1.8.1version>

dependency>

4.x:将使用全新的jackson-annotations-2.5.0.jar,jackson-core-2.5.0.jar,jackson-databind-2.5.0.jar 原有的jar不再使用

com.fasterxml.jackson.jaxrsgroupId>

jackson-jaxrs-xml-providerartifactId>

2.5.2version>

dependency>

com.fasterxml.jackson.coregroupId>

jackson-coreartifactId>

2.5.2version>

dependency>

com.fasterxml.jackson.coregroupId>

jackson-databindartifactId>

2.5.2version>

dependency>

com.fasterxml.jackson.coregroupId>

jackson-annotationsartifactId>

2.5.2version>

dependency>

2:仔细检查发现:springMVC.xml头文件上的xsi:schemaLocation里版本显示的还是3.x,这里手动改成4.x。

3:spring4.x关于json的配置方式有所变更(重点)

3.x:

class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">

application/json; charset=UTF-8value>

text/html; charset=UTF-8value>

list>

property>

bean>

class="org.springframework.http.converter.StringHttpMessageConverter" />

class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

list>

property>

bean>

4.x :

bean>

bean>

class="org.springframework.http.converter.StringHttpMessageConverter">

text/plain;charset=UTF-8value>

list>

property>

bean>

list>

property>

bean>

四,问题解决:

通过修改以上配置信息后,问题解决。

五,分析总结:

1,头文件信息要与使用的spring版本一致。

2,spring3MVC和spring4MVC对于 处理返回json 所使用的jar包不同。

3,spring3MVC和spring4MVC 对于springMVC.xml中对于处理返回json配置方式不同。

六,感谢:

http://www.zuidaima.com/question/2051293900327936.htm

这里帮我找到了答案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值