前段时间时用springmvc搭建web框架时遇到了一个问题,在这写下该问题的解决办法:
我的spring版本是4.1.版本,在使用@ResponseBody返回map数据时前台报406错误。
@RequestMapping("/checkuser")
@ResponseBody
public Map<String,Object> getUserList(HttpServletRequest request, HttpServletResponse response)throws IOException {
String account = request.getParameter("userName");
String password = request.getParameter("password");
User user_info = userService.getuser(account);
Map<String, Object> result = new HashMap<String, Object>();
result.put("success", true);
result.put("result", 1);
result.put("data","0000000");
return result;
}
解决方法:
1、查看spring-mvc的配置,看看是否少了一句话:<mvc:annotation-driven />
2、如果加上后还不起作用的话查看引入的jar包中是否有jackson相关包,我的是用maven管理,列表如下:
<!-- jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.11</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
导入后就解决问题了