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으로 전달
- 최종적으로 컨텐츠를 클라이언트에게 전달