모델1 구조
: 뷰와 로직을 모두 JSP 페이지 하나에서 처리하는 구조를 말합니다
JSP와 자바빈 혹은 서비스 클래스로 구성되어 있습니다.
JSP 페이지 내에 로직 처리를 위한 자바 코드가 출력을 위한 코드와 함께 섞여있습니다. 브러우저에서 요청이 들어오면 JSP 페이지는 자신이 직접 자바빈이나 따로 작성한 서비스 클래스를 이용하여 작업을 처리하고, 그 처리한 정보가 전달되어 브라우저에 나타납니다.
구조가 단순하여 익히기 쉽고, 숙련된 개발자가 아니더라도 구현이 용이합니다.
출력을 위한 뷰 코드와 로직 처리를 위한 자바 코드가 혼재되어 있기 때문에 JSP 코드 자체가 복잡해집니다. 또한 JSP 코드에서 백엔드와 프론트엔드가 함께 있기 때문에 분업에 용이하지 않습니다. 유지보수가 어렵습니다.
모델2 구조
: JSP페이지와 서블릿, 로직을 위한 클래스가 나뉘어 브러우저 요청을 처리합니다.
서블릿, JSP, 자바빈 혹은 서비스 클래스로 구성되어 있습니다.
요청이 들어오면 요청에 대한 로직 처리는 이를 처리할 Model인 서비스 클래스 혹은 자바빈이 담당하고, 요청 결과는 유저에 결과를 보여줄 View인 JSP에 출력되며, 이를 위한 흐름 제어는 Controller인 서블릿이 담당합니다.
출력을 위한 뷰 코드와 로직 처리를 위한 자바 코드를 분리했기 때문에 JSP 모델 1에 비해 코드가 복잡하지 않습니다.
View, 로직처리에 대한 분업이 용이하며, 유지보수가 용이합니다.
구조가 복잡하여 습득이 어렵고 작업량이 많습니다. Java에 대한 깊은 이해가 필요합니다