티스토리 뷰
모델 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 |
- Total
- Today
- Yesterday
- java calendar
- spring property
- POI EXCEL
- POE Excel 만들기
- jstl foreach
- java 압축 풀기
- java 설정
- Database#transaction
- jstl 커스텀 태그
- MyBatis 팁
- spring ExcelView
- coroutine
- Kotlin
- java 설치
- mybatis Merge
- java 폴더구조 구하기
- jstl split
- java 특정문자 갯수구하기
- github image 첨부시 주의할점
- JSP 세션
- 코루틴
- 전자정부프레임워크 tiles
- JSTL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |