면접에서 MVC1 <-> MVC2의 차이를 물었다.
머리를 한대 쥐어박힌 느낌이다.
왜 대답을 못하니............................
교육을 수강할 때 MVC1이랑 MVC2의 차이를 굳이 생각안하고 있었던 것같다.
사실 MVC1 안 배우고 바로 MVC2 시작한 듯?
내용보니 처음 안 사실이라서,,,,:(
다시 내 머릿속에 새기기 위해 적는 Java 정리
MVC 패턴은 디자인 패턴 중 하나로 Model, View, Controller의 앞 글자를 따서 만든 디자인 패턴이다.
백그라운드에서 동작하며, 사용자가 원하는 데이터나 정보를 제공
사용자의 요청을 화면으로 출력
사용자의 요청을 처리하고, 그 요청에 따른 전체적인 흐름을 제어
Model1은 컨트롤러와 뷰의 역할이 합쳐져 있다.
JSP가 원래는 뷰 역할을 해서 화면을 보여주는데,
Model1에서는 JSP = 뷰 + 컨트롤러
상대적으로 설계가 간단하여 개발 속도가 빠르고 작은 프로젝트에 알맞다.
Jsp에 Java 코드와 Html, css 등의 코드가 섞여 있어, 소스가 복잡해지고 읽기가 어려워져 유지보수가 힘들어 진다.
Model1에서 유지보수가 힘들다는 단점을 보완하기 위해 나온 모델
기존에 뷰와 컨트롤러의 역할을 모두 수행하던 JSP는 뷰의 역할만 하게 하고, 컨트롤러 역할은 Servlet이 수행한다.
Jsp는 Java 코드를 안 쓰는 대신 JSTL을 사용하여 결과 화면을 보여준다.
Html과 Java 코드가 분리되어 확장에 용이하고 유지보수가 수월해진다.
초기 설계단계에 비용이 많이 들어 개발 시간이 오래 걸린다는 단점이 있다.