MVC pattern 이란?

: model, view, controller 의 약자로 이 세가지의 역할 군으로 분리하여 웹을 개발하는 방식을 말한다.

- model

쉽게 말해 객체이다. C에서의 구조체, c++에서의 클래스(member와 memberFunction)같은 것이다. 각각의 데이터에 대해서 각각의 DAO를 만든 것을 말한다.

 

- controller

model을 가지고 어떻게 프로그램을 실행시켜 나갈 것인가에 대한 부분이다. 비즈니스 로직과 model-view간의 중재 역할을 담당한다.

 

- view

말 그대로 사용자에게 보여지는 화면(html, jsp page 등). 시대에 따라 요즈음에는 view의 중요도가 올라갔다. 예전에는 text의 개념에서 현제 window의 개념으로 바뀌게 되었다.

 

 

 

MVC패턴의 흐름 정리

 

 

1. 웹 브라우저에서 클라이언트가 url을 통해 request를 보낸다.

2. 이를 request 받은 DispatcherServlet이 handlerMapping을 통해 요청 url에 해당하는 컨트롤러를 찾고 해당 컨트롤러에게 요청을 보낸다.

3. 요청을 받은 controller는 해당 요청에 해당하는 데이터를 추출하고 해당 데이터에 대한 view이름을 지정한다. 데이터를 추출할 때 model 및 DB에 접근하여 데이터를 추출하는 과정을 거치게 된다.

4. 요청 처리 후 controller는 다시 DispatcherServlet에게 처리된 데이터와 뷰에 관한 정보를 전달한다.

5. DispatcherServlet는 어떤 view를 요청하는지 알아내기 위해 controller에게 받은 정보를 View Resolver에게 보낸다.

6. View Resolver는 받은 정보를 통해 controller가 처리한 데이터에 해당하는 view를 찾고 DispatcherServlet는에 반환한다.

7. DispatcherServlet은 해당하는 view에 mapping 시켜준다.

8. mapping 되어 데이터를 받은 view에서는 데이터를 가공한 페이지를 다시 DispatcherServlet에게 보낸다.

9. 최종적으로 DispatcherServlet은 요청받은 페이지를 사용자에게 response 한다.

 

 

+ Recent posts