2013년 7월 19일 금요일

(130719) 20일차 (모델 1 구조, 모델 2 구조, MVC 패턴 설명 및 테스트)

 - 모델 1 구조 
 : 클라이언트 요청을 JSP가 받음














 - 모델 2 구조 
: 클라이언트 요청을 Servlet이 받음 (요청시 JSP 소스가 거의 없음)
















 - MVC 패턴 (모델 2 구조)
 : Model(DAO, DTO - 빈클래스) View(JSP - EL, JSTL) Controller
 : Model - 비즈니스 영역의 상태 정보를 처리한다.
 : View - 비즈니스 영역에 대한 프레젠테이션 뷰(즉, 사용자가 보게 될 결과 화면)를 담당한다.
 : Controller - 사용자의 입력 및 흐름 제어를 담당한다.

 : 비즈니스 로직을 처리하는 모델과 결과 화면을 보여주는 뷰가 분리되어 있다.
 : 어플리케이션의 흐름제어나 사용자의 처리 요청은 컨트롤러에 집중한다.

 : 즉, Model은 오직 비즈니스와 관련된 부분을 처리하면 될 뿐 사용자에게 보여질 화면이나 흐름제어에 대해서는 처리할 필요가 없다.
 : 반대로 View는 사용자에게 알맞은 화면을 보여주는 역할만 수행될 뿐, 비즈니스 로직이나 흐름제어 등을 신경 쓸 필요가 없다.
 : 또한 Controller는 사용자의 요청에 대해서 알맞은 모델을 사용하고, 사용자에게 보여줄 뷰를 선택하기만 하면 된다. (Controller가 비즈니스를 관리 - Controller가 비즈니스를 호출해서 JSP에 잘 넘겨주기만 하면 된다.)

 : Controller(Servlet)을 1개 만들어서 여러개의 요청을 한번에 처리하기 위해서 Controller 안에 if문을 구현한다.
 : 서블릿에서 파일을 읽어온다음 Map 객체(DO 파일, JSP 파일 1쌍)에 저장해놓고 호출하는 방식으로 사용
















 - 사진 출처 : http://ihayatesw.tistory.com/161


 - 모델 2 구조 구현 방법은 프로젝트에서