MVC 1은 초기 웹 애플리케이션 개발에 사용되었던 모델입니다.
- 웹 애플리케이션의 구조를 JSP (JavaServer Pages)와 서블릿으로 구현합니다.
- JSP는 뷰(View) 역할을 수행하고, 서블릿은 컨트롤러(Controller) 역할을 수행합니다. 비즈니스 로직은 주로 서블릿 내에서 처리되며, JSP에서는 주로 데이터 표현과 UI 로직이 처리됩니다.
- JSP와 서블릿 간의 직접적인 의존성이 존재하며, 개발자는 모든 로직을 직접 처리해야 합니다.
- 코드의 유지보수가 어려울 수 있으며, 뷰와 비즈니스 로직의 강한 결합으로 인해 유연성이 떨어질 수 있습니다.
MVC 2:
- MVC 2는 웹 애플리케이션 개발을 위한 전통적인 MVC 패턴을 기반으로 한 발전된 모델입니다.
- 주로 Java EE (Enterprise Edition) 기반의 프레임워크에서 사용됩니다.
- 컨트롤러 역할을 수행하는 서블릿은 비즈니스 로직의 처리를 담당하고, 뷰는 JSP로 구현됩니다.
- 서블릿과 JSP 사이에 컨트롤러를 추가하여 뷰와 비즈니스 로직을 분리합니다. 이를 통해 뷰와 비즈니스 로직 간의 결합도를 낮추고 유연성을 향상시킵니다.
- 일반적으로 컨트롤러는 요청을 처리하고 필요한 데이터를 모델(Model)에 담아 뷰로 전달합니다.
- JSP에서는 주로 데이터 표현과 UI 로직을 처리합니다.
- MVC 1에 비해 코드의 구조와 유지보수성이 향상됩니다.
요약적으로, MVC 1은 초기 웹 애플리케이션 개발을 위해 사용되던 모델로서 JSP와 서블릿을 직접 사용하여 구현합니다. 반면, MVC 2는 전통적인 MVC 패턴을 확장한 모델로서 컨트롤러를 추가하여 뷰와 비즈니스 로직을 분리합니다. 이를 통해 코드의 구조와 유지보수성을 향상시킵니다.