[스프링 입문] Section 05 - 회원 관리 예제(웹 MVC 개발)

Update:     Updated:

카테고리:

태그:

File Tree 참고하기

Image

홈 화면

홈 컨트롤러를 추가해준다.

// HomeController.java
package hello.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {
    @GetMapping("/")
    public String home() {
        return "home";
    }
}

Q) ‘/’ 요청 시, index.html 대신 hello.html이 호출되는 이유?
A) 컨트롤러가 정적 파일보다 우선순위가 높기 때문이다.

회원 등록

1) 웹 등록 화면에서 데이터를 전달 받을 폼 객체를 만들어야 한다.

// MemberForm.java
package hello.hellospring.controller;

public class MemberForm {
    private String name;
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    } 
}


2) 회원 등록용 폼 컨트롤러 제작

// MemberController.java
@Controller
public class MemberController {
    private final MemberService memberService;
    
    @Autowired
    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }
    
    @GetMapping(value = "/members/new")
    public String createForm() {
        return "members/createMemberForm";
    }
}


3) 회원 컨트롤러에서 회원을 실제 등록하는 기능을 구현

// MemberController.java
@PostMapping(value = "/members/new")
public String create(MemberForm form) {
    Member member = new Member();   // 멤버를 생성하고
    
    member.setName(form.getName()); // 폼으로부터 이름을 가져와 member의 이름을 설정하고
    memberService.join(member); // memberService를 통해 생성한 member를 저장한다.
    
    return "redirect:/";    // 회원 가입 완료 후 다시 home 화면으로 돌아가도록 만든다.
}

회원 조회

// MemberController.java
@GetMapping("/members")
public String list(Model model) {
    List<Member> members = memberService.findMembers();
    model.addAttribute("members", members);
    return "members/memberList";
}

Spring-Tutorial 카테고리 내 다른 글 보러가기

댓글 남기기