JSP/model 1
답글 기능을 포함한 게시판 (1) - 환경설정
Kiwisae
2022. 9. 8. 10:43
- DBCP 방식 사용,
- 액션태그 사용 (useBean, setProperty)
- DTO, DAO 클래스
- 페이징 처리 (inline view)
- 답글 처리
프로그램 구조
Java Resources > src > board |
DTO 클래스 | BoardDataBean.java | |
DAO 클래스 | BoardDBBean.java | ||
WebContent > reboard | reboard | writeForm.jsp | |
writePro.jsp | |||
list.jsp | |||
content.jsp | |||
replyForm.jsp | |||
replyPro.jsp | |||
updateForm.jsp | |||
updatePro.jsp | |||
deleteFrom.jsp | |||
deletePro.jsp | |||
META-INF | context.xml | 커넥션 풀 환경설정 파일 | |
WEB-INF > lib | ojdbc6.jar | ||
web.xml | 프로젝트 환경설정 파일 |
1. 초기 환경설정
새 프로젝트 폴더 reboard를 생성하는데,
board의 환경설정과 같은 과정이기 때문에 상세 내용은 아래 링크의 1,2,3 항목을 참고하여
DB연결을 위한 환경 구축을 한다.
게시판 생성 (1) - 환경설정
DBCP 방식 사용, 액션태그 사용 (useBean, setProperty) DTO, DAO 클래스 페이징 처리 (inline view) 프로그램 구조 Java Resources > src > board DTO 클래스 BoardDataDTO.java DAO 클래스 BoardDBBean.java Web..
kiwikiwisae.tistory.com
2. DB 생성
일전의 board DB 에서 추가된 컬럼이 세 가지 있다.
ref 관련글
- 부모글과 답글은 같은 ref 값으로 그룹으로 묶인다.
- 부모글의 num 컬럼과 ref 값이 같은 값이고, 답글의 ref 값은 부모글의 ref와 같은 값이다.
re_level 답글의 깊이 저장
- 원문 : 0, 1단계댓글 : 1, 2단계댓글 : 2
re_step 답글의 출력 순서 저장
- 답글의 깊이 값으로 오름차순 정렬되어 출력된다.
- 새로운 답글이 추가되면 re_step 값이 변경된다. (비고정)
테이블과 시퀀스 생성 완료
num값을 primary key 로 설정했다.
3. DTO 클래스 작성
DB 테이블 생성시 입력했던 컬럼들의 이름을 그대로 가져와 프로퍼티, get-set 메소드를 생성한다.
4. DAO 클래스 작성
싱글톤 객체로 공유 영역을 가장 먼저 생성한다.
5. 커넥션 풀 관련 getConnection 메소드 작성
import java.sql.Connection;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
private Connection getConnection() throws Exception {
Context init = new InitialContext();
DataSource ds = (DataSource) init.lookup("java:comp/env/jdbc/orcl");
return ds.getConnection();
}