Model-View-Controller (MVC)
Model
애플리케이션의 데이터와 비즈니스 로직을 나타냅니다. 데이터를 검색하거나 수정하고, 데이터의 유효성 검사 및 가공을 수행하는 역할
View
사용자에게 데이터를 표시하고 사용자 입력을 받는 부분입니다. 주로 웹 페이지, 화면 또는 사용자 인터페이스를 의미
Controller
사용자의 요청을 받아 해당 요청을 처리하고, Model과 View 간의 상호 작용을 관리
클라이언트의 요청을 받아서 어떤 Model을 사용할 것인지 결정하고, 그 Model을 View에 전달함
Spring MVC의 주요 구성 요소
DispatcherServlet
Spring MVC의 핵심 컴포넌트로, 클라이언트 요청을 받고 요청을 처리하기 위한 Controller를 찾아서 실행한다.
DispatcherServlet은 웹 애플리케이션의 진입점 역할을 한다.
Controller
사용자 요청을 처리하고 Model을 수정하거나 검색한 후, 적절한 View를 반환하는 역할을 합니다. Controller는 일반적으로 사용자의 액션 또는 요청 경로에 따라 매핑된다.
View Resolver
View를 결정하고 반환하는 역할을 합니다. View Resolver는 뷰의 논리 이름을 실제 View 객체로 매핑하여 클라이언트에게 표시할 내용을 결정한다.
Model
데이터 및 비즈니스 로직을 나타내는 객체입니다. Controller는 Model을 조작하고 View에 전달하여 클라이언트에 데이터를 표시한다.
View
사용자에게 데이터를 표시하는 부분입니다. 보통 JSP, Thymeleaf, FreeMarker와 같은 템플릿 엔진을 사용하여 동적 웹 페이지를 생성한다.
Spring MVC 동작 과정
- 클라이언트(브라우저)가 URL을 요청하면 DispatcherServlet이 요청을 수신합니다.
- DispatcherServlet은 요청을 분석하고, 어떤 Controller가 해당 요청을 처리할지 결정합니다.
- 선택된 Controller는 요청을 처리하고 Model을 업데이트합니다.
- Controller는 어떤 View를 사용할지 결정하고, Model과 함께 View에 전달합니다.
- View는 Model의 데이터를 사용하여 HTML 또는 다른 형식의 응답을 생성하고 클라이언트에 반환합니다.
'TIL(Today I Learned)' 카테고리의 다른 글
| [TIL] 3 Layer Architecture (0) | 2023.11.08 |
|---|---|
| [TIL] 데이터 베이스 (0) | 2023.11.07 |
| [TIL] @Controller (0) | 2023.11.04 |
| [TIL] Spring의 Controller (0) | 2023.11.03 |
| [TIL] Spring MVC (0) | 2023.11.02 |