[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
에 출력한다.
장점
- 로직처리와 출력부분이 분리가 되어 있기 때문에 코드가 복잡하지 않다.
- 분업에 용이하다.
- 유지보수가 용이하다.
단점
- 구조가 복잡하고 설계시 시간이 많이 소요된다.