MVC 패턴이란?
Model, View, Controller 3가지 요소로 이루어진 소프트웨어 디자인 패턴을 MVC 패턴이라고 합니다
- Model : 애플리케이션의 데이터와 비즈니스 로직을 담당합니다. DB, 파일, 외부 API 등과의 상호작용을 처리하고, 데이터의 유효성 검사, 계산, 가공 등을 수행합니다
- View : 사용자에게 데이터를 시각적으로 표현하는 역할을 합니다. 주로 웹 페이지나 UI 컴포넌트를 말하며, 사용자 UI를 구성합니다. 모델의 데이터를 표시하고, 사용자 입력을 받아 컨트롤러에게 전달합니다
- Controller : 사용자의 요청을 처리하고, 해당 요청에 맞는 모델을 호출하거나 업데이트합니다. 뷰와 모델 사이의 중재자 역할을 수행하며, 요청을 받아 모델을 업데이트하고, 변경된 데이터를 뷰에 전달합니다
MVC 패턴은 MVC1 패턴과 MVC2 패턴으로 나눌 수 있습니다
MVC 1 패턴

View와 Controller를 모두 JSP가 담당합니다. JSP 하나로 유저의 요청을 받고 응답을 처리하므로 구현 난이도가 쉽습니다
하지만 JSP 하나에서 MVC가 모두 이러우지다보니 재사용성이 떨어지고, 가독성이 떨어집니다. 따라서 유지/보수가 어렵습니다
MVC 2 패턴

널리 표준으로 사용되는 패턴입니다. 요청을 하나의 컨트롤러(Servlet)이 먼저 받습니다.
MVC 1 패턴과 달리 Controller, View가 분리되어 있으므로 유지/보수에 이점을 가집니다