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();
	}