핸들러 -> 컨트롤러라고 생각하면 된다. 핸들러가 좀 더 넓은 의미
DIspatcherServlet의 구조
스프링 MVC의 프론트 컨트롤러는 디스패처 서블릿(DIspatcerServlet)이다.
DispatcherServlet 서블릿 등록
- DispacherServlet도 부모 클래스에서 HttpServlet을 상속 받아서 사용하고, 서블릿으로 동작한다.
- DisparcherServlet -> FrameworkServlet -> HttpServletBean -> HttpServlet
- 스프링 부트는 DIsparcherServlet을 서블릿으로 자동으로 등록하면서 모든 경로 urlPatterns="/"에 대해서 매핑
요청 흐름
- 서블릿 호출 -> HttpServlet이 제공하는 Service()가 호출
- 스프링 mvc는 DispatcherServlet의 부모인 FrameowkrServlet에서 Service()를 오버라이드 해두었다.
- FrameworkServlet.Service()를 시작으로 여러 메서드가 호출되면서 DispatcherServlet.doDispatch()
컨트롤러 호출하기 위해 필요한 두가지
- HanlderMappin(핸들러 매핑)
- 핸들러 매핑에서 이 컨트롤러를 찾을 수 있어야 한다.
- HandlerAdapter(핸들러 어댑터)
- 핸들러 매핑을 통해 찾은 핸들러를 실행할 수 있는 핸들러 어댑터가 필요하다.
'- 코딩 공부 > Spring' 카테고리의 다른 글
Servlet Dispatcher 정리 (0) | 2022.08.08 |
---|---|
[스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술] 섹션6 스프링 MVC기본 기능 (0) | 2022.08.04 |
[스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술] 섹션4 MVC 프레임워크 만들기 - V1, V2, V3 (0) | 2022.08.04 |
[스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술] 섹션2 서블릿, JSP, MVC (0) | 2022.08.04 |
[스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술] 섹션3 서블릿, JSP, MVC 패턴 (0) | 2022.07.18 |