학습목표 : 게시판을 통해 JSP와 DB와 자바빈, 커넥션풀 연동을 통해 JSP 전체 흐름 파악하기
JSP 게시판 -시스템 구조(40강)
게시판 구조
(답변형 구조 게시판)
- 부모형 / 답변형 글
- 글쓰기 / 답글쓰기
- 전체 글보기
- 글 삭제
- 글 읽기
- 글 수정
전체 글보기 구성 컬럼 :
글번호/ 글쓴이/ 이메일/ 글제목 / 글 비번 / 작성날짜 /글그룹/ 글스텝/ 글레벨 / 조회수 / 글내용
Num / Writer / Email / Subject / Password / Reg_date / Ref / Re_step / Re_level / Readcount / Content
- 글 그룹 (Ref)
답변형 게시판이므로 한 글에 대한 답변은 한 그룹으로 묶여야한다.
- 글 스텝 (Re_step)
답변, 답변의 답변 단계 설정
- 글 레벨 (Re_level)
글을 어떤 순서대로 화면에 보여줄 것인지 설정
ex) 부모형 글이 1번, 두 번째 단 댓글이 2번, 첫 번째 단 댓글이 3번째
한 Ref 내에 스텝,레벨 나뉨 / Re_step은 답변과 RE답변의 단계 / Re-level은 화면에 보여지는 순서
JSP 게시판 -테이블 설정, 빈클래스 (41강)
글번호/ 글쓴이/ 이메일/ 글제목 / 글 비번 / 작성날짜 /글그룹/ 글스텝/ 글레벨 / 조회수 / 글내용
Num / Writer / Email / Subject / Password / Reg_date / Ref / Re_step / Re_level / Readcount / Content
글번호는 자동증가 int타입(오라클에서 int타입 = NUMBER타입) 이므로 시퀀스를 만들어둔다.
오라클 시퀀스(자동증가)
Database - Create - Sequence
테이블 생성
num을 PK로 설정
(연습용 게시판이니 content 사이즈는 500으로 작게 설정함)
커넥션풀 사용 설정
이클립스로 가서 Board프로젝트를 만들고 커넥션풀 사용을 위한 설정을 한다
(한번은 서버 실행을 해줘야 서버에 해당 프로젝트가 등록된다.
서버를 한번 구동한 뒤에 Server에 있는 server.xml 소스코드를 수정한다.)
1 2 3 4 5 6 7 8 9 10 | <Context docBase="JspStudy" path="/JspStudy" reloadable="true" source="org.eclipse.jst.jee.server:JspStudy"> <Resource auth="Container" driverClassName="oracle.jdbc.driver.OrcleDriver" loginTimeout="10" maxWait="5000" name="jdbc/pool" password="123456" type="javax.sql.DataSource" url="jdbc:oracle:thin:@localhost:1521:xe" username="system"/> </Context> <Context docBase="CookieSession" path="/CookieSession" reloadable="true" source="org.eclipse.jst.jee.server:CookieSession"/> <Context docBase="Board" path="/Board" reloadable="true" source="org.eclipse.jst.jee.server:Board"> <Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" loginTimeout="10" maxWait="5000" name="jdbc/pool" password="123456" type="javax.sql.DataSource" url="jdbc:oracle:thin:@localhost:1521:xe" username="system"/> </Context> </Host> </Engine> | cs |
<Context docBase="Board" ....../> : 끝에 닫는 슬래시와 </Host> 지우고 </Context></Host> 로 닫은 뒤
위쪽 줄에 있는(DB연동했을때 커넥션풀 사용하기위해 추가했던 리소스) [오라클 드라이버등록, 접속] 리소스를 넣어준다.
테이블 설정 따라 빈클래스 만들기
Board 프로젝트에서 빈클래스를 포함한 자바코드는 모두 model 패키지 아래에 두기로하자.
테이블의 컬럼대로 BoardBean 클래스를 만든다.
이 때, 데이터의 은닉성을 위해 모든 필드는 private으로 선언하고 Getter, Setter를 생성한다.
BroardBean.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | package model; public class BoardBean { private int num; private String writer; private String eamial; private String subject; private String password; //reg_date는 DATE타입이지만 //화면에 보여줄 땐 String 타입이어야하므로 String으로 선언 private String reg_date; private int ref; private int re_step; private int re_level; private int readcount; private int content; public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getWriter() { return writer; } public void setWriter(String writer) { this.writer = writer; } public String getEamial() { return eamial; } public void setEamial(String eamial) { this.eamial = eamial; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getReg_date() { return reg_date; } public void setReg_date(String reg_date) { this.reg_date = reg_date; } public int getRef() { return ref; } public void setRef(int ref) { this.ref = ref; } public int getRe_step() { return re_step; } public void setRe_step(int re_step) { this.re_step = re_step; } public int getRe_level() { return re_level; } public void setRe_level(int re_level) { this.re_level = re_level; } public int getReadcount() { return readcount; } public void setReadcount(int readcount) { this.readcount = readcount; } public int getContent() { return content; } public void setContent(int content) { this.content = content; } } | cs |
'JSP > JSP & Servlet ' 카테고리의 다른 글
JSP게시판 - 게시글 보기 (0) | 2019.05.09 |
---|---|
JSP 게시판 -DAO 클래스 설정, 글쓰기 폼 (0) | 2019.05.08 |
Session을 이용한 로그인 처리 페이지 (0) | 2019.05.08 |
Cookies & Session (0) | 2019.05.07 |
서블릿(Servlet) (0) | 2019.04.30 |