부트캠프 기록/Section3

[Spring MVC] Spring MVC 아키텍처

bbangduck 2022. 10. 22. 18:58

학습 목표

  • Spring MVC가 무엇인지 알 수 있다.
  • Spring MVC 동작 방식과 구성요소를 이해할 수 있다.

 

Spring MVC란?

  • Spring 모듈 중 웹 계층을 담당하는 몇가지 모듈이 있는데, 그 중 서블릿 API를 기반으로 클라이언트의 요청을 처리하는 모듈
  • Spring 웹프레임워크 
    • 서블릿이란?
      • 클라이언트의 요청을 처리하도록 특정 규약에 맞춰서 Java 코드로 작성하는 클래스 파일
      • 아파치 톰캣은 이러한 서블릿들이 웹 애플리케이션으로 실행이 되도록 해주는 서블릿 컨테이너 중 하나

- Model

  • 클라이언트 요청의 응답으로 돌려주는 작업의 처리 결과 데이터
  • 서비스 계층
  • 비즈니스 로직

 

- View

  • Model 데이터를 이용해서 웹브라우저 같은 클라이언트 애플리케이션의 화면에 보여지는 리소스를 제공하는 역할
  • HTML 페이지 출력
  • PDF, Excel 등의 문서 형태로 출력
  • XML, JSON 등 특정 형식의 포맷으로의 변환

 

- Controller

  • 클라이언트 측의 요청을 직접적으로 전달 받는 엔드포인트로써 Model과 View의 중간에서 상호 작용을 해주는 역할

 

 

- Spring MVC 전체적인 동작 흐름

  • Client가 요청 데이터 전송 → Controller가 요청 데이터 수신 → 비즈니스 로직 처리 → Model 데이터 생성 → Controller에게 Model 데이터 전달 → Controller가 View에게 Model 데이터 전달 → View가 응답 데이터 생성

 

 

Spring MVC 동작 방식과 구성요소(Front Controller Pattern)

 

 

📚심화학습

  • Dispatcher Servlet의 동작 원리
 

DispatcherServlet and web.xml in Spring Boot | Baeldung

Learn how to migrate code from a web.xml file to DispatcherServlet in a Spring Boot application.

www.baeldung.com