在使用SpringMVC的时候遇到了这个问题
问题原因: 在指定方法所对应的url地址的时候重复了, 也就是@RequestMapping("url")中, 两个方法使用了同一个url路径
//获取请求参数
@RequestMapping(value = "/login")
public String login(@RequestParam(name = "username", required = true, defaultValue = "admin") String username) {
System.out.println(username);
return "login";
}
//使用JSON从前端获取数据
@RequestMapping(value = "/login")
public String login(@RequestBody User user) {
System.out.println(user.getUserName());
System.out.println(user.getUserGender());
return "/user/user.jsp";
}
解决办法: 将重复的名字换成另外一个
//获取请求参数
@RequestMapping(value = "/login2")
public String login(@RequestParam(name = "username", required = true, defaultValue = "admin") String username) {
System.out.println(username);
return "login";
}
//使用JSON从前端获取数据
@RequestMapping(value = "/login3")
public String login(@RequestBody User user) {
System.out.println(user.getUserName());
System.out.println(user.getUserGender());
return "/user/user.jsp";
}
到这里, Ambiguous(有歧义的) mapping(映射). Cannot map 'userController' method 的问题就解决了!