상세 컨텐츠

본문 제목

MVC2 Model 게시판 (CRUD) - 게시글 삭제하기 (DELETE)

web/게시판 CRUD(생성,수정,삭제, 읽기) - MVC2

by 매일매일 배우는 개발자 2021. 1. 28. 13:30

본문

728x90

개인적으로 게시글 지우는방법은 CRUD중에 제일 쉬운것 같다.

따로 JSP 페이지는 필요가 없고 삭제 버튼을 클릭했을떄 바로 controller로 가서 실행되게만 소스를 만들면 된다.

이후, DAO에서 DELETE SQL을 실행하면 된다.

 

Content.jsp

<body>
<c:set var="vo" value="${vo }" />




	<h1>여기는 ${vo.no }번 게시판 상세보기 페이지 입니다.</h1>
	<c:out value="${vo.no }">번</c:out>
	<table>
		<tr>
			<td>번호</td>
			<td>이름</td>
			<td>아이디</td>
			
		</tr>	
		<tr>
			<td>${vo.no }</td>
			<td>${vo.username }</td>
			<td>${vo.id }</td>
		<tr>
	</table>
	
	<!-- 수정버튼 클릭시에 boardModifyForm.do 실행과 함께 "no" 값을 같이 가져갈 수 있도록 지정하자 -->
	<a href="${contextPath }/member/boardModifyForm.do?no=${vo.no }">[수정]</a>
	<!-- 삭제버튼 클릭시에 Controller에 있는 boardRemove.do 를 찾아 "no"값과 같이 가져갈 수 있게 하자-->
	<a href="${contextPath }/member/boardRemove.do?no=${vo.no }">[삭제]</a> 

</body>

상세보기 페이지에서 받아온 "no"값을 Service클래스로 넘겨줍니다.

 

Controller

if(action.equals("/boardRemove.do")) {
			int no = Integer.parseInt(request.getParameter("no"));			
			
			int articleNum = tistoryService.deleteArticle(no);
			
			nextPage = "/member/listArticles.do";

 


Service

public int deleteArticle(int no) {
		int articleNum = 0;
		articleNum=	tistoryDAO.deleteArticle(no);
		return articleNum;
		
	}

바인딩 되어온 NO 값에 맞게 게시글이 지워지는 메소드를 만든다

 

DAO

public int deleteArticle(int no) {
		int articleNum = 0;
		try {
			conn = DBConnection.getConnection();
			String query = "DELETE FROM class WHERE no=?";
			pstmt = conn.prepareStatement(query);
			pstmt.setInt(1, no);
			pstmt.executeUpdate();
			
		}catch (Exception e) {
			e.printStackTrace();
		}finally {
			freeResource();
		}
		return articleNum;
		
	}//end of deleteArticle

결과값

31번 글이 지워진것을 알수있다.

 

※ 여기서는 그냥 지워지는것으로 했지만, 로그인 된 회원만 자기글을 지울수 있게 메소드를 짤수도 있다. 그떈 빈환값을 정해줘야 되고 if문으로 지정해 주면 된다.

 

728x90

관련글 더보기