반응형
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; } }
반응형
'JSP & Servlet > 실습' 카테고리의 다른 글
[JSP & Servlet] 게시판 만들기 (feat. MySQL) - DAO(Data Access Object) (0) | 2022.06.27 |
---|---|
[JSP & Servlet] 게시판 만들기 (feat. MySQL) - Service 클래스 (0) | 2022.06.27 |
[JSP & Servlet] 게시판 만들기 (feat. MySQL) - Action 클래스 (0) | 2022.06.26 |
[JSP & Servlet] 게시판 만들기 (feat. MySQL) - Controller 클래스 (0) | 2022.06.26 |
[JSP] 로그인, 회원 가입 및 회원 관리 (0) | 2022.06.16 |