본문 바로가기
Back End/Spring

Spring - 웹 MVC 예제 (회원 등록)

by SolaKim 2023. 7. 4.

회원 등록 폼 컨트롤러 생성

@Controller
public class MemberController {
    //    private final MemberService memberService = new MemberService();
    private final MemberService memberService;

    //컨트롤러와 서비스를 연결
    @Autowired
    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }

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

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

        memberService.join(member);
		//가입이 완료 되었으면 홈화면으로 리다이렉트
        return "redirect:/";
    }

 

./templates/members/createMemberForm.html

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
<!--  폼태그를 사용해서 입력받은 값을 name으로 전달한다. -->
  <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> <!-- /container -->
</body>
</html>

ㄴ 폼태그(중요!) 

 

GetMapping 과 PostMapping

  • GetMapping은 주로 조회하는 기능에서 사용.
  • PostMapping은 html에서 method가 Post일때 해당 폼에서 원하는 value값을 인수로받아온다. (데이터를 받아올 때 사용.)
  • 같은 URL을 가지고 있어도 get인지 post인지에 따라 서로 다른 역할을 수행하게 됨