티스토리 뷰

반응형

 모델 1과 모델 2의 발생은 디자인 패턴과 관련있다.


디자인패턴

디자인패턴은 기존 환경에서 반복적으로 일어나는 문제를 설명하고, 그 문제의 해법을 설명하는 것이다. 이렇게 하면 같은 방법을 두번 반복하지 않고, 이 해법을 백만번 이상 재사용 할 수 있다.

- 객체지향 소프트웨어 개발에서 문제 해결에 필요한 기법을 체계적으로 정리한 것이다.

- 시행 착오를 줄일 수 있다.

- 개발 표준화와 유지보수의 효율성을 얻을 수 있다.


JSP 모델 1





 모델 1의 경우 어떤 기능을 구현하는데 아무런 문제가 없지만 기능을 확장하거나 공유하는 경우. 문제가 발생할 수 있다. 이러한 큰 이유는 바로 비즈니스 영역과 프리젠테이션 영역 (화면)이 혼재되어 있기 때문이다.


그 밖에 문제점으로는

- 화면을 꾸미기 위해 복잡한 HTML이 사용된 경우 프로그래머가 로직을 수정하고 화면을 구성하기

   위해서 HTML과 jsp 스크립트를 조작하는 경우라면 수정이 매우 어려워 진다.

- 디자이너가 화면을 수정하기 위해 jsp파일을 수정할 때에도 수정이 어려우며, 실수라도 자바코드를

   건들이게되면 찾기 힘든 오류가 발생 할 수 있다.


JSP 모델 2



jsp - model 2 는 앞서 살펴본 MVC 패턴에 따른 구현 방법이다.

MVC(Model - View - Controller ) 패턴은 스몰토크 언어에서 사용된 디자인 패턴이다.


MVC 기본 개념은 사용자에게 보여주는 화면 *View), 프로그램 로직 (Controller), 데이터 (Model)를 분리해서 처리하는 것이다.


View : HTML

JSP  : Controller

Model : Beans


모델 ( Model )


모델은 데이터 처리부분을 담당한다.


뷰 (View)


뷰 영역은 프리젠테이션 영역, 즉 사용자에게 보여질 화면을 담당한다. 따라서 뷰 영역에는 스크립트릿을 통한 로직제어 (if, for, while)에 따라 화면을 구성하면 안된다.


컨트롤러 (Controller)

컨트롤러는 모델 -2 의 중심으로 뷰와 뷰를 연결해주는 다리 역할을 수행한다. 애필리케이션 하나에서 모든 요청을 거치며 컨트롤러는 각각의 요청에 따른 비즈니스 로직을 수행하고 결과에 따라 뷰 페이지로 전달해준다. 컨트롤러에는 HTML 출력은 존재하지 않는다.



위 내용은 jsp - servlet 에서 model1과 model2의 이야기고 현재 MVC로 이용되는 Spring과는 별개로 생각해야 된다.

반응형

'Web Development > 기초' 카테고리의 다른 글

서블릿 이해하기  (0) 2016.04.18
쿠키와 세션  (0) 2016.04.18
Java Servlet에 관하여  (0) 2016.04.18
서블릿과 JSP  (0) 2016.04.18
웹 프로그래밍 기초  (0) 2016.04.18