"JSP 모델 1, 모델 2 아키텍처"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 32개는 보이지 않습니다)
1번째 줄: 1번째 줄:
;Model 1
;JSP model 1 architecture; Model 1, <del>MVC1</del>
;모델 1 아키텍처; 모델 1
;JSP 모델 1 아키텍처; 모델 1


;Model 2
;JSP model 2 architecture; Model 2, <del>MVC2</del>
;모델 2 아키텍처; 모델 2
;JSP 모델 2 아키텍처; 모델 2


==모델 1==
==모델 1==
*역할 분담
*역할 분담
:JSP: 데이터 입출력
{| class='wikitable'
:자바빈 클래스: 데이터 처리
| JSP 페이지 || 데이터 입출력
*DB 접근은 자바빈 클래스만 하도록 함<ref>즉 JSP는 DB에 접근하지 않도록 함</ref>
|-
| 자바빈 클래스 || 데이터 처리
|}
* JSP가 요청과 응답을 모두 처리. Controller+View를 담당하므로 MVC는 아님
* DB 접근은 자바빈 클래스만 하도록 함<ref>즉 JSP는 DB에 직접 접근하지 않도록 함</ref>
* 페이지별로 간단히 구현가능


[[File:Model 1.png|400px]]
http://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Model_1.png/320px-Model_1.png
 
http://download.oracle.com/otn_hosted_doc/jdeveloper/1012/developing_mvc_applications/images/struts_model1.gif


==모델 2==
==모델 2==
*MVC를 웹에 맞게 적용한 것
*MVC를 JSP/서블릿/자바빈 구조로 정형화한 것
*MVC를 JSP/서블릿/자바빈 구조로 정형화한 것
*JSP 페이지에서 로직을 제거할 수 있음
*JSP 페이지에서 로직을 제거할 수 있음
*서블릿 클래스: 데이터 입력, 데이터 처리
*[[옵저버 패턴]] + [[스트래티지 패턴]]<ref>뷰, 컨트롤러</ref> + [[컴포지트 패턴]]
*자바빈 클래스: 데이터 포장
*역할 분리
*JSP 페이지: 데이터 출력
{| class='wikitable'
|-
| 서블릿 클래스 || (Controller) 데이터 처리
|-
| 자바빈 클래스 || (Model) 데이터 포장
|-
| JSP 페이지 || (View) 데이터 출력
|}
* 코드와 디자인이 좀더 깔끔하게 분리됨
:→ 개발자와 디자이너의 작업대상이 분리되어 작업효율 향상
 
http://upload.wikimedia.org/wikipedia/commons/thumb/7/72/JSP_Model_2.svg/320px-JSP_Model_2.svg.png


http://download.oracle.com/otn_hosted_doc/jdeveloper/1012/developing_mvc_applications/images/struts_model2.gif


[[File:JSP Model 2.svg|300px]]
==#Jmnote==
* Java 진영(?) 중심으로 사용된 용어라서 'JSP'라는 말이 붙어있는데 꼭 JSP에 국한하여 생각할 필요는 없음
* 대충 얘기하면 웹프레임워크 사용 이전과 이후로 볼 수 있음
* 모델 2 이전에도 비즈니스 로직과 뷰를 분리하는 노력은 꾸준히 있었음
* 모델 2는 좀더 고도의 객체지향기술과 웹프레임워크를 이용하여 범용적으로 정식화한 것


==같이 보기==
==같이 보기==
*[[멀티티어 아키텍처]]
*[[아키텍처]]
*[[아키텍처]]
*[[MVC]]
*[[MVC]]
*[[스트럿츠]]
*[[스트럿츠]]
*[[deployment 다이어그램]]


[[분류: 아키텍처]]
[[분류: 아키텍처]]
33번째 줄: 59번째 줄:
<references/>
<references/>


==참고 자료==
==참고==
*http://en.wikipedia.org/wiki/Model_1
* https://en.wikipedia.org/wiki/JSP_model_1_architecture
*http://en.wikipedia.org/wiki/Model_2
* https://en.wikipedia.org/wiki/JSP_model_2_architecture
* http://download.oracle.com/otn_hosted_doc/jdeveloper/1012/developing_mvc_applications/adf_aboutmvc2.html
* https://community.oracle.com/thread/1459009

2018년 5월 22일 (화) 10:27 기준 최신판

JSP model 1 architecture; Model 1, MVC1
JSP 모델 1 아키텍처; 모델 1
JSP model 2 architecture; Model 2, MVC2
JSP 모델 2 아키텍처; 모델 2

1 모델 1[ | ]

  • 역할 분담
JSP 페이지 데이터 입출력
자바빈 클래스 데이터 처리
  • JSP가 요청과 응답을 모두 처리. Controller+View를 담당하므로 MVC는 아님
  • DB 접근은 자바빈 클래스만 하도록 함[1]
  • 페이지별로 간단히 구현가능

 

 

2 모델 2[ | ]

서블릿 클래스 (Controller) 데이터 처리
자바빈 클래스 (Model) 데이터 포장
JSP 페이지 (View) 데이터 출력
  • 코드와 디자인이 좀더 깔끔하게 분리됨
→ 개발자와 디자이너의 작업대상이 분리되어 작업효율 향상

 

 

3 #Jmnote[ | ]

  • Java 진영(?) 중심으로 사용된 용어라서 'JSP'라는 말이 붙어있는데 꼭 JSP에 국한하여 생각할 필요는 없음
  • 대충 얘기하면 웹프레임워크 사용 이전과 이후로 볼 수 있음
  • 모델 2 이전에도 비즈니스 로직과 뷰를 분리하는 노력은 꾸준히 있었음
  • 모델 2는 좀더 고도의 객체지향기술과 웹프레임워크를 이용하여 범용적으로 정식화한 것

4 같이 보기[ | ]

5 주석[ | ]

  1. 즉 JSP는 DB에 직접 접근하지 않도록 함
  2. 뷰, 컨트롤러

6 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}