Spring MVC의 전체적인 구조를 훑어보고 http 요청이 spring mvc에서 어떻게 흘러가는지 정리해 보았따.
Spring MVC 구조
spring mvc구조에서 http 요청이 들어왔을 때 동작 순서는 아래와 같다.
- 핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회한다.
- 핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다.
- 핸들러 어댑터 실행: 핸들러 어댑터를 실행한다.
- 핸들러 실행: 핸들러 어댑터가 실제 핸들러를 실행한다.
- ModelAndView 반환: 핸들러 어댑터는 핸들러가 반환하는 정보를 ModelAndView로 변환해서 반환한다.
- ViewResolver 호출: ViewResolver를 찾고 실행한다. ViewResolver는 view의 논리 이름으로 바꾸고, 랜더링 역할을 담당하는 뷰 객체를 반환한다.
- JSP의 경우 InternalResourceViewResolver가 자동 등록되고, 사용된다.
- 뷰 랜더링: 뷰를 통해서 뷰를 랜더링한 후 HTML을 응답한다.
주요 인터페이스 목록
- 핸들러 매핑: org.springframework.web.servlet.HandlerMapping
- 핸들러 어댑터: org.springframework.web.servlet.HandlerAdapter
- 뷰 리졸버: org.springframework.web.servlet.ViewResolver
- 뷰: org.psringframework.web.servlet.View
댓글 영역