공부/Web

JAVA :: MVC 패턴 정리

린구 2022. 5. 5. 17:11
반응형

 

MVC 패턴

 

mvc 패턴에서 mvc 는 각각 model, view, controller 를 의미하는 것으로

model 은 데이터 또는 업무 로직을,

view 는 유저 인터페이스를, 

controller 는 model 과 view 계층 사이에 있는 계층을 말한다.

 

Controller 계층은 model 과 view 계층이 직접적으로 결합되는 것을 막는다.

model 과 view 의 직접적인 결합은 서로 영향을 주게 되어 바뀌도록 만든다.

이것을 막기 위해 Controller 계층을 추가한 것이다!

따라서 Controller 계층의 로직은 매우 간단하게 설계돼야 한다.

 

 

 

Model 의 두 가지 방식

 

Model1 구조(방식)

- JSP 페이지만으로 구성되어 있는 구조

- JSP 페이지에서 동적인 부분은 스크립트릿, 나머지 부분은 템플릿으로 처리

- 클라이언트의 요청이 진입하는 지점이 View

 

 

Model2 구조(방식)

- JSP 와 Servlet, 그리고 JavaBean 컴포넌트를 함께 사용

- 클라이언트의 요청이 진입하는 지점이 Controller !!! 중요 ★★★

- 대부분의 웹 어플리케이션의 컨트롤러는 Servlet

 

 

 

 

 

 

(Java Beans 가 뭐였더라?! 찾아봤다.

자바 빈즈란 자바로 작성된 소프트웨어 컴포넌트를 말하며

자바 관련 소프트웨어 개발에 있어 재사용이 가능한 표준 컴포넌트 모델이다.

 

구글링 해보니까 Java Beans 를 MVC 패턴 중 model 로 두고

예전에 구현했던 DAO 클래슨는 controller 내에 두는 듯 ..!.. 어렵다 ~~~~)

 

 

 

 

 

MVC 구현하기

 

Controller 에 포함되어야 할 작업

- 웹브라우저가 요청한 작업을 처리하는 비즈니스 로직을 수행하는 모델(JavaBean)을 사용

- 처리 결과를 request 또는 session 에 저장

- 적절한 뷰를 선택하여 해당 뷰로 포워딩

 

View 에 포함되어야 할 작업

- 서블릿(컨트롤러)에서 dispatcher .forward(request, response)로 해당 페이지와 reqeust, response 를

  공유한 경우, 해당 페이지에서 reqeust.getAttribute("~~~")와 같이 결과를 화면에 표현

 

Model 에 포함되어야 할 작업

- 컨트롤러(서블릿)의 요청을 받음- 비즈니스 로직 처리- 처리한 로직의 결과를 컨트롤러로 반환

 

 

 

모델 - 자바 빈즈

뷰 - JSP

컨트롤러 - 서블릿~~

 

기억하깅 ! ! ! 

 

 

반응형