Presentation is loading. Please wait.

Presentation is loading. Please wait.

MVC 기반 게시판 작성 2007.03.22 Youbok Choi.

Similar presentations


Presentation on theme: "MVC 기반 게시판 작성 2007.03.22 Youbok Choi."— Presentation transcript:

1 MVC 기반 게시판 작성 Youbok Choi

2 구성 File Name Info. list.jsp 글 목록을 보여주는 JSP 파일 read.jsp
write.jsp 글 쓰기 폼을 보여주는 JSP 파일 write_ok.jsp DB에 글 입력 작업 후에 진행되는 JSP 파일(주로 페이지 이동용으로 쓰임) update.jsp 글 수정 폼을 보여주는 JSP 파일 update_ok.jsp DB에 글 변경 작업 후에 진행되는 JSP 파일(주로 페이지 이동용으로 쓰임) delete.jsp 글 삭제하기 위해 비밀번호 입력 폼을 보여주는 JSP 파일 delete_ok.jsp DB에 글 삭제 작업 후에 진행되는 JSP 파일(주로 페이지 이동용으로 쓰임) Command.properties 사용자 요청에 따른 처리를 mapping 해 놓은 property 파일 ControllerServlet.java 사용자 요청을 처리하는 Controller Servlet CommandRequest.java 사용자 요청에 대한 처리를 담당하는 class 들에 대한 Interface ListRequest.java 목록보기에 대한 요청 (list.do) 이 왔을 경우 처리하는 class ReadRequest.java 내용보기에 대한 요청 (read.do) 이 왔을 경우 처리하는 class WriteRequest.java 글 쓰기 폼에 대한 요청 (write.do) 이 왔을 경우 처리하는 class UpdateRequest.java 글 수정 폼에 대한 요청 (update.do) 이 왔을 경우 처리하는 class DeleteRequest.java 글 삭제에 대한 요청 (delete.do) 이 왔을 경우 처리하는 class WriteOKRequest.java 글 쓰기 폼에서 넘어온 데이터를 DB에 넣는 요청 (write_ok.do) 이 왔을 경우 처리하는 class UpdateOKRequest.java 글 수정 폼에서 넘어온 데이터를 DB에 반영하는 요청 (update_ok.do) 이 왔을 경우 처리하는 class DeleteOKRequest.java 글 삭제 폼에서 넘어온 데이터를 DB에서 삭제하는 요청 (delete_ok.do) 이 왔을 경우 처리하는 class DataBean.java 글에 대한 정보를 저장하는 Bean(table schema와 비슷함) DBBean.java 각종 DB 관련한 처리를 담당하는 class

3      처리 흐름도 request list.do read.do write.do update.do
delete_ok.do write_ok.do update_ok.do ControllerServlet 요청에 해당하는 class 찾기 Command.properties list.do = /ListRequest read.do = /ReadRequest write.do = /WriteRequest update.do = /UpdateRequest delete_ok.do = /DeleteOKRequest write_ok.do = /WriteOKRequest update_ok.do = /UpdateOKRequest CommandRequest ListRequest ReadRequest WriteRequest UpdateRequest DeleteRequest WriteOKRequest UpdateOKRequest 위에서 찾은 class 에서 request 및 DB처리 해당 요청에 대해 처리한 후, 이동할 JSP 페이지 반환 RequestDispatcher dispatcher = request.getRequestDispatcher(jsp페이지); dispatcher.forward(request, response) JSP 페이지 위에서 반환된 JSP 페이지로 이동 list.jsp update.jsp read.jsp write.jsp delete.jsp write_ok.jsp update_ok.jsp delete_ok.jsp

