Spring MVC란?
웹 계층에 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈이 있는데 이를 스프링 웹 MVC(spring-web-mvc) 또는 스프링 MVC라고 한다.
Spring MVC는 클라이언트의 요청을 편리하게 해주는 기능을 제공
동작 방식과 구성 요소

DispatcherServlet
DispatcherServlet은 HttpServlet을 상속받아 사용하고, 서블릿으로 동작한다.
[CS] Spring Dispatcher-Servlet
Dispatcher-Servlet란?HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러과거와 비교과거에는 모든 서블릿을 URL 매핑을 위해 web.xml에 모두 등록해
no-delay.tistory.com
DispatcherServlet → FrameworkServlet → HttpServletBean → HttpServlet
DispacherServlet을 사용하면 서블릿으로 등록하면서 모든 경로에 (urlPatterns=”/”)에 대해 매핑한다.
요청 흐름
서블릿이 호출되면 HttpServlet이 제공하는 service()가 호출된다.
스프링 MVC는 FramworkServlet.service()를 시작으로 여러 메서드가 호출되면서 DispacherServlet.doDispatch()가 최종적으로 호출된다.
동작 순서
핸들러 조회 : 핸들러 매핑을 통해 URL에 매핑된 핸들러(컨트롤러)를 조회한다.
핸들러 어댑터 조회 : 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다.
핸들러 어댑터 실행 : 핸들러 어댑터를 실행한다.
핸들러 실행 : 핸들러 어댑터가 실제 핸들러를 실행한다.
ModelAndView 반환 : 핸들러 어댑터는 핸들러가 반환하는 정보를 ModelAndView로 변환하여 반환한다.
viewResolver 호출 : 뷰 리졸버를 찾고 실행한다.
View 반환 : 뷰 리졸버는 뷰의 논리 이름을 물리 이름으로 바꾸고, 렌더링 역할을 담당하는 뷰 객체를 반환한다.
뷰 렌더링 : 뷰를 통해 뷰를 렌더링한다.
출처
[Spring MVC] 스프링 MVC란 무엇인가? - 스프링 MVC 구조 이해
본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다. '스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술' 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹
ittrue.tistory.com
'CS' 카테고리의 다른 글
[CS] Spring DTO (1) | 2024.05.01 |
---|---|
[CS] Spring Dispatcher-Servlet (0) | 2024.05.01 |
[CS] Spring Framework (1) | 2024.05.01 |
[CS] Spring 빈 스코프(Bean Scope) (0) | 2024.05.01 |
[CS] Spring PSA (1) | 2024.05.01 |
Spring MVC란?
웹 계층에 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈이 있는데 이를 스프링 웹 MVC(spring-web-mvc) 또는 스프링 MVC라고 한다.
Spring MVC는 클라이언트의 요청을 편리하게 해주는 기능을 제공
동작 방식과 구성 요소

DispatcherServlet
DispatcherServlet은 HttpServlet을 상속받아 사용하고, 서블릿으로 동작한다.
[CS] Spring Dispatcher-Servlet
Dispatcher-Servlet란?HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러과거와 비교과거에는 모든 서블릿을 URL 매핑을 위해 web.xml에 모두 등록해
no-delay.tistory.com
DispatcherServlet → FrameworkServlet → HttpServletBean → HttpServlet
DispacherServlet을 사용하면 서블릿으로 등록하면서 모든 경로에 (urlPatterns=”/”)에 대해 매핑한다.
요청 흐름
서블릿이 호출되면 HttpServlet이 제공하는 service()가 호출된다.
스프링 MVC는 FramworkServlet.service()를 시작으로 여러 메서드가 호출되면서 DispacherServlet.doDispatch()가 최종적으로 호출된다.
동작 순서
핸들러 조회 : 핸들러 매핑을 통해 URL에 매핑된 핸들러(컨트롤러)를 조회한다.
핸들러 어댑터 조회 : 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다.
핸들러 어댑터 실행 : 핸들러 어댑터를 실행한다.
핸들러 실행 : 핸들러 어댑터가 실제 핸들러를 실행한다.
ModelAndView 반환 : 핸들러 어댑터는 핸들러가 반환하는 정보를 ModelAndView로 변환하여 반환한다.
viewResolver 호출 : 뷰 리졸버를 찾고 실행한다.
View 반환 : 뷰 리졸버는 뷰의 논리 이름을 물리 이름으로 바꾸고, 렌더링 역할을 담당하는 뷰 객체를 반환한다.
뷰 렌더링 : 뷰를 통해 뷰를 렌더링한다.
출처
[Spring MVC] 스프링 MVC란 무엇인가? - 스프링 MVC 구조 이해
본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다. '스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술' 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹
ittrue.tistory.com
'CS' 카테고리의 다른 글
[CS] Spring DTO (1) | 2024.05.01 |
---|---|
[CS] Spring Dispatcher-Servlet (0) | 2024.05.01 |
[CS] Spring Framework (1) | 2024.05.01 |
[CS] Spring 빈 스코프(Bean Scope) (0) | 2024.05.01 |
[CS] Spring PSA (1) | 2024.05.01 |