Spring webmvc 返回json是 406(Not Acceptable)
出现这个问题的原因:
1.没有导相应的jackson.jar包,出现这个问题一般是使用spring webmvc框架并且使用ajax发起请求,使用spring webmvc时,一般都会在controller层使用@ResponseBody的注解(该注解用来将controller层的方法返回数据转换成json格式),而这个注解是需要依赖jackson.jar相关的jar包的(jackson-annotations-x.x.x.jar、jackson-core-x-x-x.jar、
jackson-databind-x.x.x.jar/jackson-mapper-asl.x.x.x.jar)。
2.导入了相关的jackson.jar包还是出现该问题,这就很有可能是你选择spring版本的问题(对于不知道的人算是一个小坑吧)
在spring-webmvc 4.0.9中,对json的处理为:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.10</version>
</dependency>
而在spring-webmvc 4.1.0中,对json的处理为:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
也就是说,如果你是用的spring-webmvc的版本是4.0.9以及之前的,在导入jackson.jar相关的jar包时, 应该导入的是jackson-mapper-asl.x.x.x.jar,而如果spring-webmvc的版本是4.1.0以及之后的版本,应该导入的是jackson-databind-x.x.x.jar。
推荐两个网址:
1、Java EE开发相关jar包下载地址:http://www.java2s.com/Code/Jar/CatalogJar.htm
2、Spring各个历史版本的源码下载地址:http://maven.springframework.org/release/org/springframework/spring/

浙公网安备 33010602011771号