[16강]
개인적으로 가장 중요한 회차라고 생각한다.
회원 웹 기능 - 등록
MemberController에 등록하는 createForm 컨트롤러를 하나 추가한다.
이 컨트롤러는 HomeController에 추가해도 정상적으로 작동하나 기능적으로 구분하기 위해 MemberController에 넣었다.
return에 해당하는 경로가 필요하기 때문에 members/createMemberForm을 만들어주었다.
createMemberForm.html
<form> : 입력할 수 있는 칸을 준다.
<input name="name"> : 서버로 넘어올 때 키가 된다.
localhost8080에서 회원 가입을 누르면
/members/new로 이동한다.
이제 이름을 누르고 등록을 눌렀을 때의 일어나는 일들을 만들어보자.
form에서는 post 방식이므로
PostMapping()으로 연결해준다.
그러면 createMemberForm.html에서 넘어오는 값을 MemberForm의 form이 받는다.
-> @GetMapping, @PostMapping에서 객체로 받을 때 아무 어노테이션이 없다면 @ModelAttribute가 자동으로 붙기 때문
그리고 Member의 객체 member를 만들어서 방금 얻어온 값을 member의 이름으로 준다.
그 멤버를 join시키고 다시 / 페이지로 돌아간다.
MemberForm.class
MemberForm에 있는 name이 createMemberForm.html에 있던 <input name="name"> 이 name과 매핑되는 것이다.
그러면 스프링이 setName을 호출해서 값을 넣어준다.
그럼 우리는 getName으로 꺼낼 수 있다.