У меня есть этот контроллер:
@Controller
public class HelloWorldController {
@RequestMapping("/hello.html")
public ModelAndView helloWorld() {
String message = "Hello World, Spring 3.0!";
return new ModelAndView("hello", "message", message);
}
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String viewLogin(Map<String, Object> model) {
User user = new User();
model.put("userForm", user);
return "LoginForm";
}
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String doLogin(@Valid @ModelAttribute("userForm") User userForm,
BindingResult result, Map<String, Object> model) {
if (result.hasErrors()) {
return "login";
}
return "LoginSuccess";
}
}
У меня есть 2 метода, имеющие разные методы http для одного и того же URL /login
, поэтому при нажатии на первый URL-адрес 'localhost:8080/project_name/login
' первый метод с GET
будет обработан и перенаправит меня на /LoginForm
Так что из моего понимания обработчик второго метода не будет выполнен, так как запрос на /login
всегда с GET.
Если мое понимание неверно, пожалуйста, объясните мне, как можно использовать второй метод, и спасибо.