[Spring] Spring MVC 구조와 동작과정

seonjeong·2023년 2월 20일
0

Spring

목록 보기
2/27
post-thumbnail

💖 구조

🔥 DispatcherServlet

: 다른 웹 프레임워크들에서 사용되는 Front Controller 역할. 요청부터 응답까지 전반적인 처리 과정을 통제

🔥 Handler(Controller)

: DispatcherServlet이 전달해준 HTTP요청을 처리하고 결과를 Model에 저장

🔥 ModelAndView

: Controller에 의해 반환된 Model과 View가 Wrapping된 객체 (Model과 View가 같이 들어있는 객체)

🔥 ViewResolver

: ModelAndView를 처리하여 View를 그리는 역할. Model에 저장된 데이터를 사용해 View를 그리고 사용자는 View를 볼 수 있게 됨


💖 동작 과정

  1. 핸들러 조회 : 핸들러 매핑을 통해 요청 url에 매핑된 핸들러(컨트롤러)를 조회
  2. 핸들러 어댑터 조회 : 핸들러를 실행할 수 있는 핸들러 어댑터를 조회
  3. 핸들러 어댑터 실행 : 핸들러 어댑터를 실행
  4. 핸들러 실행 : 핸들러 어댑터가 실제 핸들러를 실행
  5. ModelAndView 반환 : 핸들러 어댑터는 핸들러가 요청을 처리하고 반환하는 정보를 ModelAndView로 변환해서 반환
  6. viewResolver 호출 : viewResolver를 찾고 실행
  7. View반환 : viewResolver는 View의 논리 이름을 물리 이름으로 바꾸고, 렌더링 역할을 담당하는 View 객체
  8. View 렌더링 : View를 통해서 View를 렌더링
  • 핸들러 매핑
    - DispatcherServlet이 요청에 맞는 핸들러를 찾는 과정

  • 핸들러 어댑터
    - 핸들러 매핑에서 찾은 핸들러 객체를 다룰 수 있는 어댑터
    - 핸들러 방식이 다양하기 때문에 중간에 어댑터를 사용

출처

https://kotlinworld.com/326
https://code-lab1.tistory.com/258

profile
🦋개발 공부 기록🦋

0개의 댓글

관련 채용 정보