12. 회원 관리 예제 - 웹 MVC 개발

MYUNGSUN·2024년 3월 10일
0

스프링부트

목록 보기
12/16

1. 홈 화면

HomeController를 생성

home.html를 만들어줬다.

localhost:8080 를 주소창에 입력하면 이렇게 뜬다.

HomeController에서 GetMapping을 "/"로 해두면 index는 스킵하고 바로 넘어오게된다.
(컨트롤러가 정적 파일보다 우선순위가 높다.)

2. 등록

members 폴더 생성 후 createMemberForm.html를 생성

controller에 MemberForm를 만들고 name 하나를 만들어줬다.

memberController에 추가

이름을 써준 후 등록을 누르게되면

@PostMapping으로 받아와서, MemberForm의 객체를 파라미터로 받아서, MemberForm의 name을 set하고 다시 get해서 member.setName(form.getName());를 통해 member에 입력한 name을 set한다.

그리고 객체를 미리 생성 된 생성자 memberService.join을 사용해 member객체를 넘기고 가입을 하게된다.

마지막으로 첫 화면으로 return하게 된다

3. 조회

memberList.html 생성

memberController에 추가해줬다

회원가입 후 회원목록을 누르게되면 이렇게 내가 등록한 이름들이 나온다.

memberService.findMembers();

-> memberService에 가보면

public List<Member> findMembers(){
        return memberRepository.findAll();
    }

-> 이렇게 있는데 여기서 memberRepository를 imp하고있는 MemoryMemberRepository를 가보게되면

  @Override
    public List<Member> findAll() {

        return new ArrayList<>(store.values());
    }

-> 이게 있다.

private static Map<Long, Member> store = new HashMap<>();

-> key로 Long (회원 아이디), value로 Member를 받고있기에 모든 정보를 리턴하고

 List<Member> members = memberService.findMembers();

-> members에 담아

model.addAttribute("members",members);

        return "members/memberList";

-> 위에 members를 모델에 담아 members(key)로 저장하고 모델을 "members/memberList"로 리턴한다.

profile
백엔드

0개의 댓글

관련 채용 정보