이전 글에 이어서 이번에는 글 삭제 기능을 구현해 보겠습니다.
글을 삭제할 때는 테이블의 글 뿐만 아니라 그 글의 자식 글과 이미지 파일도 함게 삭제 해야 합니다.
순서는
- 글 상세창(vieArticle.jsp)에서 삭제하기를 클릭하면 /board/removeArticle.do로 요청합니다.
- 컨트롤러에서는 글 상세창에서 전달받은 글 번호에 대한 글과 이에 관련된 지식 글들을 삭제합니다.
- 삭제된 글에 대한 이미지 파일 저장 폴더도 삭제합니다.
BoardController 클래스를 다음과 같이 작성합니다. 브라우저에서 삭젤르 요청하면 글 번호를 메서드로 전달해 글 번호에 대한 글과 그 자식 글을 삭제하기 전에 먼저 삭제할 글 번호와 자식 글 번호를 목록으로 가져옵니다. 그리고 글을 삭제한 후 글 번호로 이루어진 이미지 저장 폴더까지 모두 삭제합니다.
BoardService 클래스를 다음과 같이 작성합니다. 컨트롤러에서 removeArticle() 메서드 호출 시 매개변수 articleNO로 글 번호를 전달받아 BoardDAO의 selectRemovedArticles()를 먼저 호출해 글 번호에 대한 글과 그 자식 글의 번호를 articleNOList에 저장합니다. 그런 다음 deleteArticle() 메서드를 호출해 글 번호에 대한 글과 자식 글을 삭제하고 글 번호를 반환합니다.
BoardDAO클래스를 다음과 같이 작성합니다. selectRemovedArticles() 메서드는 삭제할 글에 대한 글 번호를 가져옵니다. deleteArticle() 메서드는 전달된 articleNO에 대한 글을 삭제합니다.
viewArticle.jsp에서 삭제하기를 클릭하면 fn_remove_article() 자바스크립트 함수를 호출해 글 번호인 articleNO를 컨트롤러로 전송하도록 구현합니다.
실행해 보면
글 목록에서 삭제됩니다.
github : github.com/soulwine-it
'2020 > JSP SERVLET' 카테고리의 다른 글
서블릿 매핑 (0) | 2020.05.17 |
---|---|
글 수정 기능 구현 (0) | 2020.01.03 |
글 상세 구현 (0) | 2020.01.03 |
게시판 글쓰기(파일첨부) 구현 (0) | 2020.01.03 |
모델 2 답변형 게시판 구현(게시판 테이블 생성) (0) | 2020.01.02 |