jsp로 구현한 방식이 모델1 방식임. 이는 데이터베이스 연동 같은 비즈니스 로직 작업과 그 작업 결과를 나타내주는 작업을 동일한 jsp에서 수행함. 즉, 모든 클라이언트의 요청과 비즈니스 로직 처리를 jsp가 담당하는 구조임.
모델1 방식은 기능 구현이 쉽고 편리하다라는 장점이 있는 반면에 요즘처럼 웹 사이트 화면 기능이 복잡해지면 화면 기능과 비즈니스 로직 기능이 섞이면서 유지보수에 문제가 생김.
예를 들어 의류 쇼핑몰을 모델1 방식으로 구현해 운영하고 있다고 치면, 계절이 가을에서 겨울로 바뀌면 화면에 나타낼 의류 상품의 이미지도 바꿔줘야 함.
디자이너가 이 작업을 하려면 jsp에 개발자가 관계되는 비즈니스 로직 기능도 알아야 하므로 작업하기가 쉽지 않을 뿐 아니라 비즈니스 로직과 화면 기능이 섞여 코드 재사용성도 떨어짐.
이렇듯 모델1 방식으로 웹 애플리케시연을 구현할 경우 조그만 기능이 복잡해져도 유지보수가 어렵다는 단점이 있음. 모델1 방식의 이러한 단점을 보완한 것이 바로 모델2 방식임.
모델2 방식의 핵심은 웹 애플리케이션의 각 기능(클라이언트 요청 처리, 응답 처리, 비즈니스, 로직 처리)을 분리해서 구현하자는 것. 객체 지향 프로그래밍에서 각각의 기능을 모듈화해서 개발하자는 것과 같은 원리임.
모델2 방식의 특징