본문 바로가기
Spring

[Spring] Spring MVC 흐름

by 이잔디 2022. 4. 20.

Spring MVC

🍀 특징

- DI, AOP 같은 기능 뿐만 아니라, Servlet 기반의 WEB 개발을 위한 MVC Framework 제공 

- Model2 Architecture와 Front Controller Pattern을 Framework 차원에서 제공 

- Spring이 제공하는 Transaction 처리나 DI 및 AOP등을 손쉽게 사용

🌺 구성 요소

DispatcherServlet
(Front Contoller)
   - 모든 클라이언트의 요청을 전달받음
   - Controller에게 클라이언트의 요청을 전달하고, Controller가 리턴한 결과값을 View에게
   
달하여 알맞은 응답 생성.
HandlerMapping    - 클라이언트 요청 URL을 어떤 Controller가 처리할지를 결정
   - URL과 요청정보를 기준으로 어떤 핸들러 객체를 사용할지 결정하는 객체이며,
   DispatcherServlet은 하나 이상의 핸들러 매핑을 가질 수 있음
Controller    - 클라이언트의 요청을 처리한 뒤, Model을 호출하고 그 결과를 DispatcherServlet에게 알려
   
ModelAndView    - Controller가 처리한 데이터 및 화면에 대한 정보를 보유한 객체
ViewResolver    - Controller가 리턴한 뷰 이름을 기반으로 Controller의 처리 결과를 보여줄 View 결정
View    - Controller의 처리결과를 보여줄 응답화면 생성


🍄 요청 흐름