티스토리 뷰

초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준)

p.250

 

스프링 MVC 프레임워크 동작 방식

 

 1. 그림 10.1과 같이 요청 전송이 들어오면 DispatcherSerblet은 해당 요청을 처리하기 위한 컨트롤러 객체를 검색한다.       → DispatcherSerblet가 직접 컨트롤러에 접근하는 게 아니라 스프링 빈 객체에게 검색 요청을 하는 것

 

2. HandlerMapping은 클라이언트 요청 경로를 이용해 처리할 컨트롤러 빈 객체를 DispatcherSerblet에 전달한다. 

(만약 요청 경로가 /hello이면 등록된 빈 중에서 '/hello' 요청 경로를 처리할 컨트롤러를 리턴한다) 

 

3. DispatcherSerblet는 HandlerMapping이 찾아준 컨트롤러 객체를 HandlerAdapter 빈에게 요청 처리를 위임한다. 

 

4~5. HandlerAdapter 알맞는 메서드를 호출해서 요청을 처리한다. 

 

6. HandlerAdapter 요청 결과를 ModelAndView라는 객체로 변환하여 DispatcherSerblet에 리턴한다. 

 

7. DispatcherSerblet는 변환된 결과를 보여줄 view를 찾기 위해 ViewReslover 빈 객체를 사용한다.

      → 이 ViewReslover 는 뷰 이름에 해당하는 View 객체를 찾거나 생성해서 리턴한다.

 

8. DispatcherSerblet는 ViewReslover 가 리턴한 View 객체에게 응답 결과 생성을 요청한다. 9. 만약 JSP를 사용하는 경우 View 객체는 JSP를 실행하여 웹 브라우저에 전송할 응답을 생성하여 전송한다. 

 

 

정리

 

DispatcherSerblet는 모든 연결을 담당(요청을 전달받는 창구 같은 역할)하며 주요 구성 요소들을 통해 요청 흐름을 제어하는 역할을 한다. ※ 클라이언트의 요청을 실제 처리하는 것은 컨트롤러이다.

HandlerMapping은 클라이언트의 요청을 처리할 핸들러 객체를 찾아준다. 

HandlerAdapter DispatcherSerblet과 핸들러 객체 사이의 변환을 알맞게 처리해준다.

ViewReslover는 요청 처리결과를 생성할 View를 찾아준다.

View는 최종적으로 클라이언트에 응답을 생성해서 전달한다.

'study > Spring' 카테고리의 다른 글

chap 11 - MVC 1 (2)  (0) 2023.02.10
chap 11 - MVC 1 (1)  (0) 2023.02.06
chap 09 - 스프링 MVC 설정  (0) 2023.01.30
Tomcat 설치  (0) 2023.01.25
chap 08 - 트랜잭션 처리 (Transaction)  (0) 2023.01.25
댓글