Spring/스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[ 회원 관리 예제 - 웹 MVC 개발 ] 회원 등록

alsruds 2023. 9. 8. 20:36

🙂강의🙂

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세

www.inflearn.com

 

▨ 목차 ▨

- 회원 등록 폼 개발
    - 회원 등록 폼 Controller
    - 회원 등록 폼 HTML
    
- 회원 등록 컨트롤러
    - 웹 등록 화면에서 데이터를 전달 받을 폼 객체
    - 회원 컨트롤러에서 회원을 실제 등록하는 기능

 

[ 회원 등록 폼 개발 ]

✅ 회원 등록 폼 Controller

  • src/main/java/hello.hellospring/controller 에 MemberController class 생성
package hello.hellospring.controller;

import hello.hellospring.domain.Member;
import hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

// Controller 등록
@Controller
public class MemberController {

    private final MemberService memberService;

    // 자동 연결
    @Autowired
    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }

    @GetMapping("/members/new")
    public String createForm() {
        return "members/createMemberForm";
    }
}

 

✅ 회원 등록 폼 HTML

  1. src/main/resources/templates 에 members directory 생성
  2. members directory 에 createMemberForm.html 생성
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>회원 가입</title>
</head>
<body>

<div class="container">
    <form action="/members/new" method="post">
        <div class="form-group">
            <label for="name">이름</label>
            <input type="text" id="name" name="name" placeholder="이름을 입력하세요">
        </div>
        <button type="submit">등록</button>
    </form>
</div>

</body>
</html>

 

[ 회원 등록 컨트롤러 ]

✅ 웹 등록 화면에서 데이터를 전달 받을 폼 객체

  • src/main/java/hello.hellospring/controller 에 MemberForm class 생성
package hello.hellospring.controller;

public class MemberForm {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

✅ 회원 컨트롤러에서 회원을 실제 등록하는 기능

  • MemberController 에 코드 추가
...

// Controller 등록
@Controller
public class MemberController {

    ...

    @PostMapping("/members/new")
    public String create(MemberForm form) {
        Member member = new Member();
        member.setName(form.getName());

        memberService.join(member);

        return "redirect:/";
    }
}

 

  • 웹 브라우저 확인

성공 ~