[Spring] MVC 모델, model1&model2란?

백준호·2022년 10월 22일
0
post-thumbnail

MVC(Model,View,Controller)

MVC패턴은 Model,View,Controller의 합성어로 소프트웨어 개발 디자인패턴의 일종이다.

  • Model은 DB와 연동되어 백그라운드에서 동작하는 로직을 처리하는 java클래스
    (POJO: 가장 기본적인 형태의 상속을 받지 않은 순수한자바)
    - Dao,Dto 등

  • View는 사용자가 보는 UI 결과 화면을 출력, 주로 jsp로 작성
    - Html, Jsp, React, Angular, Vue 등

  • Controller는 사용자의 입력처리와 흐름을 제어해 Model과 View에 전달
    - Servlet



MVC패턴에는 model1, model2방식으로 나뉜다.


model1은 view와 Controller가 같이 있는 형태로 모든 사용자의 요청을 jsp가 전부 처리한다. jsp는 자바 bean이나 서비스 클래스를 사용해 웹브라우저가 요청한 작업을 처리,출력한다.

model2는 Model,View,Controller가 모두 모듈화 되어있는 상태다. 사용자요청을 jsp에서 모두 처리하는 model1과는 달리 서블릿 (Controller)으로 요청을 받으며 View와 Model을 조율하며 처리한다.


model1

장점

  • 구조가 단순하다
  • 개발시간이 짧아 개발비용이 감소한다

단점

  • Back-End와 Front-End가 혼재되어 분업이 힘들다
  • jsp코드가 복잡해진다
  • 유지보수가 어렵다
  • 확장성이 나쁘다


model2

장점

  • 로직처리 코드가 분리되어 jsp가 간소하다
  • Back-End와 Front-End가 분리되어 분업이 쉽다
  • 기능에 따른 코드분류로 유지보수가 쉽다
  • 확장성이 좋다

단점

  • 구조가 복잡해 초기진입에 어려움이 있다
  • 개발시간이 증가해 개발비용이 증가한다
profile
남들이 다 아는 걸 모를 수는 없지!

0개의 댓글