RubyRabbit
2022. 8. 21. 17:14
2022. 8. 21. 17:14
스프링 MVC 구조와 동작 순서
출처 - 김영한님의 스프링 MVC 1편
- 핸들러 조회
- 핸들러 매핑을 통해 요청 URL에 매칭되는 핸들러(컨트롤러)를 조회
- @RequestMapping 으로 등록한 핸들러를 조회
- 핸들러 어댑터 조회
- 핸들러를 실행할 수 있는 핸들러 어댑터를 조회
- @Controller 로 등록한 빈 객체가 어댑터에 해당
- 핸들러 어댑터 실행
- 핸들러 호출
- ModelAndView 반환
- viewResolver 호출
- View 반환
- viewResolver 에서는 ModelAndView 객체에 담겨있는 View 정보를 통해 해당 View를 찾아 반환한다.
- View 생성
- 반환된 View에 ModelAndView 객체 안에 있는 Model 데이터를 적용하여 렌더링한다.
- HTML 응답
DispatcherServlet
- 스프링 MVC 에서 프론트 컨트롤러의 역할을 담당하는 서블릿
- 기존의 하나의 URL 요청을 담당하던 Servlet 과는 달리 모든 요청을 받아서 처리하며 각각 다른 URL 요청에 따른 처리는 컨트롤러에 위임하여 처리한다.