JSON_springMVC下,使用AJAX请求,产生406错误的解决手记

首先,spring相关依赖如下:
 1 <properties>
 2     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 3     <spring.version>4.1.0.RELEASE</spring.version>
 4 </properties>
 5 
 6 <dependency>
 7     <groupId>org.springframework</groupId>
 8     <artifactId>spring-webmvc</artifactId>
 9     <version>${spring.version}</version>
10 </dependency>
11 <dependency>
12     <groupId>org.springframework</groupId>
13     <artifactId>spring-web</artifactId>
14     <version>${spring.version}</version>
15 </dependency>
使用springMVC创建一个可以返回JSON的方法,需要如下书写,关键要为特定的方法添加@ResponseBody,将返回值自动转换为JSON格式,作为相应的内容
1     @RequestMapping("/subCates")
2     public @ResponseBody List<Category> listSubCates(@Param Integer pId){
3         List<Category> cs = categoryService.listCategoryByPcid(pId);
4         return cs;
5     }
该注解需要在xxx-servlet.xml配置中开启
1 <mvc:annotation-driven />
单是如此还不够,经过调查,springMVC还依赖了处理JSON的类库Jackson
 1 <!-- JSON -->
 2 <dependency>
 3     <groupId>com.fasterxml.jackson.core</groupId>
 4     <artifactId>jackson-core</artifactId>
 5     <version>2.5.0</version>
 6 </dependency>
 7 
 8 <dependency>
 9      <groupId>com.fasterxml.jackson.core</groupId>
10     <artifactId>jackson-databind</artifactId>
11     <version>2.5.0</version>
12 </dependency>
13 
14 <dependency>
15      <groupId>org.codehaus.jackson</groupId>
16      <artifactId>jackson-mapper-asl</artifactId>
17      <version>1.9.13</version>
18 </dependency>
本人最开始只依赖了mapper和core,没有添加databind依赖才导致了406错误。调查之后发现,其实只需要添加databind依赖就可以解决问题,databind依赖了core等配置。

posted on 2015-01-27 16:52 都较瘦 阅读(2264) 评论(0)  编辑  收藏 所属分类: JSON相关问题积累


只有注册用户登录后才能发表评论。


网站导航:
 
<2015年1月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

公告

博客定位:囿于目前的水平,博客定位在记录自己的学习心得和随手的练习

常用链接

留言簿

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