- 마이페이지에서 회원탈퇴 버튼을 누르면 회원이 탈퇴되게 한다.
마이페이지 jsp확인하기
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원정보 수정</title>
</head>
<body>
<h1 align="center">회원정보수정</h1>
<div class="">
<form action="/member/modify.kh" method="post">
<table>
<tr>
<td>* 아이디</td>
<td><input type="text" id="memberId" name="memberId" value="${member.memberId }" readonly>
</td>
</tr>
<tr>
<td>* 비밀번호</td>
<td><input type="password" name="memberPw" value=""></td>
</tr>
<tr>
<td>* 이름</td>
<td><input type="text" name="memberName" value="${member.memberName }" readonly></td>
</tr>
<tr>
<td>* 이메일</td>
<td><input type="text" name="memberEmail" value="${member.memberEmail }"></td>
</tr>
<tr>
<td>* 전화번호</td>
<td><input type="text" name="memberPhone" value="${member.memberPhone }"></td>
</tr>
<tr>
<td>* 우편번호</td>
<td><input type="text" name="post" value="${post }" ></td>
</tr>
<tr>
<td>* 주소</td>
<td><input type="text" name="address" value="${address }"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="수정하기">
<button type="button" onclick="removeMember();"> 탈퇴하기 </button>
</td>
</tr>
</table>
</form>
</div>
<script>
function removeMember() {
if(window.confirm("탈퇴하시겠습니까?")){
location.href="/member/remove.kh";
}
}
</script>
</body>
</html>
- 회원탈퇴 버튼을 누르면 하단의 js문에 따라 탈퇴하시겠습니까? 창이 나오고 확인을 눌러야 탈퇴 controller로 연결된다.
Controller
@RequestMapping(value = "/member/remove.kh", method = RequestMethod.GET)
public ModelAndView removeMember(HttpSession session,
ModelAndView mv
) {
Member member = (Member) session.getAttribute("loginUser");
String memberId = member.getMemberId();
try {
int result = mService.removeMember(memberId);
if (result == 1) {
mv.setViewName("redirect:/member/logout.kh");
}
} catch (Exception e) {
mv.addObject("msg", e.getMessage());
mv.setViewName("common/errorPage");
}
return mv;
}
- 수정페이지와 같이 ModelAndView를 활용하여 리턴과, 넘길값을 지정하였다,
- 탈퇴가 성공하면 로그아웃컨트롤러로 연결된다,
Service로
@Override
public int removeMember(String memberId) {
int result = mStore.deleteMember(session, memberId);
return result;
}
Store
@Override
public int deleteMember(SqlSession session, String memberId) {
int result = session.delete("MemberMapper.deldetMemger", memberId);
return result;
}
- update태그의 id와 Mapper.xml의 해당되는 namespace와 연결된 쿼리문을 실행한다
Mapper
<delete id="deldetMemger" parameterType="String">
update member_tbl
set m_status = 'N' where member_id=#{memberId}
</delete>