happy-developers / dev-interview

1 stars 1 forks source link

[Spring] Spring MVC 동작방식을 알려주세요 #63

Open HYK97 opened 1 year ago

HYK97 commented 1 year ago

Spring MVC 동작방식을 알려주세요

키워드

DispatcherServlet, HandlerAdapter,HandlerMapping


HYK97 commented 1 year ago

Spring MVC의 동작 방식과 순서는 이러합니다.

  1. 사용자는 특정 URL을 사용하여 웹 애플리케이션에 요청을 합니다.
  2. DispatcherServlet은 Spring MVC 프레임워크의 프런트 컨트롤러로써 요청을 가로챕니다.
  3. DispatcherServlet은 HandlerMapping을 조회하여 어떤 컨트롤러가 요청을 처리해야 하는지 결정합니다.
  4. HandlerMapping은 컨트롤러 객체(보통 컨트롤러)와 관련된 인터셉터를 포함하는 HandlerExecutionChain을 반환합니다.
  5. DispatcherServlet은 HandlerAdapter를 사용하여 적절한 핸들러에 요청을 전달합니다.
  6. HandlerAdapter는 handleRequest()나 handle()과 같은 핸들러의 특정 메소드를 호출하며 요청과 응답 객체를 전달합니다.
  7. 컨트롤러는 요청을 처리하고 ModelAndView 객체를 반환합니다. 이 객체는 모델 데이터와 논리적인 뷰 이름을 포함합니다.
  8. DispatcherServlet은 ViewResolver를 조회하여 논리적인 뷰 이름에 따라 실제 뷰를 결정합니다.
  9. ViewResolver는 뷰 객체를 반환하며, 이는 모델 데이터를 렌더링하는 역할을 합니다.
  10. DispatcherServlet은 ModelAndView를 View 객체에 전달하여 최종 응답을 사용자에게 제공합니다.