Spring Framework에서 지원하는 MVC 디자인 패턴
Dispatcher Servlet(Front Controller)을 제공함으로써 모든 요청을 핸들링하고, 공통 작업(요청한 URL에 맞는 컨트롤러 매핑)을 처리하도록 함
DispatcherServlet (Front Controller)
: 클라이언트의 모든 요청을 처음으로 전달 받음
: Controller에게 요청 전달
: Controller가 리턴한 Model 값을 View에게 전달
HandlerMapping
: 클라이언트의 요청을 처리하기 위한 Controller를 결정
HandlerAdapter
: 요청을 HandlerMapping에서 결정한 Controller로 전달
Controller
: 클라이언트의 요청을 처리한 뒤 결과값을 DispatcherServlet에 리턴
: 이때 비즈니스 로직을 수행함 (Service-Repository-DB)
ModelAndView
: Controller의 처리 결과를 보여줄 View와 View에서 사용될 데이터를 가지고 있는 Model로 구성
ViewResolver
: Controller가 리턴한 View name을 기반으로 적절한 View 객체를 반환
View
: 클라이언트에게 보여질 화면 생성
special bean
url 매핑 (xml)