10. Spring MVC 구조
Spring MVC는 Java 기반의 웹 애플리케이션 개발을 위한 프레임워크로, Spring 프레임워크의 일부분입니다. MVC 패턴을 기반으로 한 웹 애플리케이션을 구축하는 데 필요한 여러 구성 요소와 기능을 제공합니다. Spring MVC는 모델-뷰-컨트롤러(MVC) 아키텍처를 따르며, 이를 통해 애플리케이션의 각 부분을 분리하여 개발, 유지보수 및 확장을 용이하게 합니다.
🔎pageMVC(Model View Control)패턴이란1. Controller (컨트롤러)
컨트롤러는 클라이언트의 요청을 처리하고 응답을 생성하는 부분입니다. Spring MVC에서 컨트롤러는 @Controller
어노테이션으로 표시되며, 특정 URL에 대한 요청을 처리하는 메서드들로 이루어져 있습니다. 이 메서드들은 비즈니스 로직을 수행하고, 모델을 업데이트하며, 뷰에 데이터를 전달합니다.
1) DispatcherServlet
Spring MVC 애플리케이션의 모든 요청과 응답을 중앙에서 관리하는 핵심 컨트롤러입니다. 클라이언트의 요청을 받아 적절한 핸들러(컨트롤러)로 라우팅하고, 그 결과를 뷰에 전달하여 클라이언트에 응답합니다.
🔎pageDispatcherServlet2) Handler Mapping
핸들러 매핑은 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지 결정합니다. 즉, 어떤 요청이 어떤 컨트롤러에게 라우팅될지를 정의합니다.
🔎pageHandler Mapping2. Model (모델)
모델은 애플리케이션의 데이터와 비즈니스 로직을 나타냅니다. 모델은 POJO(Plain Old Java Object)로 표현되며, 컨트롤러에 의해 업데이트되고 뷰에 데이터를 전달하는 역할을 합니다.
3. View (뷰)
뷰는 사용자에게 정보를 표시하는 부분입니다. Spring MVC에서 뷰는 주로 JSP, Thymeleaf, Freemarker 등의 템플릿 엔진을 사용하여 생성됩니다. 뷰는 모델로부터 전달받은 데이터를 사용자에게 보여주는 역할을 합니다.
Spring MVC의 동작 과정
사용자 요청 수신: DispatcherServlet은 클라이언트의 모든 요청을 받아들입니다.
핸들러 매핑: DispatcherServlet은 요청 URL을 어떤 컨트롤러가 처리할지 결정하기 위해 핸들러 매핑에 의해 적절한 컨트롤러를 찾습니다.
컨트롤러 실행: 찾은 컨트롤러의 메서드가 실행되고, 필요한 비즈니스 로직을 수행하며 모델을 업데이트합니다.
뷰 결정: 컨트롤러는 데이터를 포함한 모델 객체를 생성하고, 이를 특정 뷰로 전달합니다.
뷰 렌더링: 뷰는 모델에서 전달받은 데이터를 사용하여 최종적인 HTML을 생성합니다.
응답 전송: DispatcherServlet은 생성된 HTML을 클라이언트에게 응답으로 전송합니다.
이러한 구조는 각 부분의 역할을 분리시켜 유지보수가 쉽고 확장 가능한 애플리케이션을 개발할 수 있도록 돕습니다.
Last updated