[JSP & Servlet] 게시판 만들기 (feat. MySQL) - 테이블 생성 및 vo(Value Object)

https://yeo-computerclass.tistory.com/194

 

src 하위 폴더 용어 설명/ VO(DTO), DAO, Service(svc)

VO(DTO), DAO, Service(svc) 등 용어들에 대한 설명을 하도록 하겠다. 이렇게 폴더(패키지)를 나눠서 코드를 작성하는 이유는 코드의 간결화 및 모듈화, 유지보수 등의 목적을 위해 사용하는 것이다. 📌

yeo-computerclass.tistory.com

아래를 읽기 앞서 VO(DTO), DAO, svc와 같은 용어를 처음 들어봤다면 위 포스팅을 읽어보도록 하자!

 

 


📌테이블 생성

CREATE TABLE BOARD(
	BOARD_NUM INT,
	BOARD_NAME VARCHAR(20) NOT NULL,
	BOARD_PASS VARCHAR(15) NOT NULL,
	BOARD_SUBJECT VARCHAR(50) NOT NULL,
	BOARD_CONTENT VARCHAR(2000) NOT NULL,
	BOARD_FILE VARCHAR(50) NOT NULL,
	BOARD_RE_REF INT NOT NULL,
	BOARD_RE_LEV INT NOT NULL,
	BOARD_RE_SEQ INT NOT NULL,
	BOARD_READCOUNT INT DEFAULT 0,
	BOARD_DATE DATE,
	PRIMARY KEY(BOARD_NUM)
);
board_num 글 번호 board_re_ref 관련글 번호
board_name 글 작성자 board_re_lev 답글 레벨
board_pass 글 비밀번호 board_re_step 관련글 중 출력 순서
board_subject 글 제목 board_readcount 조회수
board_content 글 내용 board_date 작성일
board_file 첨부 파일    

 

 

 

 

 

 

 

 

 

 

📌ActionForward 클래스

서블릿(Controller)에서 클라이언트 요청을 처리한 후 View 페이지로 포워딩 처리 시 이동할 뷰 페이지의 url과 포워딩 방식(디스패치 or 리다이렉트)이 필요하다. 이 두 정보를 편리하게 다루기 위해서 ActionForward 클래스를 설계한다.

package vo;

public class ActionForward {
	private boolean isRedirect=false;
	private String path=null;
	
	public boolean isRedirect(){
		return isRedirect;
	}
	
	public String getPath(){
		return path;
	}
	
	public void setRedirect(boolean b){
		isRedirect=b;
	}
	
	public void setPath(String string){
		path=string;
	}
}

isRedirect=false: 디스패치 방식
isRedirect=true: 리다이렉트 방식

 

 

 

 

 

 

 

 

📌BoardBean 클래스

테이블을 생성할 때 넣었던 정보들이다. 이는 게시판 글 하나의 정보를 저장할 수 있는 클래스이다.

package vo;

import java.sql.Date;

public class BoardBean {
	
	private int BOARD_NUM;
	private String BOARD_NAME;
	private String BOARD_PASS;
	private String BOARD_SUBJECT;
	private String BOARD_CONTENT;
	private String BOARD_FILE;
	private int BOARD_RE_REF;
	private int BOARD_RE_LEV;
	private int BOARD_RE_SEQ;
	private int BOARD_READCOUNT;
	private Date BOARD_DATE;
	
	public int getBOARD_NUM() {
		return BOARD_NUM;
	}
	
	public void setBOARD_NUM(int board_num) {
		BOARD_NUM = board_num;
	}
	
	public String getBOARD_NAME() {
		return BOARD_NAME;
	}
	
	public void setBOARD_NAME(String board_name) {
		BOARD_NAME = board_name;
	}
	
	public String getBOARD_PASS() {
		return BOARD_PASS;
	}
	
	public void setBOARD_PASS(String board_pass) {
		BOARD_PASS = board_pass;
	}
	
	public String getBOARD_SUBJECT() {
		return BOARD_SUBJECT;
	}
	
	public void setBOARD_SUBJECT(String board_subject) {
		BOARD_SUBJECT = board_subject;
	}
	
	public String getBOARD_CONTENT() {
		return BOARD_CONTENT;
	}
	public void setBOARD_CONTENT(String board_content) {
		BOARD_CONTENT = board_content;
	}
	
	public String getBOARD_FILE() {
		return BOARD_FILE;
	}
	public void setBOARD_FILE(String board_file) {
		BOARD_FILE = board_file;
	}
	
	public int getBOARD_RE_REF() {
		return BOARD_RE_REF;
	}
	
	public void setBOARD_RE_REF(int board_re_ref) {
		BOARD_RE_REF = board_re_ref;
	}
	
	public int getBOARD_RE_LEV() {
		return BOARD_RE_LEV;
	}
	public void setBOARD_RE_LEV(int board_re_lev) {
		BOARD_RE_LEV = board_re_lev;
	}
	
	public int getBOARD_RE_SEQ() {
		return BOARD_RE_SEQ;
	}
	public void setBOARD_RE_SEQ(int board_re_seq) {
		BOARD_RE_SEQ = board_re_seq;
	}
	
	public int getBOARD_READCOUNT() {
		return BOARD_READCOUNT;
	}
	
	public void setBOARD_READCOUNT(int board_readcount) {
		BOARD_READCOUNT = board_readcount;
	}
	
	public Date getBOARD_DATE() {
		return BOARD_DATE;
	}
	
	public void setBOARD_DATE(Date board_date) {
		BOARD_DATE = board_date;
	}
	
}

 

 

 

 

 

 

 

 

 

📌PageInfo 클래스

패이징 처리에 필요한 정보를 저장할 수 있는 클래스이다.

package vo;

public class PageInfo {
	
	private int page;
	private int maxPage;
	private int startPage;
	private int endPage;
	private int listCount;
	
	public int getPage() {
		return page;
	}
	
	public void setPage(int page) {
		this.page = page;
	}
	
	public int getMaxPage() {
		return maxPage;
	}
	
	public void setMaxPage(int maxPage) {
		this.maxPage = maxPage;
	}
	
	public int getStartPage() {
		return startPage;
	}
	
	public void setStartPage(int startPage) {
		this.startPage = startPage;
	}
	
	public int getEndPage() {
		return endPage;
	}
	
	public void setEndPage(int endPage) {
		this.endPage = endPage;
	}
	
	public int getListCount() {
		return listCount;
	}
	
	public void setListCount(int listCount) {
		this.listCount = listCount;
	}

}