SPRING/스프링 입문 (김영한 강사님)

스프링 입문 정리 (5) - 회원 관리 예제-웹 MVC 개발

_ys2 2023. 7. 14. 18:03
728x90
반응형

1 ) 회원 웹 기능 - 홈 화면 추가

 

 

아래의 사진으로 보면 GetMapping 메소드를 추가하고, viewResolver 만들어진 home.html 를 만든다. 

HomeController
home.html

만약 Controller에 기본경로인 "/" 로 들어왔을 때의 함수를 정의해주지 않으면 static폴더의 index.html이 열리게 된다.

 

 

2 ) 회원 웹 기능 - 등록

MemberController에서 "/members/new" 를 Get할 경우 함수를 정의해준다.

 

templates -> members 폴더를 추가하고 createMemberForm.html 파일을 만든다.

 

 

localhost:8080/members/new 에 접속을 해보면 아래의 사진과 같이 보여준다.

localhost:8080/members/new

input 안에 이름을 입력하고 등록버튼을 누르면 name이라는 key와 input안에 입력했던 value 값이 서버로 넘어간다.

 

name이라는 key값으로 value가 서버로 넘어오기 때문에 동일하게 name으로 선언해주면 자동으로 매칭이 된다.

MemberForm

 

그 후 MemberController 에서 PostMapping을 만들어준다.

PostMapping

위의 사진과 같이 컨트롤러의 @PostMapping("/members/new")에 매핑되고, 아래사진은 MemberForm에는 name property(재산)가 있고, Setter & Getter 가 구현되어 있다.

폼에서 입력한 name값이 저장되고, getName( )으로 값을 가져올 수 있다.

MemberForm
해석을 해보자면

spring으로 등록하면, createMemberForm.html에 있는 것이 form안에 method = post이므로 post방식으로 "/members/new"경로 name="name"이고 value값으로 들어오게 된다.

form 객체에서 알아서 setName을 호출해서 name에 spring값을 넣어주게 된다.

그래서 함수의 두 번째 문단에 form.getName( ) 을 통해서 name값을 가져오고, 그 값을 member에 넣어주면 서비스 함수를 호출해서 멤버를 추가하게 된다.

 

3 ) 회원 웹 기능 - 조회

 

홈 화면에서 회원 목록을 누르면 @GetMapping("/members")로 이동한다.

findMembers( )를 호출한 후 model에 담고 /members/memberList로 이동후, ViewResolver에 memberList.html을 보내준다.

 

 

 

memberList.html

 (th) 타임리프 문법을 사용하여 each 반복문을 통해 전체 member들을 가져온다.

 

실행파일을 보면 아래의 사진과 같이 가입한 회원 목록을 확인할 수 있다.

 

회원 정보가 메모리에 있기 때문에 서버를 재가동하면 회원 목록은 초기화가 된다.

초기화가 아니고 저장을 하려면 파일이나 DB에 저장해야 된다. (실무에서 저장안하면 큰일남..)

 

출처 : 인프런 - 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 김영한

반응형