📗 스프링 Spring

[스프링/Spring] Spring MVC - DispatcherServlet

핑크빛연어 2021. 5. 6. 23:10

 

 DispatcherServlet 란?

 

 - 모든 클라이언트의 요청을 가장 먼저 처리하는 Front Controller, 첫번째 서블릿

 - MVC 아키텍처를 관리한다.

   ( request를 핸들러에 위임하고, Controller에서 만들어진 model을 response에 알맞게 렌더링 하고,

      View Template을 렌더링하는 등 많은 작업을 수행한다. )

 

 

 

 스프링 MVC 주요 구성 요소

 

* DispatcherServlet : 클라이언트의 요청을 전달 받는다. Controller 에게 클라이언트의 요청을 전달하고,

       Controller 가 리턴한 결과 값을 View 에 전달하여 알맞은 응답을 생성 하도록 한다. (스프링 제공)

* HandlerMapping : 클라이언트의 요청 URL 을 어떤 Controller 가 처리 할지를 결정 (스프링 제공)

* Controller : 클라이언트의 요청을 처리 한 뒤, 그 결과를 DispatcherServlet 에 알려준다. (실제 로직을 담당)

* ModelAndView : Controller 가 처리한 결과 정보 및 View 선택에 필요한 정보를 담는다.

* ViewResolver : Controller 의 처리 결과를 생성 할 View 를 결정 (스프링 제공)

* View : Controller 의 처리 결과 화면을 생성

 

 

 

 스프링 MVC 요청 처리 과정

 

 

스프링 MVC 요청 처리 과정

 

 

1. 클라이언트의 요청이 DispatcherServlet 에 전달

2. DispatcherServlet은 HandlerMapping을 사용하여 클라이언트의 요청을 처리할 Controller 객체를 검색함

3. DispatcherServlet은 controller 객체의 handleRequest() 메서드를 호출하여 클라이언트의 요청을 처리

4. Controller의 handlerRequest() 메서드는 처리 결과 정보를 담은 ModelAndView 객체를 리턴

5. DispatcherServlet은 ViewResolver 로부터 응답 결과를 생성 할 View 객체를 구함

6. View 는 클라이언트에 전송 할 응답을 생성

 

 

 

🐋🐳🐬

 

 

 

 

728x90
반응형