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