1) MVC 패턴1은 JSP 안에서 데이터를 처리하는 controller, controller에서 view로 데이터를 전달하기 위한 중간 역할의 model, 화면에 보여주는 view가 공존한다. 사용자의 요청을 받은 servlet은 JSP로 그 요청의 데이터를 전달만해주고 JSP MVC가 모두 포함되는 형태이다.
2) MVC 패턴1을 조금 더 기능을 분리시켜 기존 JSP 안에서 데이터를 처리하던 controller를 servlet으로 옮기고 request에 controller로 처리한 데이터인 model을 setAttribute를 통해 담아놓고 JSP에 forwarding해준다. 그러면 JSP에서 request란 공간안에 담긴 model을 getAttribute를 통해 가져와 화면(view)에 출력한다.
3) MVC 패턴2는 이를 더 분리시켜 servlet은 요청은 받되, 처리는 Service 메소드로 보낸다.(요청된 값을 처리하고 계산) 그리고 Service에선 요청된 값을 처리하지만 이에 필요한 데이터를 가져오는 일, 데이터베이스에 접근하는 것은 dao(data access object)로 보낸다. 아래와 같이 MVC를 구성하고 Query String을 통해 id와 pwd값을 보낼 때 순차적으로 처리되는 것을 확인할 수 있다.