Day54 - [JSP]회원탈퇴 구현하기

2021. 4. 30. 18:24JSP 공부

http://rsorry.tistory.com/189 

 

Day54 - [JSP]정보수정 페이지 만들기

이번에는 이전 글 로그인에 이어서 정보수정 페이지를 만들어 볼 겁니다. http://rsorry.tistory.com/188 Day 54 - [JSP]로그인 페이지 만들기 이번에는 어제에 이어서, 회원가입 한 데이터를 가지고, 로그인

rsorry.tistory.com

이전 글과 이어집니다.

 

이번에는 회원탈퇴를 만들어 볼 겁니다.

 

회원탈퇴 구현하기

이번에도 먼저, 흐름을 생각해 봅시다.

 

로그인 -> 마이페이지 -> 회원탈퇴

 

순으로 진행이 되겠죠?

 

회원탈퇴는, 데이터베이스에 저장된 데이터를 삭제 해주기만 하면 되서 간단 합니다.

 

이전 글에서, 여기까지 쭉 보셨다면 아래와 같은 화면을 구현한 것을 보셨을 겁니다.

여기서 회원탈퇴를 누르면, 데이터베이스에 저장된 데이터를 delete 해주면 됩니다.

 

파일명 : delete_ok.jsp

<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	// 1. id값은 세션에서 얻습니다.
	String id = (String)session.getAttribute("user_id");
    
    	String url = "jdbc:oracle:thin:@localhost:1521/XEPDB1";
	String uid = "JSP";
	String upw = "JSP";
	
	Connection conn = null;
	PreparedStatement pstmt = null;
	
	String sql = "delete from members where id = ?";
	
	try{
		// 드라이버 호출
		Class.forName("oracle.jdbc.driver.OracleDriver");
		// conn 생성
		conn = DriverManager.getConnection(url, uid, upw);
		// pstmt 생성
		pstmt = conn.prepareStatement(sql);
		pstmt.setString(1, id);
		
		// sql 실행
		int result = pstmt.executeUpdate();
		
		if(result == 1){ // 성공
			session.invalidate(); // 세션에 정보삭제
			response.sendRedirect("login.jsp");			
		} else{ // 실패
			response.sendRedirect("login_welcome.jsp");
		}
		
	} catch(Exception e){
		e.printStackTrace();
		response.sendRedirect("login_welcome.jsp");
	} finally{
		try{
			if(conn != null) conn.close();
			if(pstmt != null) pstmt.close();
		} catch(Exception e){
			e.printStackTrace();
		}
	}
%>

회원탈퇴는 굉장히 간단하죠?

 

이렇게 회원탈퇴까지 알아 보았는데요, 여기까지 코드를 쭉 보면, 데이터베이스에 연결할 때마다 중복되는 코드도 많고 많이 복잡해지죠?

 

그래서, 클래스의 메서드로 만들어 주는게 좋습니다.

 

회원가입, 로그인, 정보수정, 회원탈퇴 페이지를 전부 구현 했다면, 클래스로 만드는 건 쉬우니까 스스로 한번 해보시기 바랍니다.

 

고생하셨습니다.