Spring MVC 프레임워크의 요청처리 과정에 대해서 설명해 주세요.
에 대한 답변으로 준비한 내용 정리
- Spring MVC 는 Servlet API를 기반으로 클라이언트의 요청을 편리하게 처리해주는 프레임워크이다.
- M - Model - 클라이언트의 요청사항을 구체적으로 처리하는 서비스 계층 (Java 코드로 구현한 것은 비지니스 로직)
- V - View - Model 데이터를 이용해서 클라이언트 애플리케이션의 화면에 보이는 리소스를 제공하는 역할.
- C - Controller - 클라이언트의 요청을 직접적으로 전달받는 EndPoint. Model과 View의 중간에서 상호작용을 해주는 역할.
- Spring MVC의 동작흐름 = 클라이언트 요청 -> Controller가 요청 데이터 수신 -> 비지니스 로직 처리 -> Model 데이터 생성 -> Controller에게 Model 데이터 전달 -> Controller가 View에게 Model 데이터 전달 -> View가 응답 데이터 생성
- Spring MVC의 요청 처리 흐름 = 클라이언트 요청 -> Dispatcher Servlet -> HandlerMapping에게 Controller 검색 위임 -> Dispatcher Servlet는 검색된 Controller 정보를 토대로 HandlerAdapter 에게 Controller 클래스 안의 Handler 메서드 호출을 위임 -> HandlerAdapter가 Controller 클래스의 Handeler 메서드 호출 -> (여기부터는 추가사항.) DispatcherServlet이 ViewResolver에게 View 검색을 위임. -> DispatcherServlet이 View 에게 Model 데이터를 포함한 응답 데이터 생성을 위임 -> DispatcherServlet이 최종 응답 데이터를 클라이언트에게 전달.
- 1. 클라이언트 —> 요청전송 —> DispatcherServlet
- 2. DispatcherServlet —> Controller 검색 —> HandlerMapping
- 3. HandlerMapping —> Controller 정보 리턴 —> DispatcherServlet
- 4. DispatcherServlet —> Controller 호출 위임 —> HandlerAdapter
- 5. HandlerAdapter —> Controller 호출 —> Controller
- 6. Controller —> Model 데이터 리턴 —> HandlerAdapter
- 7. HandlerAdapter —> Model 데이터와 view 이름 리턴 —> DispatcherServlet
- 8. DispatcherServlet —> View 검색 요청 —> View Resolver
- 9. View Resolver —> View 정보 리턴 —> DispatcherServlet
- 10. DispatcherServlet —> 응답 요청 —> View
- 11. View —> 응답 생성 후 리턴 —> DispatcherServlet
- 12. DispatcherServlet —> 응답 리턴 —> 클라이언트
'면접준비' 카테고리의 다른 글
Rest Client란? (0) | 2024.08.05 |
---|---|
ResponseEntity에 대한 설명 (0) | 2024.08.04 |
공통질문 부분 (0) | 2024.08.04 |
Spring MVC 에서 REST API 엔드포인트를 구현하기 위해 사용되는 에너테이션 (0) | 2024.08.04 |
Spring MVC 중 CSR 과 SSR 방식에 대한 설명 (0) | 2024.08.04 |