Spring Boot/Spring Boot 로그인
[Spring Boot] (5) 회원가입 페이지 요청하기 & 입력한 정보 컨트롤러로 전달하기
몰라닉네임
2023. 8. 1. 16:03
(@RequestParam("memberEmail") String memberEmail)
데이터를 받는 @RequestParam("memberEmail") 여기에 담겨 온 값을 String memberEmail 여기에 옮겨 담는다라고 생각하자
name 이 기준
- Client의 요청이 발생하면 가장 먼저 받아주는 부분이 Controller이다.
- 링크를 클릭하는 것은 http 메서드에서 Get 메서드를 사용한 요청이다.
- get 방식은 클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 메서드이다.
post 방식은 리소스를 생성 및 수정하기 위해 데이터를 보낼 때 주로 사용된다.
HTTP
- status 405
HTTP의 status 405는 응답 상태 코드는 서버가 요청 메서드를 알고 있지만 대상 리소스가 이 메서드를 지원하지 않음을 가리킨다. (메서드 매칭이 되지 않아 생기는 오류)
- status 404
웹 서버가 해당하는 URL을 찾을 수 없을 때 나타난다.
파일구조
HomeController
package com.example.member.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
//기본 페이지 요청 메서드
@GetMapping("/")
public String index() {
return "index"; //templates 폴더의 index.html 찾아감
}
}
MemberController
package com.example.member.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class MemberController {
//회원가입 페이지 출력 요청
@GetMapping("/member/save")
public String saveForm() {
return "save";
}
@PostMapping("/member/save")
public String save(@RequestParam("memberEmail") String memberEmail,
@RequestParam("memberPassword") String memberPassword,
@RequestParam("memberName") String memberName,
@RequestParam("memberPhoneNumber") String memberPhoneNumber,
@RequestParam("memberAddress") String memberAddress) {
System.out.println("MemberController.save"); // soutm => 현재 메서드가 뭔지 프린트 해준다.
System.out.println("memberEmail = " + memberEmail + ", memberPassword = " + memberPassword + ", memberName = " + memberName + ", memberPhoneNumber = " + memberPhoneNumber + ", memberAddress = " + memberAddress);
//soutp 를 누르면 현재 데이터들을 볼 수 있다.
return "index";
}
}
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<h1>hello spring boot </h1>
<a href="/member/save">회원가입</a>
<a href="/member/login">로그인</a>
</body>
</html>
save.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>save</title>
</head>
<body>
<form action="/member/save" method="post">
<!-- name속성: 서버로 전송할 때 변수이름의 역할-->
이메일: <input type="text" name="memberEmail"> <br>
비밀번호: <input type="password" name="memberPassword"> <br>
이름: <input type="text" name="memberName"> <br>
전화번호: <input type="text" name="memberPhoneNumber"> <br>
주소: <input type="text" name="memberAddress"> <br>
<input type="submit" value="회원가입">
</form>
</body>
</html>
소스코드 참고
https://youtube.com/watch?v=1T6jUyLKheU&list=PLV9zd3otBRt5ANIjawvd-el3QU594wyx7&index=6