본문 바로가기

Programming/SERVER

DAY 127. MVC2 패턴 - 댓글 기능

 

댓글 기능

 

01. 데이터 베이스

- REPLY 관련 테이블 생성

- 코멘트 추가

- 제약조건 추가

 

 

02. view.jsp

- 댓글 영역 생성

- 로그인 한 사람 & 본인이 작성한 댓글일 경우에만 수정 및 삭제 버튼이 보이도록 <c:if> 태그 구현

- board 객체에 있는 replies 속성 이용해서 <c:forEach>로 반복해서 담아있는 댓글만큼 반복해서 댓글이 보이도록 한다. 반복문에 사용할 forEach의 var에 해당하는 아이템에 넣을 Reply 객체를 만든다.

 

03. Reply.java

- com > kh > mvc > board > model > vo 밑에 생성

- 댓글 하나를 하나의 행으로 객체에 담을 때 사용하는 클래스이다.

- 해당 값을 반환받아서 view.jsp 에서 해당하는 영역에 구현해준다.

 

04. BoardDao.java

- 글 하나에 여러 개의 댓글이 1:N 관계로 참조하고 있을 때, 객체 지향으로 프로그래밍을 하기 위해서 Board 객체 안에 참조 변수를 만들어서 다른 객체를 참조하도록 만들어준다. 

- TABLE에서 FK(참조키)를 가지고 관계 설정을 했다면, 객체들 간의 관계를 설정해줄 때에는 객체 내부에 참조 변수를 선언하고 (여기에서는 private List<Reply> replies;) 여러 객체를 담을 수 있도록 한다.

- 테이블은 다르지만 댓글은 해당하는 게시글 안에 있기 때문에 하나의 Board 객체 안에 여러 개의 댓글이 들어갈 수 있도록 함

- getRepliesByNo(Connection connection, int boardNo) 메소드 생성

-> 댓글이 없으면 빈 ArrayList로 반환한다.

-> 댓글이 있으면 댓글 목록을 List로 반환한다.

-> 댓글 하나하나를 객체로 만들어서 담아준다.

- SELECT 쿼리문 작성