
controller
// 글 삭제 및 로컬 저장소에 있는 이미지 삭제
@RequestMapping(value = "/myHomeDelete.do", method = RequestMethod.POST)
public ResponseEntity deleteMyHome(int boardMyhomeArticleNo, HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("삭제 글 번호" + boardMyhomeArticleNo);
response.setContentType("text/html; charset=UTF-8");
String message;
ResponseEntity resEnt=null;
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.add("Content-Type", "text/html; charset=utf-8");
boolean deleteQuietlyCheck = true;
boolean deleteMyHomeCheck = false;
// 파일 삭제
String fileRoot = "C:\\\\gami\\\\board\\\\board_myhome\\\\" + boardMyhomeArticleNo; // 삭제 경
File targetFile = new File(fileRoot);
if(targetFile.isDirectory()) { // 해당 게시글 폴더가 존재하면 폴더 째로 삭제.
try {
FileUtils.deleteQuietly(targetFile); // 업로드 실패 시 하위 파일 및 폴더 삭제
}catch(Exception e){
e.printStackTrace();
System.out.println("파일 삭제를 실패하였습니다.");
deleteQuietlyCheck = false;
}
}
// 게시글 삭제
try {
myhomeService.deleteMyHome(boardMyhomeArticleNo); // DB에서 게시글 삭제
deleteMyHomeCheck = true;
}catch(Exception e){
e.printStackTrace();
System.out.println("게시글 삭제를 실패하였습니다.");
}
if (deleteMyHomeCheck && deleteQuietlyCheck) {
message = "<script>";
message += " alert('글을 삭제했습니다.');";
message += " location.href='"+request.getContextPath()+"/board/board_myhome/myHomeList.do';";
message +=" </script>";
resEnt = new ResponseEntity(message, responseHeaders, HttpStatus.CREATED);
} else {
message = "<script>";
message += " alert('작업중 오류가 발생했습니다.다시 시도해 주세요.');";
message += " location.href='"+request.getContextPath()+"/board/board_myhome/myHomeList.do';";
message +=" </script>";
resEnt = new ResponseEntity(message, responseHeaders, HttpStatus.CREATED);
}
return resEnt;
}
service
@Override
public void deleteMyHome(int boardMyhomeArticleNo) throws Exception {
myhomeDAO.deleteMyHome(boardMyhomeArticleNo);
}
dao
@Override
public void deleteMyHome(int boardMyhomeArticleNo) throws DataAccessException {
sqlSession.delete("mapper.board.deleteMyHome", boardMyhomeArticleNo);
}
myHomeSelect.jsp (수정중)
<form action="${contextPath}/board/board_myhome/myHomeDelete.do" method="post">
<input type="hidden" name="boardMyhomeArticleNo" value="${selectMyHome.boardMyhomeArticleNo}">
<input type="submit" value="삭제">
</form>