在使用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 的問題就解決了!
