[Spring] MVC Model1 과 Model2 의 차이

최대 1 분 소요

model1 ? model2 ?

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



Model1

model1

먼저 model1 방식인데, 하나의 JSPControllerview 기능을 모두 담당한다. 즉, JSP 페이지 내에서 ControllerJava 를, ViewHTML 을 , 이벤트는 javascript 를 사용하는 방식이다.

장점

  • 페이지 흐름이 단순하고 구조가 간단하다.
  • 빠른시간안에 개발이 가능하다.

단점

  • 출력을 위한 view 코드와 비즈니스 로직 처리를 위한 자바 코드가 한 페이지에 모두 있다보니 코드가 복잡해진다.
  • 유지보수에 큰 단점이 있다.
  • JSP 페이지에 백엔드와 프론트엔드가 혼합되어 있기 때문에 분업이 용이하지 않다.





Model2

model2

model2 방식은 웹 브라우저에서 오는 요청을 Controller 인 서블릿에서 담당하며 요청에 대한 로직처리를 Model 인 서비스클래스 혹은 자바빈이 담당해서 처리하고, 요청 결과를 view 단인 JSP 에 출력한다.

장점

  • 로직처리와 출력부분이 분리가 되어 있기 때문에 코드가 복잡하지 않다.
  • 분업에 용이하다.
  • 유지보수가 용이하다.

단점

  • 구조가 복잡하고 설계시 시간이 많이 소요된다.