[Spring] MVC Model1 과 Model2 의 차이
model1 ? model2 ?
JSP 로 구성할 수 있는 웹 어플리케이션 아키텍쳐는 크게 model1 과 model2 로 나뉜다. 이 두 모델의 큰 차이 점을 간단하게 말하자면 JSP 가 결과에 대한 출력 뿐만 아니라 요청에 대한 모든 로직을 처리하냐, 출력만 담당하냐의 차이이다.
Model1

먼저 model1 방식인데, 하나의 JSP 가 Controller 와 view 기능을 모두 담당한다. 즉, JSP 페이지 내에서 Controller 는 Java 를, View 는 HTML 을 , 이벤트는 javascript 를 사용하는 방식이다.
장점
- 페이지 흐름이 단순하고 구조가 간단하다.
- 빠른시간안에 개발이 가능하다.
단점
- 출력을 위한
view코드와 비즈니스 로직 처리를 위한 자바 코드가 한 페이지에 모두 있다보니 코드가 복잡해진다. - 유지보수에 큰 단점이 있다.
JSP페이지에 백엔드와 프론트엔드가 혼합되어 있기 때문에 분업이 용이하지 않다.
Model2

model2 방식은 웹 브라우저에서 오는 요청을 Controller 인 서블릿에서 담당하며 요청에 대한 로직처리를 Model 인 서비스클래스 혹은 자바빈이 담당해서 처리하고, 요청 결과를 view 단인 JSP 에 출력한다.
장점
- 로직처리와 출력부분이 분리가 되어 있기 때문에 코드가 복잡하지 않다.
- 분업에 용이하다.
- 유지보수가 용이하다.
단점
- 구조가 복잡하고 설계시 시간이 많이 소요된다.