Model 1
: mvc를 한 페이지에 구현
model : 출력할 데이터
controller : 데이터를 만들어내는 과정, 그런 과정을 담고있는 입력과 제어를 담당
view : 그것을 가져다쓰는 부분 출력
mvc : 자바코드(입력코드)와 출력코드를 최대한 분리
특징 : 업무로직을 구현할 때 유지보수가 쉬우며 출력담당하는 사람또한 java코드가 없어서 쉽게 화면을 구성할 수 있다.
Model2
java코드 부분을 jsp에서 아예 분리 -> 서블릿에 올린다.
view단은 사용자 요청이 있을 때만 servlet으로 만들어지기 때문에 서블릿으로 만들어야 할 양이 줄고 실행속도 개선, 따로 유지보수가 가능하다.
dispatcher를 하나만 두고, controller를 따로 만들어 (실질적으로 servlet은 하나만 만들고 일반 업무로직은 POJO 클래스 형태로 만들어서) 사용자 요청이 들어오면 Dispatcher -> controller로 가도록 한다.
forward를 통해 현재 작업했던 내용들을 request, response에 담고 전달한다.
이어갈 때는 forward, 새로 요청할 때는 redirect를 한다.
result를 사용해야하는데 그 때 사용되는 저장소는 request.
request : forward 관계에서 사용하는 저장소