MVC 패턴은 Model, View, Controller로 나뉘어 진다.
MVC 패턴의 종류에는 Model1과 Model2가 있다.
Client가 URL을 통해 request 요청
DispatcherServlet이 web.xml에 < url-pattern>에 등록된 내용을 가로채고 HandlerMapping에게 요청을 보내 해당 요청을 처리할 수 있는 Controller를 찾는다.
HandlerMapping은 URL을 이용하여 이를 처리할 Controller 객체를 DispathcerServlet에게 반환한다.
DistpathcerServlet 은 Controller 객체를 처리할 수 있는 HandlerAdapter에게 요청 처리를 위임
HandlerAdapter는 Controller에게 맞는 method를 호출
Controller → Service → DAO → DB → DAO → Service → Controller 순서로 비즈니스 로직을 실행한 후 결과를 HandlerAdapter에게 반환
HandlerAdapter는 DispatcherServlet에게 Controller의 실행 결과를 ModelAndView객체로 변환하여 반환
DispatcherServlet은 결과를 보여줄 View를 검색하기 위해 ViewResolver 객체에게 ModelAndView안의 해당 View를 검색 요청
ViewResolver는 ModelAndView안의 View 이름에 해당하는 View객체를 찾거나 생성해서 반환
DispatcherServlet은 ViewResolver가 반환한 View 객체에게 request result 생성을 요청
View 객체는 JSP를 사용하는 경우 JSP를 실행하여 결과를 Rendering한 후 Client에게 View를 응답