4 class 설명 Class Name Info. ControllerServlet
사용자의 요청(*.do)를 처리하는 Servlet CommandRequest 사용자의 요청(*.do)에 따른 처리를 하는 class에 대한 Interface ListRequest (CommandRequest 구현) list.do 요청이 왔을 경우 ControllerServlet에서 호출되어 request 처리(jsp 페이지에서 사용할 값들 설정) 및 DBBean 을 호출해서 DB 처리(글 목록 가져오기)를 하고 다음으로 처리될 jsp 페이지의 url을 반환해주는 class ReadRequest read.do 요청이 왔을 경우 ControllerServlet에서 호출되어 request 처리(jsp 페이지에서 사용할 값들 설정) 및 DBBean 을 호출해서 DB 처리(글 내용 가져오기)를 하고 다음으로 처리될 jsp 페이지의 url을 반환해주는 class WriteRequest write.do 요청이 왔을 경우 ControllerServlet에서 호출되어 request 처리(jsp 페이지에서 사용할 값들 설정) 를 하고 다음으로 처리될 jsp 페이지를 반환해주는 class UpdateRequest update.do 요청이 왔을 경우 ControllerServlet에서 호출되어 request 처리(jsp 페이지에서 사용할 값들 설정) 및 DBBean 을 호출해서 DB 처리(글 내용 가져오기)를 하고 다음으로 처리될 jsp 페이지의 url을 반환해주는 class DeleteRequest delete.do 요청이 왔을 경우 ControllerServlet에서 호출되어 request 처리(jsp 페이지에서 사용할 값들 설정)를 하고 사용자에게 보여줄 jsp 페이지를 반환해주는 class WriteOKRequest write_ok.do 요청이 왔을 경우 ControllerServlet에서 호출되어 request 처리 및 DBBean 을 호출해서 DB 처리(입력된 내용을 DB에 넣기)를 하고 다음으로 처리될 jsp 페이지의 url을 반환해주는 class UpdateOKRequest update_ok.do 요청이 왔을 경우 ControllerServlet에서 호출되어 request 처리 및 DBBean 을 호출해서 DB 처리(변경된 내용을 DB에 반영하기)를 하고 다음으로 처리될 jsp 페이지의 url을 반환해주는 class DeleteOKRequest delete_ok.do 요청이 왔을 경우 ControllerServlet에서 호출되어 request 처리 및 DBBean 을 호출해서 DB 처리(DB에서 삭제하기)를 하고 다음으로 처리될 jsp 페이지의 url을 반환해주는 class DataBean 하나의 글에 해당하는 데이터를 담는 Bean(table schema와 비슷) DBBean DB 처리를 담당하는 Bean(read, write, update, delete 등 처리)

5 class diagram Servlet HttpServlet CommandRequest + requestPro()
ListRequest + requestPro() DeleteOKRequest + requestPro() + init() # doGet() # doPost() - requestPro() ControllerServlet WriteOKRequest + requestPro() ReadRequest + requestPro() - title - writer - content - regdate - passwd + getTitle() + getWriter() + getContent + getRegdate() + getPasswd() DataBean +read() +update() +write() +delete() DBBean UpdateRequest + requestPro() DeleteRequest + requestPro() UpdateOKRequest + requestPro()

6 DB Schema CREATE TABLE 'jsptest'.'board' (
'idx' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'primary key', 'writer' VARCHAR(45) NOT NULL COMMENT '작성자', 'subject' VARCHAR(200) NOT NULL COMMENT '제목', 'content' TEXT NOT NULL COMMENT '내용', ' ' VARCHAR(50) COMMENT '메일주소', 'passwd' VARCHAR(15) NOT NULL COMMENT '비밀번호', 'regdate' DATETIME NOT NULL DEFAULT 'curdate()' COMMENT '등록일', 'hit' INTEGER UNSIGNED NOT NULL DEFAULT 0 COMMENT '조회수', 'group_id' INTEGER UNSIGNED NOT NULL COMMENT '그룹ID', 'group_step' SMALLINT UNSIGNED NOT NULL COMMENT '그룹내 순서', 'group_level' SMALLINT UNSIGNED NOT NULL COMMENT '그룹내 level', 'ip' VARCHAR(20) COMMENT '작성자 IP', ‘filename‘ varchar(100) comment '파일명‘, ‘filesize‘ integer unsigned deafult 0 comment '파일크기‘, PRIMARY KEY('idx') ) ENGINE = InnoDB;

7 UI (list)

8 UI (read)

9 UI (reply)

10 UI (update)

11 UI (delete)


Download ppt "MVC 기반 게시판 작성 2007.03.22 Youbok Choi."

Similar presentations


Ads by Google