mvc_example.jsp를 클릭하면 제출 버튼이 있는 전자 메일 및 암호가 있는 양식을 얻을 수 있습니다. JSP 모델 2는 콘텐츠를 가져오고 조작하는 데 사용되는 논리와 콘텐츠 표시를 구분하는 Java 웹 응용 프로그램의 디자인에 사용되는 복잡한 디자인 패턴입니다. 모델 2는 로직과 디스플레이의 분리를 유도하므로 일반적으로 모델-뷰-컨트롤러(MVC) 패러다임과 관련이 있습니다. MVC “모델”의 정확한 형식은 Model 2 설계에 의해 지정되지 않았지만, 많은 출판물에서는 MVC 모델 코드를 포함하는 공식화된 계층을 권장합니다. 예를 들어 Java BluePrints는 원래 EJB를 사용하여 MVC 모델을 캡슐화하는 것이 좋습니다. 이 예제에서는 JSP에서 MVC 아키텍처를 사용하는 방법을 보여 드리겠습니다. Govind는 “Model 2” 아키텍처가 JSP에서 논리를 분리하고 서브릿에 배치했기 때문에 두 조각이 MVC 아키텍처에서 “보기”와 “컨트롤러”(각각)로 보일 수 있다고 믿었습니다. MVC 아키텍처의 “모델” 부분은 Govind에 의해 열려 있었고 거의 모든 데이터 구조가 요구 사항을 충족할 수 있다는 제안이었습니다. 이 문서에서 사용된 구체적인 예는 사용자의 세션에 저장된 벡터 목록이었습니다. 이 자습서에서는 MVC 즉 모델 뷰 컨트롤러 아키텍처에 대해 배웠으며 간단한 예제를 구현하는 방법에 중점을 두어 설명했습니다. 콜드퓨전 및 액티브 서버 페이지는 이 모델을 구현한 최신 기술의 예입니다. 믹스스트럿스의 필수유효성 검사기 규칙을 사용하는 간단한 예. 그러나 이 접근 법조차도 간단한 화면 변경으로 약간의 유연성을 제공하지만 프레젠테이션 형식 자체의 변경으로부터 보호하지는 못합니다.

예를 들어 프레젠테이션이 HTML에서 DHTML로 변경된 경우에도 래퍼 패키지가 새 형식을 준수하는지 확인해야 합니다. 최악의 경우 래퍼 패키지를 사용할 수 없는 경우 동적 콘텐츠 내에서 프레젠테이션을 하드 코딩할 수 있습니다. 그래서, 해결책은 무엇입니까? 곧 알 수 있듯이 한 가지 방법은 응용 프로그램 시스템을 구축하기 위해 JSP 및 서브릿 기술을 모두 사용하는 것입니다. 스트럿츠가 출시된 이래로 여러 가지 경쟁 프레임워크가 등장했습니다. 이러한 프레임워크의 대부분은 “모델 2” 및 “MVC”를 구현해야 한다고 주장합니다. 그 결과, 두 용어는 개발자의 마음에 동의어가되었다. 이것은 짧은 “MVC 모델 2″또는 “MVC2″라는 용어의 사용으로 이어졌습니다. 위의 그림에서 볼 수 있듯이 model1 아키텍처의 흐름을 보여주는 그림이 있습니다. 여기에서 Cart.jsp는 MVC 아키텍처의 모델을 구성하는 세션 기반 장바구니의 프레젠테이션을 처리합니다. Cart.jsp의 시작 부분에서 스크립틀릿 관찰: 모델은 응용 프로그램의 비즈니스 계층을 정의하고, 컨트롤러는 응용 프로그램의 흐름을 관리하며, View는 응용 프로그램의 프레젠테이션 계층을 정의합니다. 화면에 이메일과 암호를 입력하고 제출을 클릭하면 세부 정보가 TestBean에 저장되고 TestBean에서 성공 메시지를 얻기 위해 다음 화면에서 가져온 세부 정보가 저장됩니다.