MVC 아키텍처
- MVC 란?
Model, View, Controller의 약자.
소프트웨어 디자인 패턴의 하나로,
하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴입니다.
MVC 각 컴포넌트의 역할 <Who, When, What>
- Controller
- 일종의 조정자
- Client의 요청을 받았을 때, 그 요청에 대해 실제 업무를 수행하는 Model 컴포넌트를 호출한다
- Client가 보낸 데이터가 있다면, Model에 전달하기 쉽게 데이터를 가공한다
- Model이 업무를 마치면 그 결과를 View에게 전달한다
- Model
- Controller가 호출할 때 요청에 맞는 역할 수행
- 비즈니스 로직을 구현하는 영역으로, 응용프로그램에서 데이터를 처리하는 부분이다
- 비즈니스 로직: 업무에 필요한 데이터 처리를 수행하는 응용프로그램의 일부
- DB에 연결하고 데이터를 추출하거나 저장, 삭제, 업데이트, 변환 등의 작업을 수행한다.
- 상태의 변화가 있을 때, Controller와 View에 통보해 후속 조치 명령을 받을 수 있게 한다.
- View
- Controller로부터 받은 모델의 결과값을 가지고 사용자에게 출력할 화면을 만든다
- 만들어진 화면을 웹 브라우저에 전송하여 웹 브라우저가 출력하게 하는 것
- 화면에 표시된 부분으로 추출한 데이터나 일반적인 텍스트 데이터를 표시하거나
- 입력폼 또는 사용자와의 상호작용을 위한 인터페이스를 표시하는 영역
MVC 구동 원리 <How>

- C/S (Client- Server) 구조로 요청하고 그에 맞는 응답을 하는 구조를 기본으로 한다
- Web Browser가 Web Server에 Web Application 실행을 요청한다. (MVC 구조가 WAS)
- Web Server는 들어온 요청을 처리할 수 있는 Servlet을 찾아서 요청을 전달한다. (매칭)
- Servlet은 Model 자바 객체의 메서드를 호출한다
- 데이터를 가공하여(DTO) 값 객체(VO)를 생성하거나, JDBC를 사용하여 database와의 인터랙션을 통해 값 객체 생성한다.
- 업무 수행을 마친 결과값을 Controller에게 반환한다.
- Controller는 Model로부터 받은 결과값을 View에게 전달한다.
- JSP는 전달받은 값을 참조하여 출력할 결과 화면을 만들고 Controller에 전달한다.
- View로부터 받은 화면을 Web Server에 전달한다.
- Web Browser는 Web Server로부터 요청한 결과값을 응답받으면 그 값을 화면에 출력한다.
참고 링크
https://velog.io/@mgm-dev/MVC%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
https://asfirstalways.tistory.com/180
'IT > CS 공부' 카테고리의 다른 글
| [CS] 트리 (0) | 2022.06.11 |
|---|---|
| [CS] 해시테이블 (0) | 2022.05.01 |
| [CS] Servlet (0) | 2022.04.01 |
| [CS] REST API (0) | 2022.03.08 |
| [기술 면접 대비] Spring Framework (0) | 2022.03.08 |