// 댓글 등록
	@RequestMapping("/board/writeReply.do")
	@ResponseBody
	public Map<String, String> writeReply(BoardReplyVO boardReplyVO, HttpSession session, HttpServletRequest request) {
		logger.info("<<댓글 등록>> : " + boardReplyVO);
		
		Map<String, String> map = new HashMap<String, String>();
		
		Integer user_num = (Integer)session.getAttribute("user_num");
		if(user_num==null) { // 로그인되어 있지 않은 경우
			map.put("result", "logout");
		}
		else { // 로그인되어 있는 경우
			// 회원 번호 등록
			boardReplyVO.setMem_num(user_num);
			// 아이피 세팅
			boardReplyVO.setRe_ip(request.getRemoteAddr());
			// 댓글 등록
			boardService.insertReply(boardReplyVO);
			
			map.put("result", "success");
		}
		
		return map;
	}
	
	// 댓글 목록
	@RequestMapping("/board/listReply.do")
	@ResponseBody
	public Map<String, Object> getList(@RequestParam(value="pageNum", defaultValue="1") int currentPage, 
			@RequestParam int board_num,
			HttpSession session) {
		logger.info("<<목록 호출>> currentPage : " + currentPage);
		logger.info("<<목록 호출>> board_num : " + board_num);
		
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("board_num", board_num);
		
		// 총 댓글 수
		int count = boardService.selectRowCountReply(map);
		
		// 페이지 처리
		int rowCount = 10;
		PagingUtil page = new PagingUtil(currentPage, count, rowCount, 10, null);
		map.put("start", page.getStartCount());
		map.put("end", page.getEndCount());
		
		List<BoardReplyVO> list = null;
		if(count>0) {
			list = boardService.selectListReply(map);
		}
		else {
			list = Collections.emptyList();
		}
		
		Map<String, Object> mapJson = new HashMap<String, Object>();
		mapJson.put("count", count);
		mapJson.put("rowCount", rowCount);
		mapJson.put("list", list);
		mapJson.put("user_num", (Integer)session.getAttribute("user_num"));
		
		return mapJson;
	}
	// 댓글 수정
	@RequestMapping("/board/updateReply.do")
	@ResponseBody
	public Map<String, String> modifyReply(BoardReplyVO boardReplyVO, HttpSession session, HttpServletRequest request) {
		logger.info("<<댓글 수정>> : " + boardReplyVO);
		
		Map<String, String> map = new HashMap<String, String>();
		
		Integer user_num = (Integer)session.getAttribute("user_num");
		BoardReplyVO db_reply = boardService.selectReply(boardReplyVO.getRe_num());
		if(user_num==null) { // 로그인되어 있지 않은 경우
			map.put("result", "logout");
		}
		else if(user_num!=null && user_num==db_reply.getMem_num()) { // 로그인한 회원 번호와 댓글 작성자 회원 번호가 일치하는 경우
			// 아이피 세팅
			boardReplyVO.setRe_ip(request.getRemoteAddr());
			// 댓글 수정
			boardService.updateReply(boardReplyVO);
			
			map.put("result", "success");
		}
		else { // 로그인한 회원 번호와 댓글 작성자 회원 번호가 불일치하는 경우
			map.put("result", "wrongAccess");
		}
		
		return map;
	}
	// 댓글 삭제
	@RequestMapping("/board/deleteReply.do")
	@ResponseBody
	public Map<String, String> deleteReply(@RequestParam int re_num, HttpSession session) {
		Map<String, String> map = new HashMap<String, String>();
		
		Integer user_num = (Integer)session.getAttribute("user_num");
		BoardReplyVO db_reply = boardService.selectReply(re_num);
		if(user_num==null) { // 로그인되어 있지 않은 경우
			map.put("result", "logout");
		}
		else if(user_num!=null && user_num==db_reply.getMem_num()) { // 로그인한 회원 번호와 댓글 작성자 회원 번호가 일치하는 경우
			boardService.deleteReply(re_num);
			
			map.put("result", "success");
		}
		else { // 로그인한 회원 번호와 댓글 작성자 회원 번호가 불일치하는 경우
			map.put("result", "wrongAccess");
		}
		
		return map;
	}