[Spring Framework] - Spring MVC

김수빈·2022년 6월 23일
0

Spring

목록 보기
7/8

Spring MVC

웹 프레임워크의 한 종류

  • 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈

Model

웹 애플리케이션이 클라이언트의 요청을 전달 받아 요청 사항을 처리한 결과 데이터

View

Model 데이터를 이용해서 웹브라우저 같은 화면에 보여지는 리소스를 제공
View 의 세가지 종류

  • HTML 페이지의 출력
  • PDF, Excel 등의 문서 형태로 출력
  • XML, JSON 등 특정 형식의 포맷으로의 변환

Controller

클라이언트 측의 요청을 직접적으로 전달 받는 엔드포인트
Model 데이터를 View 로 전달하는 역할


MVC 흐름도

  1. 요청 전송: 클라이언트의 요청이 DispatcherServlet 클래스에 전달됨

  2. Controller 검색: Dispatcher Servlet이 클라이언트의 요청을 처리할 Controller에 대한 검색을 HandlerMapping 인터페이스에게 요청

  3. Controller 정보 반환: Handler Mapping이 클라이언트 요청과 매핑되는 Controller 정보를 다시 DispatcherServlet에게 리턴

  4. Controller 호출 위임: 3번에서 받은 클래스에서 클라이언트 요청을 처리할 Handler 메서드를 찾기 위해 HandlerAdapter 에게 요청

  5. Controller 호출: Controller의 Handler 메서드를 호출

  6. Model Data 반환: Controller 에서 처리 된 Model 데이터를 HandlerAdapter에게 전달

  7. Model 데이터와 View 이름 반환 :전달받은 Model 데이터와 View 정보를 다시 DispatcherServlet에게 전달

  8. View 검색 요청: 전달 받은 View 정보를 다시 ViewResolver에게 전달해서 View 검색을 요청

  9. View 정보 반환: View 정보에 해당하는 View를 찾아서 View를 반환

  10. 응답 생성 요청: View Resolver 로부터 받은 View 객체를 통해 Model 데이터를 넘겨주면서 클라이언트에게 전달할 응답 데이터 생성 요청

  11. 응답 생성 후 반환: View 가 응답 데이터를 생성해서 다시 DispatcherServlet에게 전달

  12. 응답 반환: View로부터 전달 받은 응답 데이터를 DispatcherServlet이 최종적으로 클라이언트에게 전달

0개의 댓글