강의 chap3-4
MVC 패턴 – 개요
1. 기존의 문제점
- 너무 많은 역할(비즈니스 로직 & 뷰 렌더링)
- 변경의 라이프 사이클이 다르다
-> Ui와 비즈니스 로직의 변경 라이프 사이클은 다르다.
-> 다르게 관리하는 것이 유지보수에 좋다.
- 기능 특화
-> JSP 같은 뷰 템플릿은 렌더링 하는 데에 최적화가 되어 있다.
2. MVC
- Model View Controller

- Controller : HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 뷰에 전달할 결과 데이터를 조회해서 모델에 담아준다.
- Model : 뷰에 출력할 데이터를 담아둔다. 그래서 뷰는 데이터에 접근하는 것을 신경쓰지 않고 화면을 렌더링하는 일에 집중할 수 있다.
- View : HTML, XML 등을 생성한다.(화면 렌더링)
- Model이란 데이터 통에 데이터를 담아서 전달한다.
3. 일반적인 사용

- 일반적 사용법
- 컨트롤러는 요청이 오면 HTTP 요청이 맞는지 스펙을 확인한다. 그리고 서비스/리포지토리를 호출한다. 결과를 받는다. 그리고 모델에 데이터를 전달한다. 뷰는 모델의 데이터를 참조해 렌더링을 해준다.
- 컨트롤러에 비즈니스 로직을 두면 너무 많은 역할을 하므로 서비스라는 계층을 별도로 만들어서 처리한다.
출처
인프런 강의 - 김영한
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard