본문 바로가기
기초 및 언어/▶ Java&JSP

14. JSP + JDBC delete예제 정리1 _ member

by 류딩이 2025. 9. 11.

📌 JSP + JDBC Delete 예제 정리

1. deleteProc.jsp (회원 삭제 처리)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
deleteProc.jsp <br>

<!-- select.jsp에서 [삭제] 클릭 시 num 값이 넘어옴 -->
<%
    // 1. num 파라미터 받기
    String num = request.getParameter("num");
    System.out.println("deleteProc.jsp num :" + num);
%>

<!-- 2. DAO 객체 생성 -->
<jsp:useBean id="mdao" class="myPkg.MemberDao"/>

<%
    // 3. DAO 메서드 호출하여 삭제 실행
    int cnt = mdao.deleteMember(num);

    // 4. 결과에 따른 페이지 이동
    if(cnt != -1){ // 삭제 성공
        response.sendRedirect("select.jsp");  // 목록 다시 출력
    } else { // 삭제 실패
        response.sendRedirect("select.jsp");  // 실패해도 목록으로 이동
    }
%>

 

설명

  • select.jsp에서 [삭제] 클릭 시 → deleteProc.jsp?num=3 같은 형태로 num 전달됨
  • request.getParameter("num") : 삭제할 회원 번호 받기
  • mdao.deleteMember(num) 실행
  • 성공 여부에 관계없이 select.jsp로 이동 (실패 시도 목록 화면 유지)

 

2. MemberDao.java (delete 메서드 부분)

// 회원 삭제 메서드
public int deleteMember(String num) {
    int cnt = -1;
    getConnection(); // DB 연결
    
    try {
        // 1. SQL 준비
        String sql = "delete from member where num=?";
        ps = conn.prepareStatement(sql);
        ps.setInt(1, Integer.parseInt(num));
        
        // 2. 실행 (성공 시 1 반환)
        cnt = ps.executeUpdate();
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        // 3. 자원 해제
        try {
            if(ps != null) ps.close();
            if(conn != null) conn.close();
        } catch(SQLException e) {
            e.printStackTrace();
        }
    }
    return cnt;
}

 

설명

  • delete from member where num=? : 특정 회원만 삭제
  • executeUpdate() → 성공 시 삭제된 row 개수 반환 (cnt = 1)
  • 실패 시 cnt = -1

✅ 실행 순서 요약

사용자 → select.jsp에서 [삭제] 클릭
      → deleteProc.jsp 실행
         └ request.getParameter("num") 값 받음
         └ mdao.deleteMember(num) 호출
         └ DB에서 delete 실행
      → 삭제 성공 → select.jsp 이동
      → 삭제 실패 → select.jsp 이동