JSP_basic. 게시글 삭제기능 구현(DELETE)

dwanGim·2022년 4월 21일
0

JSP_basic

목록 보기
15/15

게시글 삭제기능 구현

먼저 DAO에 boardDelete 메서드를 추가 작성합니다.

	public void boardDelete(int boardNum) {
		Connection con = null;
		PreparedStatement pstmt = null;
		try {
			con = ds.getConnection();
			String sql = "DELETE FROM boardTbl WHERE board_num = ?";
			pstmt = con.prepareStatement(sql);
			
			pstmt.setInt(1, boardNum);
			pstmt.executeUpdate();
		}catch(Exception e) {
			e.printStackTrace();
		} finally {
			try {
				con.close();
				pstmt.close();
				}catch(Exception e) {
				e.printStackTrace();
				}
		}
	} //boardDelete END.

늘 그랬듯 커넥션 풀을 설정하고

PSTMT를 만들고

쿼리문을 생성하고

pstmt.set으로 변수를 받고

하는 과정을 try 안에서 처리했습니다.

servlet 개설

/boardDelete 주소의 서블릿을 만들겠습니다.

이 서블릿은 보낼 데이터가 없기 때문에

삭제가 실행되면 게시판 목록인 /boardList로 리다이렉트 시키겠습니다.

boardNum을 request.getParameter해서

글번호가 같은 boardTbl의 row를 삭제하도록 하겠습니다.

@WebServlet("/boardDelete")
public class BoardDelete extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public BoardDelete() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		String boardNum = request.getParameter("board_num");
		
		BoardDAO dao = BoardDAO.getInstance();
		System.out.println(boardNum);
		dao.boardDelete(Integer.parseInt(boardNum));
	
		response.sendRedirect("http://localhost:8181/MyFirstWeb/boardList");
	}

}

삭제하기 버튼 만들기

이제 /boardDelete 서블릿으로 사용자를 전송할 수 있는

버튼을 boardDetail.jsp 안에 작성하면 됩니다.

	<div>
		<form action= "http://localhost:8181/MyFirstWeb/boardDelete" method="post">
			<input type="hidden" name="board_num" value="${board.boardNum}">
			<input type="submit" class="btn btn-danger btn-mb-3" value="삭제하기">
		</form>
	</div>

버튼을 누르면

삭제가 완료되었습니다.

일단은 여기까지 입니다.

profile
배울 게 참 많네요.

0개의 댓글