Model2
목차 Model1 개념 1 Model1 vs Model2 2 Model2 Architecture 3
1.Model1 J s p Bean Client J s p DB Servlet Container
2.Model2 Servlet(C) Bean(M) Client J s p(V) DB Servlet Container
3.Model1과 Model2 비교 Model1 model2 장점 1.개발 속도가 빠르다. 1.재사용과 확장성이 뛰어나다. 단점 1.View가 바뀌었을 경우 대처능력이 떨어 진다. 2.확장성과 재사용성이 떨어진다. 1.고급인력이 필요하며 Model1에 비해 개발속도가 느리다.
4.Model2와 struts 모델2방식은 MVC라고도 한다. M(Model) – 주로 빈즈와 클래스가 담당한다. V(View) – 주로 jsp가 담당하고, 클라이언트의 응답 역할을 한다. C(Controller) – 주로 서블릿이 담당하고, 클라이언트의 요청을 받아 일정 조건에 맞는 Model이나 View쪽으로 배분하는 역할을 한다. Struts는 개발자들이 웹 애플리케이션을 빠르고 쉽게 제작하는 데 도움을 주는 소프트웨어 이다. Struts는 Java Beans,Servlet,JSP등과 같은 표준 기수을 기반으로 만들어 졌다. Struts을 개발한 사람은 Craig R. McClanahan 이다. 프레임 워크란 특정한 애플리케이션을 제작하는 데 이용할 수 있는 재사용가능한,반 완전한 형태의 애플리케이션 이다. 스트럿츠 프레임 워크의 가장 큰 특징은 Model2 아키텍처를 기반으로 만들어 졌으며, 네비게이션 흐름과 데이터 접근을 처리하기 위한 특수 클래스들을 담당하는 컨트롤러 서블릿을 제공하고 있다.
<<interface>> 5.Model2 Architecture(1) XXXAction +execute(request) UserActionFactory +getInstance() +action(String cmd) XXXAction +execute(request) Client1 <<interface>> Action ControllServlet XXXAction +execute(request) +execute(request) +init() +service() Client2 . ActionForward Client3 +setRedirect () +setPage() +getPage() +IsRedirect()
6.Model2 Architecture(2) XXXAction +execute(request) XXXAction XXXDAO +insert(~) +delete(~) . XXXAction Database +execute(request) .
7.담당 클래스의 역활 ControllServlet : 모든 클라이언트의 요청을 받아 UserActionFactory클래스에 클라이언트의 명령을 전달한다. UserActionFactory : ControllServlet의 명령을 받아 필요한 Model클래스 즉, XXXAction클래스의 객체 생성을 담당한다.(Factory Fattern) Action : 모든 Model클래스를 상속해주는 interface이다. XXXAction : 실질적인 Business Logic를 담당하고, Database에 접근하는 클래스이다. ActionForward : Model클래스에서 처리된 데이터를 sendRedirect(~)형식과forward(~)형식으로 보낼지를 결정하는 클래스이다. XXXDAO : 데이터 베이스를 접근하는 클래스이다.
Servlet(ControllServlet) 8.Model2 Flow Servlet(ControllServlet) Bean(M) Bean(M) DB XXXDAO UserActionFactory J s p(V) Bean(M)