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
컨트롤러 - 서블릿~~
기억하깅 ! ! !
'공부 > Web' 카테고리의 다른 글
JAVA :: DataBase Connection Pool, DBCP (0) | 2022.05.02 |
---|---|
JSP :: 자기 자신 페이지로부터 데이터 송수신 (0) | 2022.04.17 |
JAVASCRIPT :: onchange (0) | 2022.04.17 |
JAVASCRIPT :: onsubmit (0) | 2022.04.17 |
JSP :: 기본적인 form 데이터 송수신 실습 (0) | 2022.04.17 |