(초기 버전)
1. 폼에 회원 탈퇴 추가
<!-- 이전 생략 -->
<div class="form-group row mt-4">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" value="수정" class="offset-md-8 submit-green">
<a href="<c:url value="/home"/>" class="submit-red">취소</a><br>
<a href="" onclick="delete_confirm()">회원탈퇴</a>
</div>
</div>
</form:form>
</div>
</div>
</div>
</section>
<jsp:include page="/WEB-INF/views/module/footer.jsp" flush="false"/>
</body>
</html>
<script type="text/javascript">
function delete_confirm() {
var con = confirm("회원 탈퇴하시겠습니까?");
if(con){
document.getElementById('delete_form').submit();
}else{
return false;
}
}
</script>
2. Repository 작성
@Override
public int delete_member(String sessionId) {
String sql = "DELETE FROM user_mem WHERE mem_id = ?";
int verify = template.update(sql, sessionId);
return verify;
}
3. Service 작성
@Override
public int delete_member(String sessionId) {
System.out.println("memberService.delete_member() 도착");
int verify = memberRepository.delete_member(sessionId);
return verify;
}
4. Controller 작성
@GetMapping("/delete_member")
public String delete_member() {
String sessionId = (String)session.getAttribute("sessionId");
int verify = memberService.delete_member(sessionId);
if(verify == 1) {
System.out.println("회원 삭제 성공");
return "redirect:/home";
}else {
System.out.println("회원 삭제 실패");
return "redirect:/home";
}
}
(수정)
어제 여기까지 했는데 오늘 다시 해보니 redirect:/home이 제대로 실행되지 않았다. 그리고 고치는 과정에서 갑자기 회원탈퇴로 이동하는 a 태그가 제대로 작동하지 않게 됐다.
그래서 방법을 바꾸기로 했다.
1) home으로 이동하는 대신에 회원탈퇴 완료 페이지로 이동한다.
2) a태그 대신에 form을 새로 만들고 submit으로 제출한다.
1-1. form 수정
<form:form> 태그 밑에 submit 버튼만 있는 <form>태그를 만들고 onsubmit으로 confirm을 발생시켰다.
<form name="delete_form" action="<c:url value="/member/delete_member"/>" onsubmit="return confirm('회원 탈퇴하시겠습니까?');">
<input type="submit" value="회원 탈퇴" class="btn btn-danger"/>
</form>
1-2. 뷰 페이지 제작
1-3. Controller 수정
@GetMapping("/delete_member")
public String delete_member() {
String sessionId = (String)session.getAttribute("sessionId");
int verify = memberService.delete_member(sessionId);
if(verify == 1) {
System.out.println("회원 삭제 성공");
return "/member/delete_member_complete";
}else {
System.out.println("회원 삭제 실패");
return "/member/member_info";
}
}
'정리노트 > 팀프로젝트' 카테고리의 다른 글
[팀 프로젝트] 24.02.19. 노트 (0) | 2024.02.19 |
---|---|
[팀프로젝트] 24.02.16. 노트 (0) | 2024.02.16 |
[팀프로젝트] 24.02.15. 노트 (0) | 2024.02.15 |
[스프링] 회원정보 불러오기(READ), 수정(UPDATE) 구현 (0) | 2024.02.15 |
[스프링] 로그인 구현 (0) | 2024.02.15 |