JSP MVC2모델 게시판만들기 ① DBCP연동 및 게시판 설계

2017. 5. 4. 13:12JSP




게시판 MVC2모델의 직접적인 페이지 소스 작성을 하기전에 설계해 놓아야할 것들입니다.


[ DBManager ]


DB에 연결하기 위해서 Connection객체를 얻어 오는 메서드와 사용한 Connection, PrepareStatement, ResultSet 객체를 닫아주는 메서드를 생성해 놓고 편리하게 불러서 사용한다



[ board.sql ]


table명은 "board"

컬럼명은 num(글번호), pass(비밀번호), name(작성자), email, title, content, readcount(조회수), writedate(작성일)

create sequence board_seq start with 1 increment by 1;

=> 글번호에 대입하여서 1부터 시작해서 1씩 증가한다

=> insert into board values( board_seq_nextval, '홍길동' ... );

commit; 

=>Table 생성 완료



[ BoardVO ]


"board"테이블의 컬럼과 동일한 컬럼명으로 변수를 지정하고 setter, getter메서드 생성해준다



[ BoardDAO ]


BoardDAO의 생성자는 private으로 숨겨놓고 getInstance()메서드로 객체를 가져오는 방식을 선택했다.

sql문을 사용하는 메서드들을 정의해놓고 xxxAction.java에서 사용하도록 한다



[ Action.java ] Interface


Action.java interface를 정의하고 xxxAction.java 자손들을 생성함으로써 생성페이지가 달라도 Action객체에 저장할 수 있다.

Action action = new xxxAction();    // 객체의 다형성을 이용한다



[ BoardServlet.java ]


MVC2모델에서는 하나의 Controller( BoardServlet )만 사용한다

#사용방식

 String command = request.getParameter("command");        // 서블릿에 페이지를 요청할 때 command를 보낸다

 ActionFactory af = ActionFactory.getInsetance();                // ActionFactory객체생성(액션페이지생성객체)

 Action action = af.getAction(command);                          // command에 따라서 action 객체가 달라진다.

 action.execute(requeset,response);                                  // 해당 action객체의 execute 실행



[ ActionFactory.java ]


Action객체의 자손들 BoardListAction.java , BoardWriteAction.java 등등 command변수에 따라서 action객체에 각기 다른 객체를 만들어주는 공장과 같은 역할을 해준다