[스프링] 스프링 MVC의 구조
스프링은 자바 기반의 엔터프라이즈 애플리케이션을 개발하기 위한 프레임워크로, 스프링 MVC는 이 프레임워크의 한 부분이다. 스프링 MVC는 Model-View-Controller (MVC) 아키텍처를 따르며, HTTP 요청에 기반한 웹 애플리케이션을 개발할 때 사용된다.
MVC 아키텍처
MVC 아키텍처는 세 가지 주요 부분으로 구성되어있다.
-
Model: 애플리케이션의 상태와 데이터를 나타내는 부분이다. 스프링 MVC에서는 Java 오브젝트 또는 POJO(Plain Old Java Object)로 표현된다.
-
View: 사용자에게 보여지는 부분으로, 클라이언트의 요청에 대한 응답으로 표시된다. HTML, JSP, Thymeleaf 등의 템플릿 엔진을 사용하여 작성된다.
-
Controller: 사용자의 입력에 반응하여 모델의 상태를 업데이트하고 뷰를 업데이트하는 부분이다. 클라이언트로부터의 HTTP 요청을 처리하고 적절한 응답을 생성하는 역할을 한다.
스프링 MVC의 구조
스프링 MVC의 구조는 다음과 같이 요약할 수 있다.
- DispatcherServlet: 모든 HTTP 요청을 받는 입구로, 요청을 처리하기 위해 컨트롤러를 호출한다.
- HandlerMapping: 클라이언트의 요청 URL에 대응하는 컨트롤러를 찾는 역할을 한다.
- Controller: 클라이언트 요청을 처리하고, 그에 따른 처리 결과를 다시 DispatcherServlet에 반환한다.
- ModelAndView: 컨트롤러가 처리 결과 및 뷰 페이지 정보를 DispatcherServlet에 반환한다.
- ViewResolver: 뷰 이름을 통해 실제 뷰를 결정하고 렌더링한다.
- View: 사용자에게 보여지는 부분을 생성한다.
스프링 MVC는 이러한 구조를 따라 클라이언트의 요청을 받아 처리하는데, 이를 통해 개발자는 비즈니스 로직과 사용자 인터페이스를 분리하여 유지보수성을 높일 수 있다.
만약 더 자세한 정보가 필요하시다면, 다음 문서를 참고해주세요:
Spring MVC - Framework Documentation