> For the complete documentation index, see [llms.txt](https://heunnajo.gitbook.io/spring/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://heunnajo.gitbook.io/spring/mvc/untitled.md).

# 회원 등록

MemberController에 @GetMapping으로 새로 추가할 웹페이지 구현한다!\
@GetMapping("/members/new")에 맵핑할 url 주소를 넣어준다!!!

return  => 렌더링할 페이지 넣어준다!

```
package hello.hellospring.controller;

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

@Controller
public class MemberController {//스프링 실행하면 일종의 컨테이너가 만들어지고 MemberController를 생성해서 그 안에 넣어둔다.
    private final MemberService memberService;

    @Autowired
    public MemberController(MemberService memberService){
        this.memberService = memberService;
    }
    @GetMapping("/members/new")
    public String createForm(){
        return "members/createMemberForm";
    }
}

```

localhost:8080 접속 후 홈화면에 회원가입 버튼을 누르면 /members/new로 간다.\
createMemberForm 페이지 렌더링.

![GetMapping 결과 홈화면에서 members/new 페이지 접속](https://3827409906-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdFkJ5hOZX5yyMKQHqf%2F-MdKQ6D3bCoLnOc7cCgA%2F-MdKQQQuxUTumgVxJmJj%2FScreen%20Shot%202021-06-29%20at%2010.40.53%20AM.png?alt=media\&token=1aa084a6-7133-4df3-9a3f-233f48d855ed)

GetMapping과 PostMapping으로 같은 url에 대해 다른 동작을 구현한다!\
**GetMapping** : HTTP의 GET방식으로 들어온 url에 대해 members/createMemberForm을 렌더링\
**PostMapping** : form을 통해 받은 데이터로부터 name을 받아서 member의 name으로 셋

```
@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());//form에서 name을 받아서 member의 이름으로 셋팅!

        System.out.println("member = "+member.getName());
        memberService.join(member);

        return "redirect:/";//홈화면으로 리다이렉트.
    }
```
