mvcPage
WEB-INF
폴더의 board.properties
하단에 다음의 내용을 추가/board/updateReply.do=kr.board.action.UpdateReplyAction
/board/deleteReply.do=kr.board.action.DeleteReplyAction
UpdateReplyAction
생성package kr.board.action;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.codehaus.jackson.map.ObjectMapper;
import kr.board.dao.BoardDAO;
import kr.board.vo.BoardReplyVO;
import kr.controller.Action;
public class UpdateReplyAction implements Action {
@Override
public String execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
// 전송된 데이터 인코딩 처리
request.setCharacterEncoding("UTF-8");
// 댓글 번호
int re_num = Integer.parseInt(request.getParameter("re_num"));
BoardDAO dao = BoardDAO.getInstance();
BoardReplyVO db_reply = dao.getReplyBoard(re_num);
HttpSession session = request.getSession();
Integer user_num = (Integer)session.getAttribute("user_num");
Map<String, String> mapAjax = new HashMap<String, String>();
if(user_num==null) { // 로그인되어 있지 않은 경우
mapAjax.put("result", "logout");
}
else if(user_num!=null && user_num==db_reply.getMem_num()) { // 로그인한 회원 번호와 댓글 작성자 회원 번호가 일치하는 경우
BoardReplyVO reply = new BoardReplyVO();
reply.setRe_num(re_num);
reply.setRe_content(request.getParameter("re_content"));
reply.setRe_ip(request.getRemoteAddr());
dao.updateReplyBoard(reply);
mapAjax.put("result", "success");
}
else { // 로그인한 회원 번호와 댓글 작성자 회원 번호가 불일치하는 경우
mapAjax.put("result", "wrongAccess");
}
// JSON 데이터로 변환
ObjectMapper mapper = new ObjectMapper();
String ajaxData = mapper.writeValueAsString(mapAjax);
request.setAttribute("ajaxData", ajaxData);
// JSP 경로 반환
return "/WEB-INF/views/common/ajax_view.jsp";
}
}
DeleteReplyAction
생성package kr.board.action;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.codehaus.jackson.map.ObjectMapper;
import kr.board.dao.BoardDAO;
import kr.board.vo.BoardReplyVO;
import kr.controller.Action;
public class DeleteReplyAction implements Action {
@Override
public String execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
// 전송된 데이터 인코딩 처리
request.setCharacterEncoding("UTF-8");
// 전송된 데이터 반환
int re_num = Integer.parseInt(request.getParameter("re_num"));
Map<String, String> mapAjax = new HashMap<String, String>();
BoardDAO dao = BoardDAO.getInstance();
BoardReplyVO db_reply = dao.getReplyBoard(re_num);
HttpSession session = request.getSession();
Integer user_num = (Integer)session.getAttribute("user_num");
if(user_num==null) { // 로그인되어 있지 않은 경우
mapAjax.put("result", "logout");
}
else if(user_num!=null && user_num==db_reply.getMem_num()) { // 로그인한 회원 번호와 댓글 작성자 회원 번호가 일치하는 경우
dao.deleteReplyBoard(re_num);
mapAjax.put("result", "success");
}
else { // 로그인한 회원 번호와 작성자 회원 번호가 불일치하는 경우
mapAjax.put("result", "wrongAccess");
}
// JSON 데이터로 변환
ObjectMapper mapper = new ObjectMapper();
String ajaxData = mapper.writeValueAsString(mapAjax);
request.setAttribute("ajaxData", ajaxData);
// JSP 경로 반환
return "/WEB-INF/views/common/ajax_view.jsp";
}
}