Я пытаюсь создать простую систему регистрации и входа. Когда я пытаюсь зарегистрировать пользователя, я предоставляю всю информацию для ввода, такую как имя пользователя, пароль и пароль подтверждения, но когда я нажимаю кнопку отправки, он перенаправляет меня на / login, даже на страницу / welcome, как я объявил в контроллер. Когда я добавил простую отладку в контроллер в конкретном отображении, ничего не произошло. Я полагаю, что этот метод даже не выполняется, может кто-нибудь взглянуть на этот код и сказать мне, что здесь не так?
@Controller
public class UserController {
private UserService userService;
private SecurityService securityService;
@Autowired
public UserController(UserService userService, SecurityService securityService) {
this.userService = userService;
this.securityService = securityService;
}
@RequestMapping(value = "/registration", method = RequestMethod.GET)
public String registration(Model model) {
// model.addAttribute("user", new User());
//
return "registration";
}
@RequestMapping(value = "/registration", method = RequestMethod.POST)
public String registration(@RequestParam("username") String username, @RequestParam("password")
String password, @RequestParam("confirmPassword") String confirmPassword,
Model model, HttpServletRequest request) {
User foundUser = userService.findByUsername(username);
if (foundUser != null) {
model.addAttribute("msgError", "That user already exists");
return "registration";
}
if (username.equals("") || username.length() < 2) {
model.addAttribute("msgError", "Wrong username");
return "registration";
}
if (!password.equals(confirmPassword)) {
model.addAttribute("msgError", "Passwords can not be different");
return "registration";
}
User user = new User(request.getParameter("username"), request.getParameter("password"), request.getParameter("confirmPassword"));
securityService.autoLogin(username, password);
userService.addUser(user);
model.addAttribute("msgSuccess", "User registered successfully");
return "redirect:/welcome";
}
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String login(Model model, String error, String logout) {
if (error != null)
model.addAttribute("msgError", "Your username and password is invalid");
if (logout != null)
model.addAttribute("msgError", "You have been logged out successfully");
return "login";
}
}
И JSP для регистрации, как показано ниже
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Watchers - Registration</title>
</head>
<body>
<div class="container">
<form method="POST" action="registration" class="sign-form">
<h2 class="sign-form-heading">Create an new account</h2>
<p><input type="text" name="username" /></p>
<p><input type="text" name="password" /></p>
<p><input type="text" name="confirmPassword" /></p>
<input type="submit" value="Submit" />
</form>
</div>
</body>
</html>