로그인 페이지에 대한 컨트롤러 구현 방법

로그인 페이지를 구현할 때, 생각해보면

 

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

+ Recent posts