BbsDAO클래스에 게시물의 삭제기능을 구현합니다.
public int delete(int bbsID) { // availavle값을 변경하여 삭제대기 상태로 변경
String SQL = "UPDATE BBS SET bbsAvailavle = 0 WHERE bbsID = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(SQL);
pstmt.setInt(1, bbsID);
return pstmt.executeUpdate(); // 성공한 경우
} catch (Exception e) {
e.printStackTrace();
}
return -1; // 데이터베이스 오류
}
deleteAction.jsp를 만들어 기능을 수행합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import = "bbs.BbsDAO" %>
<%@ page import = "bbs.Bbs" %>
<%@ page import = "java.io.PrintWriter" %>
<% request.setCharacterEncoding("UTF-8"); %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP 게시판 웹 사이트</title>
</head>
<body>
<%
String userID = null;
if (session.getAttribute("userID") != null){
userID = (String) session.getAttribute("userID");
}
if (userID == null) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('로그인을하세요.')");
script.println("location.href = 'login.jsp'");
script.println("</script>");
}
int bbsID = 0;
if (request.getParameter("bbsID") != null) {
bbsID = Integer.parseInt(request.getParameter("bbsID"));
}
if (bbsID == 0) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('유효하지 않은 글입니다.')");
script.println("location.href = 'bbs.jsp'");
script.println("</script>");
}
Bbs bbs = new BbsDAO().getBbs(bbsID);
if (!userID.equals(bbs.getUserID())) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('권한이 없습니다.')");
script.println("location.href = 'bbs.jsp'");
script.println("</script>");
} else {
BbsDAO bbsDAO = new BbsDAO();
int result = bbsDAO.delete(bbsID); // 삭제 기능 구현
if(result == -1) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('글 삭제에 실패했습니다.')");
script.println("history.back()");
script.println("</script>");
}
else {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("location.href = 'bbs.jsp'");
script.println("</script>");
}
}
%>
</body>
</html>
view.jsp에 삭제 확인 알림을 추가합니다.
<a href="bbs.jsp" class="btn btn-primary">목록</a>
<%
if(userID != null && userID.equals(bbs.getUserID())) {
%>
<a href="update.jsp?bbsID=<%= bbsID %>" class="btn btn-primary">수정</a>
<a onclick="return confirm('정말로 삭제하시겠습니까?')" href="deleteAction.jsp?bbsID=<%= bbsID %>" class="btn btn-primary">삭제</a> // 삭제 재확인 알림
<%
}
%>
'개인프로젝트' 카테고리의 다른 글
[내가 만든 프로젝트 코드 분석 | 리듬게임 만들기] 16.노트 판정 디자인 입히기 (0) | 2024.02.20 |
---|---|
[내가 만든 프로젝트 코드 분석 | JSP게시판 만들기] 15.메인페이지 디자인(완성) (0) | 2024.01.21 |
[내가 만든 프로젝트 코드 분석 | JSP게시판 만들기] 13.게시물 수정 기능 구현하기 (1) | 2024.01.21 |
[내가 만든 프로젝트 코드 분석 | JSP게시판 만들기] 12.게시물 상세보기 기능 구현하기 (2) | 2024.01.21 |
[내가 만든 프로젝트 코드 분석 | JSP게시판 만들기] 11.게시판 글 목록 기능 구현하기 (1) | 2024.01.21 |