MVC(Model - View - Controller) 디자인 패턴
Server 에서 HTML 을 내려 주는 경우
@Controller 는 스프링 서버 개발자 입장에서는 시작점과 끝점으로 보이지만, 사실 스프링이 뒤에서 많은 부분을 보이지 않게 처리.
1. Client -> DispatcherServlet
a. 가장 앞 단에서 요청을 받아 FrontController라고도 불림
2. DispatcherServlet -> Controller
API를 처리해 줄 Controller를 찾아 요청을 전달
Handler mapping 에는 API path와 Controller 함수가 매칭
sample:
GET/response/html/dynamic -> HelloResponseController 의 helloHtmlFile()함수
GET/response/json/string -> HelloResponseController의 helloStringJson()함수
3. Controller -> DispathcerServlet
a. Controller가 Client로 받은 API 요청 처리
b. 'Model' 정보와 'View' 정보를 DispatcherServlet으로 전달
4. DispatcherServlet -> Client
a. ViewResolver 통해 View에 Model을 적용
b. View를 Client에게 응답으로 전달