[spring 팀프로젝트] - 웹사이트 제작 9. 마이페이지 - (4)탈퇴하기

JINI·2022년 12월 10일
0
post-thumbnail

마이페이지 회원 정보 페이지에서 탈퇴하기 버튼을 클릭하면 탈퇴 페이지로 이동한다.
이메일을 입력하고 가입된 정보와 같은지 확인 후 세션이 만료 되며 모든 회원 정보는 삭제되고 탈퇴에 성공한다.

✂️탈퇴전 db 존재

✂️탈퇴 후 db에서도 삭제

🎨jsp

<form id="withdrawalForm" action="${contextPath }/member/deleteMemberCheck" method="post">
	<div class="form-group">
   	 <input type="text" value="${successLoginUser}" name="id" /> 
     <input type="text" name="email" id="pwd" placeholder="이메일">
    </div>
    <button type="submit" id="withdrawal-btn">탈퇴하기</button>
</form>

세션이 있는 아이디가 탈퇴 페이지로 넘어가고 이메일을 입력하고 탈퇴하기 버튼을 클릭하면 해당 폼은 입력한 컨트롤러로 연결된다.


📕Controller

✔️세션 만료시키기

@PostMapping("deleteMemberCheck")
	public String deleteMemberCheck(String email, HttpSession session, memberDTO dto){
		if(email.equals(dto.getEmail())) {
			ms.deleteMemberCheck(dto);
			session.invalidate();
			return "redirect:/index";
		} else {
			return "redirect:deleteMember";
		}
	}

세션과 이메일을 가져오고 입력한 이메일과 비교할 dto를 가져온다.
사용자가 입력한 이메일이 dto의 이메일과 같으면 값을 service로 보내고 세션을 만료시킨후 메인페이지로 이동한다.
값이 같지 않다면 탈퇴 페이지를 보여준다.


📕Service/serviceImpl

public void deleteMemberCheck(memberDTO dto);
public void detailInfoDel(String id) {
		memberMapper.detailInfoDel(id);
	}

📕mapper.java

public void deleteMemberCheck(memberDTO dto);

📕mapper.xml

<delete id="deleteMemberCheck" >
		delete from box_member where buser_id=#{id}
		and
		buser_email = #{email}
</delete>

delete로 회원 아이디와 아이디 값을 가진 회원을 삭제하는 쿼리문을 작성한다.


profile
꾸준히 성장하는 개발자

0개의 댓글