[Spring] Spring MVC 구조

Jeon817·2023년 4월 15일

Spring

목록 보기
4/11

[Spring MVC란?]

MVC는 Model, View, Controller의 약자이며, 각 레이어간 기능을 구분하는데 중점을 둔 디자인 패턴입니다.

  • Model : 데이터 관리 및 비즈니스 로직을 처리하는 부분(DAO, DTO, Service 등)
  • View : 비즈니스 로직의 처리 결과를 통해 유저 인터페이스가 표현되는 구간(html, jsp 등 화면을 구성)
  • Controller : 사용자의 요청을 처리하고 Model과 View를 중개하는 역할을 합니다(Model과 View는 서로 연결되어 있지 않기 때문에 Controller가 사이에서 통신 매체가 되어줍니다)

[Spring MVC 구조]

  • Spring MVC 동작 구조는 아래 사진과 같습니다.

(1) 클라이언트에서 요청이 들어오면 가장 먼저 DispatcherServlet 이 요청을 받습니다(DispatcherServlet 을 FrontController 라고도 합니다).

(2) API 를 처리해 줄 Controller 를 찾아 요청을 전달(Handler mapping의 역할), Handler mapping 에는 API path 와 Controller 함수가 매칭되어 있어 습니다(따라서 함수 이름을 개발자가 마음대로 설정해도 매칭이 가능했던 것입니다).

(3), (4) Controller 가 클라이언트로 받은 API 요청을 처리, 'Model 정보'와 'View 정보'를 DispatcherServlet 으로 전달합니다.

(5) Model과 View를 받은 DispatcherServlet은 ViewResolver 통해 View 에 Model 을 적용합니다.

(6), (7) Model 이 적용된 View 를 클라이언트에게 다시 전달합니다.

0개의 댓글