본문 바로가기
JSP/JSP & Servlet

JSP 게시판 - 게시글 삭제

by avvin 2019. 5. 14.

JSP 게시판 - 게시글 삭제



BoardDeleteForm.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<%@page import="model.BoardBean"%>
<%@page import="model.BoardDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<body>
 
    <%
        //비밀번호 확인만하고 넘버를 넘겨 해당 넘버에 해당하는 정보 삭제하는 메서드 호출
        BoardDAO bdao = new BoardDAO();
        //하나의 게시글을 리턴
        int num = Integer.parseInt(request.getParameter("num"));
 
        BoardBean bean = bdao.getOneUpdate(num);
    %>
 
<div style="text-align: center">
<h2>게시글 삭제</h2>
<form action="BoardDeleteProc.jsp" method="post">
<table align="center" "width="600" border="1" bgcolor="skyblue">
    <tr height="40">
        <td width="120" align="center">작성자</td>
        <td width="180" align="left"><%=bean.getWriter()%></td>
        <td width="120" align="center">작성일</td>
        <td width="180" align="left"><%=bean.getReg_date()%></td>
    </tr>
    <tr height="40">
        <td width="120" align="center">제목</td>
        <td colspan="3" align="left"><%=bean.getSubject()%></td>
    </tr>
    <tr height="40">
        <td width="120" align="center">패스워드</td>
        <td colspan="3" align="left"><input type="password"
            name="password" size="60"></td>
    </tr>
    <tr height="40">
        <td colspan="3" align="center">
        <input type="hidden" name="num" value="<%=num %>">
        <input type="submit" value="글삭제"> &nbsp;&nbsp; 
        <input type="button" onclick="location.href='BoardList.jsp'" 
        value="목록보기"> &nbsp;&nbsp;
    </tr>
</table>
</form>
</div>
 
</body>
</html>
cs



BoardDeleteProc.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<%@page import="model.BoardDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<body>
 
    <%
        //패스워드, 넘버 두가지만 받으므로 참조변수에 이 두가지만 담는다
        String pass = request.getParameter("password");
        int num = Integer.parseInt(request.getParameter("num"));
 
        //데이터베이스 연결
        BoardDAO bdao = new BoardDAO();
 
        String password = bdao.getPassword(num);
 
        //기존 패스워드값과 delete form에서 작성한 패스워드 비교
 
        if (pass.equals(password)) {
            //입력한 패스워드가 맞다면
            bdao.deleteBoard(num);
            response.sendRedirect("BoardList.jsp");
 
        } else {
    %>
    <script>
        alert("패스워드가 틀렸습니다.");
        history.go(-1);
    </script>
    <%
        }
    %>
 
</body>
</html>
cs



BoardDAO.java 중 일부 [ getPassword ] 메서드, [ deleteBoard ] 메서드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
    // update와 delete시 필요한 패스워드 값을 리턴해주는 메서드
    public String getPassword(int num) {
 
        String pass = "";
        getCon();
 
        try {
            String sql = "select password from board where num=?";
            pstmt = con.prepareStatement(sql);
            pstmt.setInt(1, num);
            rs = pstmt.executeQuery();
            if (rs.next()) {
                // 패스워드값 받아오는거니까 getString의 인덱스 1번
                pass = rs.getString(1);
            }
            // 자원반납
            con.close();
 
        } catch (SQLException e) {
            e.printStackTrace();
        }
 
        return pass;
    }
 
 
    
    public void deleteBoard(int num) {
        
        getCon();
        try {
            String sql ="delete from board where num=?";
            pstmt = con.prepareStatement(sql);
            pstmt.setInt(1, num);
            pstmt.executeUpdate();
            con.close();
            
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
cs







'JSP > JSP & Servlet ' 카테고리의 다른 글

(JSP 인강) jsp web MVC model2 programming  (0) 2019.05.17
JSP 게시판 - 전체게시글보기 카운트  (0) 2019.05.14
JSP게시판 - 글 수정  (0) 2019.05.13
JSP 게시판 - 답글 쓰기  (0) 2019.05.10
JSP게시판 - 게시글 보기  (0) 2019.05.09