MVC 모델 1
MVC 모델 1은 뷰와 컨트롤러의 역할이 합쳐져 있다.
흔히 웹 개발을 하면 Jsp가 뷰 역할을 하는데, MVC 1에서 Jsp는 뷰와 컨트롤러의 역할을 모두 감당한다.
MVC 모델 1
위와 같이 Jsp가 뷰와 컨트롤러 역할을 모두 수행하면, Jsp에 Java 코드와 Html, css 등의 코드가 섞여 있어, 소스가 복잡해지고 읽기가 어려워져 유지보수가 힘들어 진다.
하지만 상대적으로 설계가 간단하여 개발 속도가 빠르고 작은 프로젝트에 알맞다.
MVC 모델 2
MVC 모델 2은 모델 1에서 유지보수가 힘들다는 단점을 보완하기 위해 나온 모델이다.
기존에 뷰와 컨트롤러의 역할을 모두 수행하던 JSP는 뷰의 역할만 하게 하고, 대신 컨트롤러 역할을 Servlet이 수행한다.
모델은 기존 MVC 1 방식과 동일하다.
MVC 모델 2
MVC 1에서는 Jsp가 사용자의 호출을 받아줬는데 MVC 2에서는 컨트롤러 역할을 수행하는 Servlet이 요청을 받아준다.
Servlet이 비즈니스 로직을 수행하며 모델을 호출하여 데이터를 요청하며, 최종적으로 뷰 역할인 Jsp를 제어하여 화면을 출력한다.
MVC 2로 개발하게 되면 Html과 Java 코드가 분리되어 확장에 용이하고 유지보수가 수월해진다.
Jsp는 Java 코드를 안 쓰는 대신 JSTL을 사용하여 결과 화면을 보여준다.
하지만 초기 설계단계에 비용이 많이 들어 개발 시간이 오래 걸린다는 단점이 있다.
'JAVA > Java Study' 카테고리의 다른 글
[Java] Record (0) | 2024.10.30 |
---|---|
[GIS] 1. Shp 파일 (1) | 2024.09.06 |
[Java] Virtual Thread (0) | 2024.06.05 |
[Java] Object2File 라이브러리 (Fst ) (0) | 2024.05.31 |
[HashMap] 해쉬 맵 (0) | 2024.02.19 |