MVC란 ?
MVC는 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나이다.
MVC는 애플리케이션의 개발 영역을 Model, View, Controller로 구분하여 각 역할에 맞게
분리하여 개발하는 방식입니다.
Model
Spring MVC 기반의 웹 애플리케이션이 클라이언트의 요청을 전달받으면
요청 사항을 처리하기 위한 작업을한다. 처리한 작업의 결과를 클라이언트에게 돌려주어야 할 때,
클라이언트에게 응답으로 돌려주는 작업의 처리 결과 데이터를 Model이라고 한다.
View
View는 Model을 이용하여 웹 브라우저와 같은 애플리케이션의 화면에 보이는 리소스를 제공하는 역할을한다.
Controller
Controller은 Model과 View 사이의 상호작용을 조정하고 제어한다.
클라이언트의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트한다.
Spring MVC
Spring Web Mvc는 Servlet API를 기반으로 구축된 독창적인 웹 프레임워크이다.
Spring Mvc는 클라이언트의 요청을 편리하게 해주는 기능을 제공한다.
Servlet(서블릿)
Servlet은 자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램 혹은 그 사양을 말합니다.
Spring MVC 내부에서는 Servlet을 기반으로 웹 애플리케이션을 동작하며, 스프링 부트는 기본적으로
아파치 톰캣이 내장되어있다.
Spring MVC 실행 순서
- DispatcherServlet이 요청을 수신
- DispatcherServlet은 HandlerMapping을 통해 Controller을 찾아 요청을 전달
- Controller는 해당 요청의 처리를 완료 후 데이터(Model)와 'View' 정보를 전달
- ViewResolver을 통해 View에 Model을 적용하여 클라이언트에게 응답으로 전달
Spring MVC 구성요소
DispatcherServlet
모든 클라이언트의 요청을 전달받으며, Controller에게 클라이언트의 요청을 전달하고 Controller이 리턴한 결과값을 View에게 전달하여 알맞은 응답을 생성
HandlerMapping
클라이언트의 요청 URL을 어떤 Controller이 처리할지 결정URL과 요청 정보를 기준으로 어떤 핸들러 객체를 사용할지 결정하는 객체이며,DispatcherServlet은 하나 이상의 핸들러 매칭을 가질 수 없다
Controller
클라이언트의 요청을 처리한 뒤 Model을 호출하고 그 결과는 DispatcherServlet에 리턴
ModelAndView
Controller이 처리한 데이터 및 화면에 대한 정보를 보유한 객체
ViewResolver
Controller이 리턴한 뷰 이름을 기반으로 Controller의 처리 결과를 보여줄 View를 결정
View
Controller의 처리 결과를 보여줄 응답화면을 생성
'TIL' 카테고리의 다른 글
ResponseEntity (0) | 2024.10.04 |
---|---|
Spring - 일정관리 앱 만들기 (0) | 2024.10.04 |
Lombok (0) | 2024.09.27 |
Request와 Response (0) | 2024.09.27 |
Database - DBMS, SQL (1) | 2024.09.26 |