Board/게시판 만들기(jsp)

게시글 삭제하기

호ㅁl 2022. 11. 29. 11:04

테이블에 비밀번호 컬럼 생성

--게시판 비밀번호 컬럼 추가하기
SELECT * FROM board0919; --비밀번호 컬럼이 있는지 조회

--DDL(create 생성 , alter 변경 , drop 삭제)
ALTER TABLE board0919 ADD pwd VARCHAR2(50) NULL; --비밀번호 컬럼 추가

--DML (select, insert, update, delete)
UPDATE board0919 SET pwd='1111'; -- 비밀번호 1111을 일괄적으로 추가
COMMIT; --데이터 확정

데이터에 비밀번호가 생성되었음을 확인할 수 있다.

 

 

boardContents에서

삭제 버튼에 bidx를 넘기는 가상경로를 지정한다.

 

 

삭제화면을 띄우고 bidx를 넘긴다.

삭제하려는 게시글의 삭제화면과 bidx가 넘어온것을 확인할 수 있다.

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
String bidx = (String)request.getAttribute("bidx");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시글 삭제화면</title>

<script type = "text/javascript">
function check(){
	var fm = document.frm;
	
	if(fm.pwd.value == ""){
		alert("비밀번호를 입력해주세요.");
		fm.pwd.focus();
		return;
	}
	
	//가상경로 지정
	fm.action = "<%=request.getContextPath() %>/board/boardDeleteAction.do"; 
	fm.method = "post"; //감춰져서 넘기는 방식 Post
	fm.submit();
	return;
}
</script>

<style>
p{font-weight:bold; font-size:25px; margin-left:10px;}
input[name = content]{width:500px; height:800px;}
textarea{resize:none;}
</style>
</head>
<body>

<p>게시판 글삭제</p>

<form name = "frm">
<input type="hidden" name = "bidx" value = "<%=bidx %>">
<table border=1>

<tr>
<td>비밀번호 입력</td>
<td><input type = "password" name = "pwd" ></td>
</tr>

<tr>
<td id="btn" colspan=2 style="text-align:right">
<input type = "button" value = "확인" onclick ="check();">
<input type = "button" value = "취소">
</td>
</tr>

</table>
</form>

</body>
</html>

 

 

비밀번호 입력 후 확인버튼 클릭시 데이터의 pwd와 bidx의 값이 동일하면 게시글을 나타나지 않게하는 기능을 만든다.

 

BoardDao에서 게시글을 삭제하는 boardDelete메소드를 만든다.

 

BoardController에서 action의 경로가 boardDeleteAction.do이면

넘어온 키값을 받아 bv객체에 담는다.

pwd와 bidx가 일치하다면 게시판 리스트로 이동하고

일치하지 않는다면 비밀번호 입력화면에 머물러있는다.

 

delyn이 Y로, writeday가 현재날짜로 변경되었고

 

게시판 목록에서는 삭제된 것을 확인할 수 있다.

 

 

게시글 삭제는 실제화면에서는 보이지않지만

데이터상으론 삭제되지않는다.