게시글 삭제 다이어그램.drawio.png

게시글 삭제 다이어그램.drawio

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>