어떤 개념일까?
Spring MVC의 흐름
Spring MVC에서 핵심은 DispatcherServlet을 기준으로 흐름을 보는게 중요하다고 생각합니다.
- 요청 수신:
DispatcherServlet으로 클라이언트 요청이 들어온다. - 핸들러 조회:
HandlerMapping이 요청 url에 맞는 컨트롤러를 찾아준다. - 핸들러 실행:
HandlerAdapter가 해당 컨트롤러를 실행한다. 이때ArgumentResolver가 파라미터를 바인딩 - 분기: 컨트롤러의 반환 형태에 따라
ReturnValueHandler에 의해 분기 된다. - 뷰 처리:
ViewResolver가 뷰 이름을 실제View로 변환하고,View가 모델을 렌더링한다. - REST 경로:
HttpMessageConverter가 반환 객체를 JSON으로 직렬화후 body에 작성한다. - 응답 전송: 최종 렌더링 결과를 클라이언트에 응답한다.
크게 이렇게 6개로 볼 수 있을거 같습니다.
