멋쟁이v의 개발일지

[JSP] DTO_DAO delete, 수정화면 처리 본문

0년차/JAVA

[JSP] DTO_DAO delete, 수정화면 처리

멋쟁이v 2023. 6. 18. 22:02
728x90
320x100

[목차]


01. DTO_DAO delete처리

💡
1️⃣ 리스트 화면에서 get방식으로 id값을 넘긴다.

2️⃣ DAO 클래스에 delete 쿼리 메서드를 생성한다.

3️⃣ 메서드 내부 처리 과정으로 JDBC 프로그램 7단계를 넣는다.

4️⃣ JSP에서 DAO 객체 생성 후 delete 쿼리 메서드를 호출한다.

5️⃣ 페이지 리다이렉트

  • [코드예제] Udao.java
    package kr.or.dao;
    
    import kr.or.driverdb.DriverDB;
    import kr.or.dto.User;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    public class Udao {
        // 전역에 각각 데이터타입의 객체참조변수를 선언
        User u = null;
        Connection conn = null;
        PreparedStatement pstmt = null;
    
        // 4. delete 처리 메서드
        public void uDelete(String uid) throws SQLException, ClassNotFoundException {
            System.out.println("uDelete 메서드 Udao.java");
    
            // 1-2단계 드라이버 실행, DB연결
            DriverDB db = new DriverDB();
            conn = db.driverDbcon();
            System.out.println(conn + "<- conn Udao.java");
    
            // 3단계 쿼리 실행 준비
            pstmt = conn.prepareStatement("DELETE from tb_user where u_id=?");
            pstmt.setString(1, uid);
            System.out.println(pstmt + "<- pstmt");
    
            // 4단계 쿼리 실행
            pstmt.executeUpdate();
    
            // 5단계 쿼리 실행 결과 사용(생략)
    
            // 6단계 쿼리 종료
            pstmt.close();
    
            // 7단계 DB연결 종료
            conn.close();
        }
    }

  • [코드예제] user_delete_action.jsp
    <%@ page import="kr.or.dao.Udao" %>
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
    		 pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    
    
    <%
    	// get 방식으로 id값을 받아온다.
    	String send_id = request.getParameter("send_id");
    	System.out.println(send_id + "<- send_id user_delete_action.jsp");
    
    	// Udao 객체 생성 후 메서드 호출
    	Udao udao = new Udao();
    	udao.uDelete(send_id);
    
    	// user_search_list.jsp로 리다이렉트
    	response.sendRedirect(request.getContextPath() + "/usersearch/user_search_list.jsp");
    %>

02. DTO_DAO 수정화면 처리

💡
1️⃣ 리스트 화면에서 get방식으로 아이디 값을 넘긴다.

2️⃣ DAO 클래스에서 select 쿼리 메서드를 생성한다.

3️⃣ 메서드 내부 처리 과정으로 JDBC 프로그램 7단계를 넣고, 쿼리 사용 결과로 각각 컬럼 값들을 DTO로 셋팅 해준다.

4️⃣ JSP에서 DAO 객체 생성 후 메서드를 호출한다.

5️⃣ 수정화면 폼에 DTO에 셋팅된 값을 겟팅해서 수정화면에 뿌려준다.

  • [코드예제] Udao.java
    package kr.or.dao;
    
    import kr.or.driverdb.DriverDB;
    import kr.or.dto.User;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class Udao {
        // 전역에 각각 데이터타입의 객체참조변수를 선언
        User u = null;
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
    
        // 5. 수정화면 처리 메서드 (User 데이터 타입)
        public User uSelectUpdate(String uid) throws SQLException, ClassNotFoundException {
            // 1-2단계 드라이버 실행, DB연결
            DriverDB db = new DriverDB();
            conn = db.driverDbcon();
            System.out.println(conn + "<- conn Udao.java");
    
            // 3단계 쿼리 실행 준비
            pstmt = conn.prepareStatement("SELECT * from tb_user where u_id=?");
            pstmt.setString(1, uid);
            System.out.println(pstmt + "<- pstmt");
    
            // 4단계 쿼리 실행
            rs = pstmt.executeQuery();
    
            // 5단계 쿼리 실행 결과 사용
            if(rs.next()) {
                System.out.println("if조건문 mSelectUpdate Udao.java");
                u = new User();
                u.setU_id(rs.getString("u_id"));
                u.setU_pw(rs.getString("u_pw"));
                u.setU_level(rs.getString("u_level"));
                u.setU_name(rs.getString("u_name"));
                u.setU_email(rs.getString("u_email"));
                u.setU_phone(rs.getString("u_phone"));
                u.setU_addr(rs.getString("u_addr"));
            }
    
            // 6단계 쿼리 종료
            pstmt.close();
            rs.close();;
    
            // 7단계 DB연결 종료
            conn.close();
    
            return u;
        }
    }

  • [코드예제] user_update_form.jsp
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="EUC-KR">
    <title>Insert title here</title>
    <link rel="stylesheet" type="text/css" href="<%= request.getContextPath() %>/css/main.css" />
    </head>
    
    <body>
    
    <%@ include file="/module/top.jsp" %>
    <%@ include file="/module/left.jsp" %>
    
    <%@ page import="kr.or.dao.Udao" %>
    <%@ page import="kr.or.dto.User" %>
    
    <%
    	
    	// get 방식으로 id값을 받아온다.
    	String send_id = request.getParameter("send_id");
    	System.out.println(send_id + "<- send_id user_delete_action.jsp");
    
    	// Udao 객체 생성 후 메서드 호출
    	Udao udao = new Udao();
    	User u = udao.uSelectUpdate(send_id); // return 값을 변수에 저장
    
      // 셋팅되어 있는 값을 겟팅해서 가져온다.
    	String dbid = u.getU_id();
    	String dbpw = u.getU_pw();
    	String dblevel = u.getU_level();
    	String dbname = u.getU_name();
    	String dbemail = u.getU_email();
    	String dbphone = u.getU_phone();
    	String dbaddr = u.getU_addr();
    	
    %>
    
    <h2>수정화면</h2>
    <form action="<%= request.getContextPath() %>/userupdate/user_update_action.jsp" method="post">
    	<table border="1">
    		<tr>
    			<td>아이디</td>
    			<td><input type="text" name="u_id" value="<%= dbid %>" readonly></td>
    		</tr>
    		<tr>
    			<td>비밀번호</td>
    			<td><input type="text" name="u_pw" value="<%= dbpw %>"></td>
    		</tr>
    		<tr>
    			<td>권한</td>
    			<td><input type="text" name="u_level" value="<%= dblevel %>"></td>
    		</tr>
    		<tr>
    			<td>이름</td>
    			<td><input type="text" name="u_name" value="<%= dbname %>"></td>
    		</tr>
    		<tr>
    			<td>이메일</td>
    			<td><input type="text" name="u_email" value="<%= dbemail %>"></td>
    		</tr>
    		<tr>
    			<td>전화번호</td>
    			<td><input type="text" name="u_phone" value="<%= dbphone %>"></td>
    		</tr>
    		<tr>
    			<td>주소</td>
    			<td><input type="text" name="u_addr" value="<%= dbaddr %>"></td>
    		</tr>
    		<tr>
    			<td colspan="2"><input type="submit" value="수정버튼"></td>
    		</tr>
    	</table>
    </form>
    
    <%@ include file="/module/hadan.jsp" %>
       
    </body>
    </html>


tag : #jsp #DTO #DAO #delete #select #쿼리 #객체생성 #호출


Uploaded by N2T

728x90
320x100
Comments