yoursyun
MVC 게시판 본문
mvc board source
정확한 형태의 MVC 인지... 의문이 좀 들긴 하지만, 구글링을 참조 하여 MVC 형태의 게시판을
제작해 보았습니다.
제작된 파일은 첨부된 파일을 확인 하시면 됩니다.
데이터 베이스는 mySQL을 써보았습니다.
[ 테이블 생성 구문 ]
# create table
CREATE TABLE tb_gWareBoard (
idx int(4) not null auto_increment primary key -- 인덱스
, seq int(4) not null -- 게시물 순번
, parentidx int(4) not null DEFAULT 0 -- 부모 인덱스
, title varchar(100) not null -- 게시물 제목
, userName char(20) not null -- 작성자명
, userEmail varchar(100) not null DEFAULT ' ' -- 작성자메일
, contents LONGTEXT not null -- 내용
, attachFileName varchar(100) not null DEFAULT ' ' -- 첨부파일명
, ref int(4) not null DEFAULT 0 -- 답변 게시물 아이디
, step TINYINT not null DEFAULT 0 -- 답변 레벨
, lvl int(4) not null DEFAULT 0 -- 답변 스레드
, isalert TINYINT not null DEFAULT 0 -- 공지글 여부
, isdel TINYINT not null DEFAULT 0 -- 글내용 삭제 여부
, readcnt int(4) not null DEFAULT 0 -- 읽음 횟수
, regip char(15) not null -- 작성자 아이피
, reguserid char(20) not null -- 작성자 아이디
, regdate timestamp(8) DEFAULT CURRENT_TIMESTAMP -- 작성일
)
[ 함수 생성 ]
# create function
delimiter $$
CREATE FUNCTION fn_Get_maxSeq(parents int) RETURNS int
BEGIN
DECLARE maxSeq int(4);
SET maxSeq = 0;
SELECT if(isnull(MAX(seq)), 0, MAX(seq)) INTO maxSeq FROM tb_gWareBoard WHERE parentidx = parents;
SET maxSeq = maxSeq + 1;
return maxSeq;
END $$
delimiter ;
프로그램 내에서 함수를 이용 합니다. ( -_-; 맹글어 써보고 싶었습니다. )
폴더의 구성은 제 블로그 글중 JSP/Util use 의 Ant 사용법을 참조 해주세요.
개발 소스를 참조 (배포는 다른 형태 입니다) 하여 루틴의 예를 보여드리자면,
사용자 page request (http://localhost/gWare/~어쩌구저쩌구.do) -> control file
-> call board class (보기, 다운로드등) -> view file dispatcher
사용자 action -> call 비즈니스 로직 (board class, file upload class)
사용자 page request ex >
1. 사용자가 boardList.do 요청
2. 응용 프로그램 web.xml 에서 mapping 된 servlet class 호출
여기서는 board.web.board_list class 가 호출 되어 집니다. (/src/board/web/board_list.java)
해당 클래스에서 clsBoard 클래스를 사용 하여 비즈니스 로직을 처리 합니다.
3. board_list 클래스에서 request. getRequestDispatcher 메소드를 이용 하여
view file에 매핑 합니다.
4. view file에서 EL 표현식과, JSTL을 이용 데이터를 표시 합니다.
/web/groupboard/board_list.jsp
*** 사용된 컴퍼넌트들 ***
첨부 파일의 /lib 폴더에 사용된 컴퍼넌트 파일들이 들어 있습니다.