상세 컨텐츠

본문 제목

[자바 CS지식] MVC1과 MVC2의 차이

JAVA

by 소란한소란 2024. 2. 12. 16:23

본문

728x90

MVC1(Model View Controller 1)

MVC1은 초기의 웹 애플리케이션 아키텍처 중 하나로, 간단한 구조를 가지고 있습니다.

 

MVC1 아키텍처 구조

 

하나의 서블릿(Servlet)과 JSP 페이지 사용: 클라이언트의 요청이 하나의 서블릿에서 처리되며, 이 서블릿은 비즈니스 로직과 프레젠테이션 로직을 함께 처리합니다. JSP 페이지는 HTML 코드와 Java 코드를 함께 가지며, 클라이언트에게 전송됩니다.

 

모델, 뷰, 컨트롤러 결합: 비즈니스 로직, 프레젠테이션 로직, 컨트롤러 역할이 하나의 서블릿과 JSP 페이지에 모두 결합되어 있습니다. 이는 유지보수가 어렵고 확장성이 떨어진다는 단점을 가지고 있습니다.

 


 

MVC2(Model View Controller 2)

MVC2는 보다 모듈화된 구조를 가지며, 클라이언트의 요청을 처리하는데 있어서 역할이 명확하게 나뉩니다.

 

MVC2 아키텍처 구조

 

컨트롤러 분리: MVC2에서는 하나의 서블릿이나 JSP 페이지가 아닌, 별도의 컨트롤러(Controller) 역할을 하는 서블릿이나 클래스가 존재합니다. 이 컨트롤러가 클라이언트의 요청을 받아 적절한 비즈니스 로직을 호출하고, 그 결과를 모델에 담아서 뷰로 전달합니다.

 

모델과 뷰 분리: 비즈니스 로직을 처리하는 모델(Model)과 클라이언트에게 결과를 표시하는 뷰(View)가 분리되어 있습니다. 이로써 각각의 역할이 명확하게 구분되어 코드의 유지보수와 확장성이 향상됩니다.

 

JSP 페이지의 단순화: JSP 페이지는 주로 화면 표시와 관련된 역할만을 수행하게 되며, Java 코드의 최소화된 형태를 가지게 됩니다. 이로써 코드의 가독성이 향상되고, 프론트엔드와 백엔드의 역할이 분리됩니다.

 


 

MVC2는 코드의 모듈화와 각 역할의 분리로 유지보수성이 향상되었으며, 자바 웹 애플리케이션에서 널리 사용되고 있는 아키텍처 중 하나입니다. 주로 프레임워크들이 MVC2 패턴을 기반으로 개발되어 있습니다.

 

 

 

728x90

관련글 더보기