Spring MVC
Spring
에서 제공하는 웹 모듈
Model
, View
, Controller
세가지로 구성
- 사용자의
Http Request
처리와 단순 응답/REST 형식 응답 그리고 View
를 표시하는 html
응답까지 가능한 프레임워크
구조
- 주요 구성요소인
Model
, View
, Controller
뿐만 아니라 다양한 구성요소가 있음
1. DIspatcherServlet
- 제일 앞단에서
HTTP Rquest
처리하는 Controller
HTTP Rquest
처리할 Controller
지정 역할
2. Handler(Controller)
HTTP Rquest
를 처리해 Model
을 생성하고 View
지정
3. ModelAndView
Controller
에 의해 반환된 Model
과 View
가 Wrapping된 객체
Model
은 Map
자료 구조로 HTTP Rquest
에 포함된 데이터 파싱 후 Key-Value
쌍으로 만든 후 저장
- 해당
Model
은 View
를 그리기 위해 사용
4. ViewResolver
ModelAndView
를 처리하여 View
그리는 역할
- 여기서는 모델에 저장된 데이터를 사용해
View
를 그려줌
- 우리에게 보여지는
View
가 바로 이곳에서 만들어지는 View
흐름
- 요청된
URL
을 DispatcherServlet
에 전달
HandlerMapping
은 해당 URL
에 매핑된 Controller
가 있는지 검사 후 Controller
에 전달
- 해당
Controller
가 로직을 처리
- 결과를
ModelAndView
객체 생성 후 담아 DispatcherServlet
에 전달
DispatcherServlet
은 전달 받은 View(.jsp)
가 유무 검사를 위해 ViewResolver
로 보냄
ViewResolver
는 받은 전달 받은 View(.jsp)
유무 검사 후 View
로 보냄
View
에서 Model
과 같이 전달 받은 View(.jsp)
를 그린 후에 DispatcherServlet
으로 전달
- 최종적으로 컨텐츠를 클라이언트에게 전달