Я думаю, что проблема связана с вашим определением RequestMapping как на уровне контроллера, так и на уровне метода.
первый вход в систему на уровне контроллера, означает, что если вы хотите получить доступ к каким-либо службам в этом контроллере, ваши запросы имеют начинать с "/ login"
@RequestMapping("/login")
@Controller
public class LoginController {
и второго входа в систему на уровне метода означает, что вы хотите вызвать / login службу в /login.
@RequestMapping(value = { "/login" }, method = RequestMethod.GET)
@ResponseBody
public int checkValid(@RequestParam("username") String username,@RequestParam("password") String password, HttpServletRequest request, HttpServletResponse response, Locale locale, Model model){
Итак, действительный URL для вызова службы / login в / контроллер входа:: / login / login
, и из-за этого ваш URL / логин не был найден
, вы можете удалить первый / login в уровень контроллера, или используйте / login / login из вашего ajax запроса ...