MVC(Model/View/Controller) 패턴은 해외에서 많이 사용되는 디자인 패턴으로 스몰토크에서 처음 등장한 것으로 보인다. MVC에는 세 가지 유형의 개체가 포함되어 있습니다. Model은 애플리케이션 객체이고, View는 화면에 표현되며, Controller는 사용자 인터페이스가 사용자 입력에 응답하는 방식을 정의합니다.
MVC(Model-View-Controller)는 1980년대 Smalltalk-80에 등장하여 현재 널리 사용되고 있는 소프트웨어 디자인 패턴입니다.
1. 모델
모델은 애플리케이션의 주요 부분입니다. 모델은 비즈니스 데이터 또는 비즈니스 로직을 나타냅니다.
2. 보기
보기는 애플리케이션의 사용자 인터페이스 관련 부분으로, 사용자가 보고 상호 작용하는 인터페이스입니다. .
3. 컨트롤러(controller)
컨트롤러의 임무는 사용자 인터페이스 데이터 표시를 제어하고 사용자 입력에 따라 모델 객체 상태를 업데이트하는 것입니다.
MVC의 출현은 기능 모듈과 디스플레이 모듈의 분리를 실현할 뿐만 아니라 응용 시스템 구성 요소의 유지 관리성, 확장성, 이식성 및 재사용성을 향상시킵니다.
p>
초기 프로그램에서는 로그 함수와 표시의 분리에 주의를 기울이지 않으면 프로그램이 복잡해지고 유지 관리가 어려워지는 경우가 많습니다. 많은 VB, Delphi 및 기타 RAD 프로그램에서 이 문제가 발생합니다. 오늘날의 C#과 Java에서도 디스플레이 모듈에 비즈니스 로직을 작성하는 경우가 있습니다
MVC 디자인 패턴이 오랫동안 제안되었지만 웹 프로젝트 개발에 MVC를 도입하는 것은 어렵습니다. 주요 이유: 첫째, 초기 웹 프로젝트 개발에서는 프로그래밍 언어와 HTML의 분리가 어려웠습니다. CGI 프로그램은 문자열 출력 형식으로 HTML 콘텐츠를 동적으로 생성합니다. 이후 스크립팅 언어가 등장하면서 기존 방식을 뒤집어 스크립팅 언어로 작성된 프로그램을 HTML 콘텐츠에 삽입하는 방식으로 바뀌었다. 이 두 가지 방법에는 동일한 단점이 있습니다. 프로그래밍 언어와 HTML을 분리하지 못한다는 점입니다. 둘째, 스크립팅 언어의 기능은 상대적으로 약하고 MVC 디자인 패턴을 지원하는 데 필요한 기술 기반이 부족합니다. J2EE를 기반으로 한 JSP 모델 2가 등장하고 나서야 상황이 바뀌었습니다. JSP 기술을 사용하여 뷰의 기능을 구현하고, Servlet 기술을 사용하여 컨트롤러의 기능을 구현하고, JavaBean 기술을 사용하여 모델의 기능을 구현합니다.
JSP Model 1 및 JSP Model 2
p>
SUN이 JSP에 나타납니다. Model1과 Model2라는 두 가지 사양이 초기에 개발되었습니다. Model2는 MVC를 어느 정도 구현했지만 적용이 만족스럽지 않습니다.
JSP Model 1
JSP Model 2
model2는 사용하기 쉽습니다. Controller가 여러 개 있습니다.
일부 사람들은 model2가 충분하지 않다고 느꼈기 때문에 Craig R. McClanahan은 2000년 5월에 Java 커뮤니티에 WEB 프레임워크를 제출했습니다. 나중에 Struts가 발생했습니다.
2001년 7월 Struts1.0이 공식적으로 출시되었습니다. 이 프로젝트는 Apache Jakarta의 하위 프로젝트 중 하나이기도 합니다.
Struts는 본질적으로 Model2를 기반으로 구현된 MVC 아키텍처입니다. 여기에는 XML을 사용하여 리디렉션된 URL을 사용자 정의하는 중앙 컨트롤러가 하나만 있습니다. 액션을 사용하여 로직 처리