MVC vs. Spring MVC
① Dispatcher Servlet : 모든 요청을 Dispatcher Servlet이 받도록 한다.
(직접 만든) MVC : HttpServlet를 상속받는다.
Spring MVC : org.springframework.web.servlet; FrameworkServlet를 상속받는다.
결과적으로 HttpServlet를 상속받는다. FrameworkServlet > HttpServletBean > HttpServlet
② Handler Mapping : 적절한 Handler(Controller)를 선택한다.
유사 : service(Object handler) ↔ doDispatch(getHandler) : Handler를 반환하는 코드
유사 : service(HandlerAdapter) ↔ doDispatch(getHandlerAdapter) : 전달받은 handler를 통해 적절한 Handler Adapter를 반환한다.
③ Dispatcher Servlet : 적절한 Handler Adapter를 선택한 다음 선택 받은 Handler(Controller)를 실행한다.
유사 : service(HandlerAdapter.handle) ↔ doDispatch(HandlerAdapter.handle) : Handler Adapter를 실행할 때 Handler를 전달하면 ModelAndView를 반환받는다.
SimpleControllerHandlerAdapter : 전달 받은 Handler를 실행하여 ModelAndView를 반환 받는다.
④ Handler(Controller) : View name을 반환한다.
⑤ Dispatcher Servlet : 반환 받은 View name을 View Resolver에게 전달한다.
유사 : service(resolveViewName) ↔ doDispatch(render) : View Resolver를 통해 view를 반환 받는다.
⑥ View Resolver : 적절한 View를 선택하여 결과를 출력한다.
유사 : service(render) ↔ doDispatch(render) : 결과를 출력한다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
#패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완
'Java > [패스트캠퍼스] 50일 포트폴리오 챌린지' 카테고리의 다른 글
[16일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) (0) | 2023.08.23 |
---|---|
[15일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) (0) | 2023.08.22 |
[13일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) (0) | 2023.08.20 |
[12일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) (0) | 2023.08.19 |
[11일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) (0) | 2023.08.18 |