우당탕탕 개발일지
회원제 게시판(4) 본문
이전 게시물 : 2024.04.19 - [개발/회원제] - 회원제 프로젝트(3)
1. 회원정보 수정
해당 화면에서 '내 정보 수정하기' 버튼 누르면 회원정보 수정 화면 나옴
1-1. updateMember.html
회원 정보 수정 화면
'정보수정' 버튼 클릭 시, post 방식으로 수정한 데이터 서버에게 전송
1-2. MemberController.java
updateForm 함수
1. Get 방식 (화면 렌더링)
2. session에서 로그인 정보 들고 옴
- loginEmail이라는 이름으로 회원의 이메일 주소를 가지고 있음.
3. memberService의 updateForm 함수를 통해서 회원 정보 가져옴.
4. 가져온 회원정보를 model에 담아서 전송함.
5. updateMember.html (1번) 화면 불러옴.
update 함수
1. Post 방식 (회원정보 수정을 위해)
2. memberService의 update 함수 호출하여 회원정보 수정
3. redirect:/를 사용하여 회원 상세조회 화면 URL 다시 호출
- 회원 상세조회 URL : member/{id}, 컨트롤러에서 해당 함수 : findById
- redirect:/ : URL 다시 요청
- 해당 반환값을 통해서 findbyId 함수 호출됨.
- 수정된 회원정보로 화면 렌더링
1-3. MemberService.java
1-2의 Get 방식
updateForm 함수
1. Email를 통해서 회원정보 가져오는 함수
2. DB에서 해당 Email을 가진 회원정보 가져오기
2-1. DB에 Email이 존재할 경우
>> 객체 변환 : Entity -> DTO
>> 반환 값 : DTO 객체
2-2. DB에 Email이 존재하지 않은 경우
>> 반환 값 : null 값
1-2의 Post 방식
update 함수
1. 사용자가 수정한 데이터를 저장하는 함수
2. 객체 변환 : DTO -> Entity
- MemberEntity의 toupdateEntity 함수 호출
- DB에 저장하기 위해 Entity 객체 사용
3. memberRepository를 사용하여 변환된 Entity 객체 저장
memberRepository : JPA 상속받음
save : id (pk)가 동일한 경우 갱신, 새로운 id(pk)일 경우 생성 한다.
4. 반환 값 : findById 함수의 반환 값이 MemberDTO 객체
- findById 함수 : 현재 id(pk)에 해당하는 DTO 객체 반환
- findById 함수 : memberService 안에 만들어져 있는 함수
1-4. 유튜브 영상
https://www.youtube.com/watch?v=TXTZe3klh64&list=PLV9zd3otBRt5ANIjawvd-el3QU594wyx7&index=12
2. 회원정보 삭제
회원 목록에서 '삭제' 버튼 클릭 시, 해당 작업 실행됨
2-1. MemberController.java
deleteMember 함수
1. Get 방식
2. PathVariable 어노테이션을 사용하여 URL에 있는 id 값 매개변수로 받음
3. memberService의 deleteMember 함수 호출
4. redirect:/를 사용하여 URL 주소( /member) 다시 요청 >> 회원 목록
2-2. MemberService.java
deleteMember 함수
1. 매개변수로 받은 id(PK) 활용
2. memberRepository의 deleteById 함수 호출하여 해당하는 id(PK) 삭제
2-3. 유튜브 영상
https://www.youtube.com/watch?v=iJNIZUAJsk4&list=PLV9zd3otBRt5ANIjawvd-el3QU594wyx7&index=13
3. 로그아웃
'로그아웃' 버튼 클릭 시 해당 작업 실행
3-1. MemberController.java
logout 함수
1. Get 방식 >> 로그아웃 버튼 클릭 시, Get 방식으로 요청
2. 로그인 정보를 가지고 있는 HttpeSession를 매개변수로 받음
3. session의 invalidate 함수를 사용하여 로그아웃
- invalidate : 세션 저장소에서 해당 세션 제거
4. 반환 값 : index.html
3-2. 유튜브 영상
https://www.youtube.com/watch?v=Hds86bMGqDY&list=PLV9zd3otBRt5ANIjawvd-el3QU594wyx7&index=14
4. Git
https://github.com/ujin302/Board
'개발 프로젝트 > 게시물 회원제' 카테고리의 다른 글
회원제 게시판(5) (0) | 2024.04.30 |
---|---|
회원제 프로젝트(3) (0) | 2024.04.19 |
회원제 프로젝트(2) (0) | 2024.04.18 |
회원제 프로젝트(1) (0) | 2024.04.17 |