Spring의 모듈 중에는 웹 계층을 담당하는 몇가지 모듈이 있다.
특히 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈을 spring-webmvc
이다.
개발자들 사이에서는 Spring Web MVC를 줄여서 Spring MVC라고 부르고 있고, Spring MVC가 웹 프레임워크의 한 종류이기 때문에 Spring MVC 프레임워크라고 부르기도 한다.
요약
- Spring MVC는 클라이언트의 요청을 편리하게 처리해주는 프레임워크이다.
- 우리가 만들게 될 샘플 애플리케이션은 Spring MVC가 제공해주는 기능을 이용해서 만든다.
Model은 Spring MVC에서 M에 해당된다.
처리한 작업의 결과 데이터를 클라이언트에게 응답으로 돌려주는 작업의 처리 결과 데이터를 Model이라고 한다.
View은 Spring MVC에서 V에 해당된다.
Model 데이터를 이용해서 웹브라우저 같은 클라이언트 애플리케이션의 화면에 보여지는 리소스(Resource)를 제공하는 역할을 한다.
Controller은 Spring MVC에서 C에 해당된다.
클라이언트 측의 요청을 직접적으로 전달 받는 엔드포인트(Endpoint)로써 Model과 View의 중간에서 상호작용을 해주는 역할은 한다.
클라이언트 측의 요청을 전달받아 비즈니스 로직을 거친 후에 Model 데이터가 만들어지면, 이 Model 데이터를 View로 전달하는 역할을 한다.
Spring의 모듈 중에서 서블릿(Servlet) API 기반으로 클라이언트의 요청을 처리하는 모듈이 바로 spring-webmvc
이다.
spring-webmvc 모듈이 Spring MVC이다.
Spring MVC는 웹 프레임워크의 한 종류이기 때문에 Spring MVC 프레임워크라고도 부른다.
Spring MVC에서 M은 Model을 의미한다.
Spring MVC에서 V는 View를 의미한다.
Spring MVC에서 C는 Controller를 의미한다.
Spring MVC에서 MVC의 전체적인 동작 흐름은 다음과 같다.