///////
Search
🧩

MVC 1, 2 개념에 대해서 설명해 주세요.

MVC 구성요소

M (Model)
Model은 내부 비즈니스 로직에 해당
백그라운드 로직으로써 처리되는 알고리즘, 데이터, DB와의 상호작용 등등을 담당.
V (View)
View는 사용자 인터페이스(UI)를 의미
요청에 대한 처리결과를 View를 통해 클라이언트에게 화면을 통해 보여준다.
C (Controller)
Controller는 Model과 View사이에서 중계자 역할을 수행
클라이언트의 요청을 처리하고 흐름제어를 담당.
JSP 파일 내에서 뷰와 컨트롤러가 모두 실행되어지는 구조
JSP 페이지에  로직을 처리하기 위한 코드와 출력을 담당하는 코드가 함께 존재
JSP 페이지 안에서 모든 정보를 표현(view)하고 저장(model)하고 처리(control)되므로 재사용이 힘들고, 읽기도 힘들어 가독성이 떨어진다.
모든 클라이언트 요청과 응답을 JSP가 담당하는 구조
장점
단순한 구조로 인해 개발 기간이 짧다.
난이도가 낮다.
단점
복잡도가 높아질수록 기능이 섞인 코드때문에 유지보수가 어렵다.
디자이너와 개발자 간 의사소통이 필요
MVC1 구조와 달리 웹 브라우저의 요청을 하나의 서블릿이 받게 됨
서블릿은 웹 브라우저의 요청을 알맞게 처리한 후 그 결과를 JSP 페이지로 포워딩
클라이언트의 요청처리와 응답처리, 비지니스 로직 처리하는 부분을 모듈화시킨 구조
장점
컨트롤러와 뷰의 분리로 인해 유지보수와 확장이 편리하다.
디자이너와 개발자의 작업이 분리되어 분업에 용이하다.
단점
개발 초기 단계에 구조 설계에 비교적 많은 작업량과 시간이 필요하다.
자바와 구조에 대한 깊은 이해도가 필요하기 때문에 높은 수준을 요한다.