转载来自:http://blog.csdn.net/a4307515/article/details/42394869#reply
1. 问题:
使用spring4.1.5,使用ResponseBody注解返回JSON格式的数据的时候遇到406错误。
2. 解决办法,导入jackson2.X的jar包:
我添加的是jackson-annotations-2.5.0.jar、jackson-core-2.5.1.jar、jackson-databind-2.5.1.jar。加载完,一定要执行maven——update project进行刷新工程,然后就可以了。
3. 原因:
查找根源
下载4.0.9和4.1.0的spring-webmvc源代码进行对比。
看到在json处理时稍有不同。
4.0.9使用了网上所说的:
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.9.10</version>
- </dependency>
\spring-webmvc-4.0.9.RELEASE-sources\org\springframework\web\servlet\view\json\MappingJacksonJsonView.java
- import org.codehaus.jackson.JsonEncoding;
- import org.codehaus.jackson.JsonGenerator;
- import org.codehaus.jackson.map.ObjectMapper;
- import org.codehaus.jackson.map.SerializationConfig;
而4.1.0开始,使用了:
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>2.5.1</version>
- </dependency>
- import com.fasterxml.jackson.annotation.JsonView;
- import com.fasterxml.jackson.core.JsonEncoding;
- import com.fasterxml.jackson.core.JsonGenerator;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.SerializationFeature;