로그인 페이지에 대한 컨트롤러 구현 방법
로그인 페이지를 구현할 때, 생각해보면
1) 로그인 페이지를 띄우는 것은 GET 으로만 띄우면 될텐데, 정보를 보낼 때 POST로 보내면 되는 것인가?
2) 그렇다면 그걸 어떻게 구현하면 될까?
이 두가지에 대한 의문점이 있습니다.
GET 으로 로그인 페이지를 띄우고, 로그인 버튼 누르면 POST로 보내기
[ controller ]
@GetMapping("/join/login")
public String login() {
return "/join/login";
}
[ login.html ]
<form th:action="/join/login" method="post">
id: <input type="text" name="username" />
Password: <input type="text" name="password" /> <button type="submit"> 전송 </button>
</form>
위의 HTML Form 태그와 컨트롤러를 구현하면 됩니다.
url : localhost:8080/join/login
을 접속하면 로그인 화면이 보입니다.
로그인에 아이디와 비번 입력 후 로그인 버튼을 누르면, /join/login 으로 POST 방식으로 데이터를 전송합니다.
[ controller ]
@PostMapping("/join/login")
public String register(Model model) {
return "/join/login";
}
그러면 /join/login 주소를 POST 로 접속하며, register 메서드가 실행됩니다.
즉, 같은 url 이지만 GET 이냐, POST 이냐에 따른 HTTP 메서드에 따라 구분하게 되는 것입니다.
'스터디' 카테고리의 다른 글
CSRF (0) | 2022.12.31 |
---|---|
세션과 쿠키, JWT (0) | 2022.12.31 |
로그인 페이지는 GET ? POST ? (1) (0) | 2022.12.01 |
logging 알아보기 (0) | 2022.11.30 |
Spring MVC (0) | 2022.11.30 |