Model2 MVC Pattern
Model2 설계방식의 근간을 이루는 설계패턴이 MVC이다.
Model2 or MVC or Web MVC 라고한다.
- Model : 주기술은 Java Beans ( Java Component )
비즈니스 로직과 데이터 액세스 로직을 담당 (비 데 로직을 담당)
- View : 주기술은 JSP
클라이언트에 응답하는 화면 (or 데이터)를 제공 , 웹문서를 동적으로 생성
- Controller : 주기술은 Servlet
웹 어플리케이션 제어자의 역할
클라이언트의 요청(request)을 분석 , 요구사항에 의거해 Model 과 연동
적절한 이동방식으로 View를 선택하여
클라이언트에게 응답하게 한다
Model 과 View를 전체적으로 제어하는 역할을 한다 (model과 view를 제어)
- was>web container>web application>(view,model,controller)
- 기존 Model2 MVC
Client1- >Servlet1
Client2- >Servlet2
Client3- >Servlet3
- MVC + Front Controller Pattern
client1 - >Front Controller Servlet(handleRequest()) -> Controller1 : (handleRequest() 내부에 메서드 존재해서 if 문으로 보내줌)
client2- >Front Controller Servlet(handleRequest()) -> Controller2
- MVC + Front Controller Pattern + Command
client1 - >Front Controller Servlet(handleRequest()) -> <<Interface>> Controller(execute()) --> Controller1
client2 - >Front Controller Servlet(handleRequest()) -> <<Interface>> Controller(execute()) --> Controller2
: Front Controller Servlet의 handleRequest() 내부의 c.execute()를 통해 모든 개별 Controller의 동작을 제어.
- MVC + Front Controller Pattern + Command + Simple Factory
client1 - >Front Controller Servlet(handleRequest()) -> HandlerMapping- > <<Interface>> Controller(execute()) --> Controller1
client2 - >Front Controller Servlet(handleRequest()) -> HandlerMapping -> <<Interface>> Controller(execute()) --> Controller2
FrontControllerServlet, HandlerMapping, Controller interfaces는 기존에 만들어져 있는 것을 가져다 쓰되, 개별 컨트롤러 로직들을 관리해 준다.