MVC 패턴은 애플리케이션을 세 가지 영역, 즉 모델(Model), 뷰(View), 컨트롤러(Controller)로 구분하여 작업을 분리함으로써, 서로 간의 결합도를 최소화하고 유지보수성도 높이며, 개발자들이 각가 맡은 영역에만 집중할 수 있게 하여 개발의 효율성을 극대화할 수있는 장점이 있다.
뷰
클라이언트와 서버 간의 인터페이스 역할을 하는 영역으로서 클라이언트로부터 요청받거나 처리된 결과를 보여주는 기능
컨트롤러
뷰와 모델을 연결하는 중계 역할을 하며, 클라이언트가 전달한 파라미터를 추출하여 모델로 전달하고, 처리 결과 페이지를 보여주는 기능.
모델
서비스와 데이터베이스 처리를 담당하는 역할을 하며, 각 로직 처리, DB 질의 처리 기능
구현을 위해
뷰는 HTML, CSS, JSP를 사용하여 구현하고,
컨트롤러는 JSP, 서블릿을 사용하여 구현하며,
모델은 일반 평범한 자바로 구현
MVC 디자인 패턴의 두 가지 모델
Model1
뷰와 컨트롤러를 JSP로 구현된다. Model1은 클라이언트로 부터 요청이 들어왔을 때 JSP가 요청받아 처리하면서 동시에 뷰의 역할도 같이 하도록 한다. 구현이 쉽지만 대신 구현이 복잡할 때는 유지보수가 어렵다.
Model2
뷰는 JSP, 컨트롤러는 서블릿으로 작성되어 클라이언트의 요청을 서블릿으로 구현된 컨트롤러가 받아 파리미터를 서비스 객체로 전달하여 처리하며 그 결과를 받아 뷰에 전달 한다. Model2은 역할 구분이 확실하기 때문에 설계가 Model1 보다 어렵지만, 유지보수가 수월해지는 장점이 있다.
'JSP' 카테고리의 다른 글
프런트 컨트롤러 디자인 패턴 (0) | 2023.03.14 |
---|---|
DataSource (0) | 2023.03.14 |
PreparedStatement 사용 이유 (0) | 2023.03.14 |
JDBC 프로그래밍 (0) | 2023.03.14 |
JSP - EL ( Expression Language ) (0) | 2023.03.14 |