24.11.14(댓글 쓰기, 쓴 댓글 삭제하기)

은구야노올자·2024년 11월 14일

🤯지식주머니🤯

목록 보기
55/98
post-thumbnail




commentWriteAction

  • 댓글 작성 기능 담당
  • 댓글 작성 요청 처리 및 성공 여부를 JSON 형식으로 반환
  • 흐름
    1. 클라이언트가 댓글 작성 요청을 보냄
    2. 댓글 정보를 CommentVo 객체로 받음
    3. IP 주소를 추출하여 댓글 객체에 추가
    4. 댓글을 db에 저장
    5. 삽입 결과를 JSON 형식으로 반환
  • 주요 코드
    • CommentVo : 클라이언트에서 보내는 댓글 데이터를 받기 위한 객체(cwriter, ccontents, bidx)
    • HttpServletRequest request : 요청 정보(클라이언트의 IP 주소 얻기 위해)
    • commentService.commentInsert(cv); : 댓글을 db에 삽입. cv 객체에는 댓글의 정보(작성자, 내용, 게시글 ㅂ너호 등)가 담겨있음. 댓글을 db에 저장하고 그 결과 반환
    • value : 댓글 삽입에 성공하면 1, 실패하면 0 반환
    • js.put("value", value); : 클라이언트가 value값을 통해 댓글 성공 여부를 알 수 있음

commentDeleteAction

  • 댓글 삭제
  • 댓글을 삭제하는 요청을 처리하고 그 결과를 JSON 형식으로 반환

  • 흐름
    1. 클라이언트가 댓글 삭제 요청을 보냄(삭제할 댓글의 ID는 URL 경로에서 받아옴).
    2. 로그인한 사용자의 ID(midx)와 삭제할 댓글의 ID(cidx), IP 주소를 CommentVo 객체에 설정
    3. 댓글 삭제를 위한 서비스 메서드 호출(commentService.commentDelete)
    4. 삭제 결과(성공 또는 실패)를 JSON 형태로 반환하여 클라이언트에 전달
  • 주요 코드
    • int midx = Integer.parseInt(request.getSession().getAttribute("midx").toString()); : 세션에서 midx(로그인한 사용자의 ID)값을 가져와 midx 값을 문자열로 변환 후 다시 정수형으로 변환하여 midx 변수에 저장. 세션에 midx 값이 없다면 예외 발생
    • cv.setMidx(midx); : CommentVo 객체의 midx 속성에 추출한 midx 값 설정. 이를 통해 댓글을 삭제할 때 어느 사용자가 삭제 요청을 했는지 알 수 있음.
    • cv.setCidx(cidx); : 댓글 삭제하려면 해당 댓글을 식별할 수 있는 ID 필요. 이 값은 URL에서 동적으로 받아온 댓글 ID
    • int value = commentService.commentDelete(cv); : 댓글 삭제하는 서비스 메서드. cv 객체에 설정된 midx, cidx, cip 등의 정보를 바탕으로 실제 db에서 댓글 삭제

0개의 댓글