MVC란
- MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다.
- 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있다.
- 이러한 "관심사 분리" 는 더나은 업무의 분리와 향상된 관리를 제공합니다.
- MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM (모델-뷰-뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버)가 있습니다.
모델 : 데이터와 비즈니스 로직을 관리합니다.
뷰 : 레이아웃과 화면을 처리합니다.
컨트롤러 : 모델과 뷰로 명령을 전달합니다.

MVC1 VS MVC2
- MVC패턴은 크게 MVC1 패턴과 MVC2 패턴으로 나눌 수 있다.
MVC 1

- View와 Conroller를 모두 JSP가 담당하는 형태를 가진다.
- 즉 하나의 JSP(서블릿)으로 유저의 요청을 받고 응답을 처리할 수 있다.
- JSP 하나에서 MVC 가 모두 이뤄지므로 유지보수가 어려워진다.
MVC 2

- MVC2 패턴의 컨트롤러는 서블릿이 담당하며, JSP는 View가 담당한다.
Spring MVC

- Spring MVC는 MVC2에서 영향을 받아 더 발전하게 되었다.
- 사용자의 모든 요청은 Front-Controller인 DispatcherServlet을 통해서 처리한다.