티스토리 뷰

JSP

MVC (Model View Controler) 패턴

태로미 2023. 4. 16. 20:57

 

 

 

 

 

 

 

 

 

 

📍   MVC 패턴

–   Model,  View,  Controller의 약자이며,  Model2 개발 방식과 거의 유사한 의미.

–   사용자 인터페이스,  데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴.

–   화면 출력 부분 (디자인 부분)을 View로 칭하고,  데이터베이스와 연동하는 부분 등의 로직 부분을 Model이라 칭하고,

     Controller이 두 부분을 적절하게 연결시켜주는 역할을 함.

–   소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 둠.

     →   내꺼만 알아서 잘하자,  "관심사의 분리"

–   최소한의 연결로 최소한의 코드 (= 좋은 프로그램)만 써서 프로그램을 만들기 위해 필요한 패턴.

     →   리펙터링 (재정비)이 잘 되야 좋은 코드.

–   이 패턴을 잘 익히면 다른 언어로 넘어가도 적응 잘함.

 

 

 

 

 

 

 

 

 

▸   MVC 패턴의 흐름

–   Controller는 중앙에 위치하여 View와 Model 사이에 연동을 담당.

–   MVC로 구성된 사이트에 요청을 하면 초기 진입점은 Controller.

–   반드시 처리할 비즈니스 로직이 존재한다면 Controller를 호출하여 Model에서 비즈니스 로직을 수행하고,

     그 결과를 가지고 View에서 보여지게 해야만 함.

–   출력된 View 페이지에서 또 다른 요청을 할 경우도 Controller에게 요청을 하게 되며,

     Controller는 요청 내용을 받은 후 Model을 호출하여 요청에 해당하는 비즈니스 로직을 수행함.

     그리고 Controller는 Model의 결과값을 얻어 View 페이지로 보내게 됨.

–   모든 요청과 전달은 Controller를 통해 이루어짐.

 

 

 

 

 

 

 

 

 

 

▸   MVC 패턴의 구성

 

 

1.   controller (서블릿)

–   MVC 패턴에서 View와 Model을 연결시켜주는 핵심 요소.

–  초기 진입점이자 View와 Model을 연동하는 역할을 하기 때문에 서블릿으로 구성되어 있음.

    →   웹에서 요청을 받을 수 있는 Java코드 형태는 서블릿.

–  Controller는 요청을 받아서 요청에 해당하는 Model과 View를 호출하는 역할만 담당.

    보여지는 페이지가 아닌 연결시켜주는 통로 역할.

–  MVC 패턴에서 중심역할을 하며,  반드시 서블릿으로 이루어져야 함.

 

 

 

2.   View (JSP)

–   MVC 패턴 중 화면 출력 부분에 해당하므로 JSP페이지로 구성,  코드는 거의 디자인에 관한 것으로 이루어져 있음.

     →   단순히 결과를 화면에 보여주는 정도로만 사용됨.

–   View에서는 절대 데이터베이스 연동과 같은 비즈니스 로직을 구성하지 않음.

–   Controller를 통하여 Model에서 처리한 결과를 화면에 출력할 때 사용.

 

 

 

3.   Model (POJO)

–   MVC 패턴에서 실제로 비즈니스 로직을 실행하는 부분.

–   Mode 클래스 파일 (Plain Old Java Object = POJO)로 이루어져 있으며,  개발할 시스템의 비즈니스 로직이 작성됨.

–   비즈니스 로직을 처리하여 얻은 결과를 Controller를 통해 View 페이지로 전달하여 처리된 내용이 화면에 표시됨.

–   데이터베이스 작업을 할 경우 Model부분에서 이루어짐.

 

 

 

 

 

 

 

 

 

 


🐾 참조 도서 및 사이트 🐾

 

—   JSP 2.3 & Servlet 3.1

—   https://developer.mozilla.org/ko/docs/Glossary/MVC

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함