TODAY TOTAL
[Spring] 3. MVC구조 기본

 

 

MVC는 Model, View, Contrller를 합친 말

 

Model

- 어플리케이션의 데이터이며 모든 데이터 정보를 가공하여 가지고 있는 컴포넌트이다.

 

View

- 시각적인 UI 요소를 지칭하는 용어

 

Controller

- Model과 VIew를 연결해주는 역할

 

 

대부분의 서블릿 기반 프레임워크들이 사용하는 방식

데이터와 처리, 화면을 분리하는 방식

웹어서는 Model2 방식으로 표현 

 

스프링 MVC의 기본 사상

 

- 서블릿 기반이긴 하지만 한 단계 더 추상화 된 수준의 개발 지향한다.

- 서블릿 API없이도 개발이 가능한 수준

 

개발자는 Servlet/JSP의 API에 신경 쓰지 않고 웹 어플리케이션을 제작

-----------------------------------------------------------------------------

Spring MVC는 내부적으로 Servlet/JSP 처리

 

 

Model2 방식과 스프링 MVC

 

MVC의 기본 흐름 

 

 

  1. 클라이언트가 서버에 요청을 하면, front controller인 DispatcherServlet 클래스가 요청을 받는다.
  2. DispatcherServlet는 프로젝트 파일 내의 servlet-context.xml 파일의 @Controller 인자를 통해 등록한 요청 위임 컨트롤러를 찾아 매핑(mapping)된 컨트롤러가 존재하면 @RequestMapping을 통해 요청을 처리할 메소드로 이동한다.
  3. 컨트롤러는 해당 요청을 처리할 Service(서비스)를 받아 비즈니스로직을 서비스에게 위임한다.
  4. Service(서비스)는 요청에 필요한 작업을 수행하고, 요청에 대해 DB에 접근해야한다면 DAO에 요청하여 처리를 위임한다.
  5. DAO는 DB정보를 DTO를 통해 받아 서비스에게 전달한다.
  6. 서비스는 전달받은 데이터를 컨트롤러에게 전달한다.
  7. 컨트롤러는 Model(모델) 객체에게 요청에 맞는 View(뷰) 정보를 담아 DispatcherServlet에게 전송한다.
  8. DispatcherServlet는 ViewResolver에게 전달받은 View정보를 전달한다.
  9. ViewResolver는 응답할 View에 대한 JSP를 찾아 DispatcherServlet에게 전달한다.
  10. DispatcherServlet는 응답할 뷰의 Render를 지시하고 뷰는 로직을 처리한다.
  11. DispatcherServlet는 클라이언트에게 Rendering된 뷰를 응답하며 요청을 마친다.

 

위의 MVC의 처리순서는 가져왔습니다.

https://iri-kang.tistory.com/4

  Comments,     Trackbacks