1.问题现象Tomcat7+Spring4.1.3,返回json字符串时发生406错误
[quote]POST http://localhost:8080/ARP/resouces/publishRes.do 406 (Not Acceptable)
[color=green][b]The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers[/b][/color]
[/quote]
所用服务器:
[color=red][b]Apache Tomcat/7.0.54[/b][/color]
2.具体实现
3.网上调查
按照问题现象在网上搜了一下类似问题不少,代表性的有以下几篇:
The resource identified by this request is only capable of generating responses with characteristics
Spring MVC + JSON = 406 Not Acceptable
Spring 3 MVC And JSON Example
4.0.9使用了网上所说的:
\spring-webmvc-4.0.9.RELEASE-sources\org\springframework\web\servlet\view\json\MappingJacksonJsonView.Java
而4.1.0开始,使用了:
spring-webmvc-4.1.0.RELEASE-sources\org\springframework\web\servlet\view\json\AbstractJackson2View.java
6.解决问题
引入fasterxml的jar包,改回spring4.1.4,问题解决。
7.后记:就在要发表文章的时候,在下方预览中看到一篇
Spring MVC 4.1.4 RESTFUL风格返回JSON数据406错误处理
参考:http://blog.youkuaiyun.com/kingof007/article/details/44237043
在spring4.X中删除了啊MappingJacksonHttpMessageConverter类文件,可以使用MappingJackson2HttpMessageConverter替换但是启动仍然会报异常
Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonProcessingException 解决办法是在pom文件中引入一下jar包
参考:http://blog.youkuaiyun.com/guying4875/article/details/50314397
[quote]POST http://localhost:8080/ARP/resouces/publishRes.do 406 (Not Acceptable)
[color=green][b]The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers[/b][/color]
[/quote]
所用服务器:
[color=red][b]Apache Tomcat/7.0.54[/b][/color]
2.具体实现
@RequestMapping(value ="/publishRes",method= RequestMethod.POST)
@ResponseBody
public AjaxResultVO publishRes(HttpServletRequest request){
AjaxResultVO resultVo = new AjaxResultVO();
resultVo.setSuccess(false);
resultVo.setErrCode("500");
resultVo.setExecMsg("查询成功");
return resultVo;
}3.网上调查
按照问题现象在网上搜了一下类似问题不少,代表性的有以下几篇:
The resource identified by this request is only capable of generating responses with characteristics
Spring MVC + JSON = 406 Not Acceptable
Spring 3 MVC And JSON Example
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> spring-webmvc-4.1.0.RELEASE-sources\org\springframework\web\servlet\view\json\AbstractJackson2View.java
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; 6.解决问题
引入fasterxml的jar包,改回spring4.1.4,问题解决。
7.后记:就在要发表文章的时候,在下方预览中看到一篇
Spring MVC 4.1.4 RESTFUL风格返回JSON数据406错误处理
参考:http://blog.youkuaiyun.com/kingof007/article/details/44237043
在spring4.X中删除了啊MappingJacksonHttpMessageConverter类文件,可以使用MappingJackson2HttpMessageConverter替换但是启动仍然会报异常
Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonProcessingException 解决办法是在pom文件中引入一下jar包
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>参考:http://blog.youkuaiyun.com/guying4875/article/details/50314397
本文介绍了解决在使用Tomcat7+Spring4.1.3时遇到的406 Not Acceptable错误的方法。该错误发生在返回JSON字符串时,并提供了一个具体的代码示例。通过调整依赖库版本及引入新的jar包,最终解决了此问题。
1028

被折叠的 条评论
为什么被折叠?



