스프링(Spring Framework) 동작 순서

onebbu·2024년 8월 7일
0

Study(개념 정리)

목록 보기
5/7

Spring

자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션

MVC(Model — View — Controller)

스프링 프레임워크의 특징 중 하나

모델(Model)

어플리케이션의 데이터와 비즈니스 로직 관리

뷰(View)

사용자 인터페이스 담당

뷰는 모델로 부터 데이터를 받아 사용자에게 표시, 사용자의 입력을 받아 컨트롤러에게 전달

컨트롤러(Controller)

사용자의 입력을 처리하고, 모델과 뷰 사이에 상호작용 관리

컨트롤러는 사용자의 입력을 기반으로 모델을 조작, 그 결과를 뷰에 반영하여 적절한 응답 생성

스프링 프레임워크 동작순서

  1. 처음 클라이언트에서 요청이 오면 디스패처 서블릿이 해당 요청을 받음
  2. Handler Mapping을 통해 요청에 알맞는 컨트롤러를 찾아냄 [이미지 1~2번]
  3. 찾아낸 컨트롤러를 Handler Adapter를 통해 해당 컨트롤러의 메서드 실행 [이미지 3~4번]
  4. 컨트롤러는 요청을 처리한 뒤 처리한 결과와 해당 뷰 정보(ModelAndView)를 다시 디스패처 서블릿에게 전달 [이미지 5번]
  5. 받은 정보로 디스패처 서블릿은 View Resolver를 통해 View 파일을 찾음 [이미지 6~7번]
  6. DispatcherServlet은 View에게 Model을 전달하고 화면 표시를 요청 [이미지 8번]
  7. 서버의 응답을 클라이언트에게 반환

Dispatcher Servlet

  • 서블릿 컨테이너의 가장 앞단에서 HTTP 프로토콜로 들어오는 모든 요청을 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러
    • 프론트 컨트롤러: 서블릿 컨테이너의 제일 앞에서 서버로 들어오는 클라이언트의 모든 요청을 받아서 처리해주는 컨트롤러

장점

과거 DispatcherServlet이 등장하기 전에는 모든 서블릿에 대해 URL을 매핑하기 위해 관련 설정을 해주어야하는 번거로움 존재

→ Dispatcher Servlet 등장 이후 직접 적합한 컨트롤러로 위임해주기 때문에 위와같은 작업 필요 없어짐


Ref

https://khj93.tistory.com/entry/Spring-Spring-Framework란-기본-개념-핵심-정리

https://zzang9ha.tistory.com/441

https://medium.com/@minjeesong95/spring-framework-기본-동작-순서-및-구조-f01e80a86b9a

인프런 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

profile
기록하는 습관

0개의 댓글