Spring MVC 아키텍처

김예인·2023년 6월 11일

백엔드 공부일지

목록 보기
35/43
post-thumbnail

Spring MVC

Spring의 모듈 중 웹 계층을 담당하며, 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 Spring Web MVC 프레임워크

서블릿(Servlet) :

클라이언트의 요청을 처리하도록 특정 규약에 맞추어서 Java 코드로 작성하는 클래스 파일

아파치 톰캣(Apache Tomcat) :

서블릿들이 웹 애플리케이션으로 실행이 되도록 해주는 서블릿 컨테이너(Servlet Container) 중 하나


Model

웹 애플리케이션이 클라이언트의 요청을 전달받고 요청 사항을 처리하기 위한 작업 후 클라이언트에게 응답으로 돌려주는 작업의 처리 결과 데이터

서비스 계층(Service Layer) :

클라이언트의 요청 사항을 구체적으로 처리하는 영역

비즈니스 로직(Business Logic) :

실제로 요청 사항을 처리하기 위해 JAVA 코드로 구현한 것


View

Model 데이터를 이용해서 웹브라우저 같은 클라이언트 애플리케이션의 화면에 보이는 리소스(Resource)를 제공하는 역할

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

JSON(JavaScript Object Notation) :

Spring MVC에서 클라이언트 애플리케이션과 서버 애플리케이션이 주고받는 데이터 형식으로 기본 포맷은 {”속성”:”값”} 형태


Controller

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

엔드포인트(Endpoidnt) :

웹 애플리케이션 또는 API에서 클라이언트가 요청을 전달하는 특정 URL 주소


Spring MVC 의 동작 방식과 구성 요소

Front Controller Pattern

DispatcherServlet이 애플리케이션의 가장 앞단에 배치되어 다른 구성요소들과 상호작용하면서 클라이언트의 요청을 처리하는 패턴

profile
백엔드 개발자 김예인입니다.

0개의 댓글