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

JYC·2024년 1월 3일

[SPRING STUDY]

목록 보기
6/39

회원 웹 기능 - 홈 화면 추가

홈 컨트롤러 추가

@Controller
public class HomeController {
 @GetMapping("/")
 public String home() {
 return "home";
 	}
}
  • @GetMapping("/") 같은 경우, 기본 localhost:8080으로 들어갔을 경우 home.html 파일을 참고해 보여줌을 의미한다.
  • home.html에는 회원 등록과 회원 목록이 있다.

회원 웹 기능 - 등록

회원 등록 폼 컨트롤러

@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";
 }
}
  • members/new 는 회원 등록 페이지를 의미한다.

회원 등록 컨트롤러

public class MemberForm {
 private String name;
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
}
  • 등록 칸에서 이름을 입력하고 등록하기.

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

@PostMapping("/members/new")
public String create(MemberForm memberForm){
        Member member = new Member();
        member.setName(memberForm.getName());
        memberService.join(member);
        return "redirect:/";
    }
    
    @GetMapping("/members")
    public String list(Model model){
        List<Member> member = memberService.findMember();
        model.addAttribute("members",member);
        return "members/memberList";
    }
}
  • 실제 목록이 등록이 된다. -> 회원 목록을 통해 리스트에 올라간 것을 확인 가능함.

하지만 이번 단계에선 데이터를 파일이나 데이터베이스에 저장하지 않았기에 Intellij를 stop할 경우, 데이터가 모두 사라진다.
이런 이유로 다음 단계에서 데이터베이스를 사용해 데이터를 저장할 것이다.

profile
열심히 하기 1일차

0개의 댓글