-
MVC (Model-View-Controller) : 모델-뷰-컨트롤러Java/JSP/Servlet 2008. 8. 25. 16:42반응형
모델-뷰-컨트롤러 (Model - View - Controller)
모델 : 비즈니스 영역의 상태 정보를 담당
뷰 : 비즈니스 영역의 프리젠테이션 뷰를 담당
컨트롤러 : 사용자 입력의 상태와 흐름 제어를 담당
MCV 모델
애플리케이션이 사용하는 아키텍처의 타입에 따라 모델 부분은 여러가지 다른 형태를 취할 수 있다.
웹 계층에서 직접 데이터베이스와 같은 데이터 스토어와 상호작용하는 2-계층 애플리케이션이라면 모델 클래스는 일반 자바 객체의 집합이다. 이 같은 객체들을 데이터베이스 질의(query)결과로 반환된 ResultSet으로부터 설정하거나 톱링크(TopLink)나 코코베이스(CocoBase)와 같은 객체와 관계형 DB간의 매핑 프레임워크를 사용하여 자동으로 인스턴스화하고 설정할 수도 있다.
좀더 복잡한 기업용 애플리케이션에서는 MVC 패턴의 모델부분이 엔터프라이즈 자바빈즈가 될 것이다.
MVC 뷰
일반적으로 HTML과 JSP페이지로 구성된다.
뷰는 모델과 분리되어 있기 때문에 동일한 모델 컴포넌트를 사용하면서도 각각의 클라이언트 형태에 따라 다양한 뷰를 제공할 수 있다.
MVC 컨트롤러
웹 계층 MVC 디자인에서 컨트롤러 부분은 일반적으로 자바 서블릿이다. 웹 계층 애플리케이션에서 컨트롤러는 다음과 같은 일을 수행한다.
1. 클라이언트로부터의 HTTP요청을 가로챈다.
2. 각 요청을 수행할 특정 비즈니스 오퍼레이션으로 바꾼다.
3. 비즈니스 오퍼레이션을 직접 호출하거나 이를 핸들러에 넘겨준다.
4. 클라이언트에 보여줄 다음 뷰를 선택하는 작업을 돕는다.
5. 4번에서 선택한 뷰를 클라이언트에 보여준다.
반응형