Front-Controller 패턴
HandlerMapping
REQUEST ① ②↕ ③ ④
↔ DispatcherServlet ↔ HandlerAdapter ↔ Controller
RESPONSE ⑧ ⑥↕ ↕⑤
View ViewResolver
⑦↕
HTML, JSP 등
1(①).
사용자의 Request는 Front-Controller인 DispatcherServlet을 통해 처리된다.
2(②, ③).
HandlerMapping은 Request의 처리를 담당하는 컨트롤러를 찾기 위해서 존재한다.
여러 객체 중 @RequestMapping 어노테이션이 적용된 것을 기준으로 판단하며,
적절한 컨트롤러가 찾아졌다면 HandlerAdapter를 이용해서 해당 컨트롤러를 동작시킨다.
3(④, ⑤).
Controller는 Request를 처리하는 비지니스 로직을 작성하며, View에 전달해야 하는
데이터를 RequestScope에 담아서 전달한다. 응답 페이지 대한 경로 처리는
ViewResolver를 이용하게 된다.
4(⑤).
ViewResolver는 Controller가 리턴한 결과 값을 전체 경로로 완성시켜준다.
5(⑥, ⑦).
View는 실제 응답을 보내야하는 데이터를 HTML, JSP등을 이용해서 생성하는 역할을 한다.
6(⑧).
만들어진 응답 페이지를 DispatcherServlet을 통해 전송한다.