JSP model1과 model2
제가 이해한 것을 토대로 정리해본 Model1과 Model2입니다.
Model1
Model1은 어떠한 형태가 되든지 그 파일을 직접적으로 찾게끔 만들게 되어있습니다..
예를 들어서 Juwon.co.kr이라는 도메인이 있을 때에 Model1에서 다른 페이지로 넘어가기 위해서는
Juwon.co.kr/index.jsp와 같이 파일을 직접 입력해야 하는 형태입니다. 만약 그 페이지가 데이터베이스를 사용한다면 Bean파일에 데이터베이스로부터 데이터를 받아 JSP파일에 적용을 한 다음 사용자에게 페이지를 보여주는 형태겠죠.
Model2(Spring MVC pattern)
Model2는 Mode1과 다르게 Controller과 View가 분리되어있는 형태입니다.
Model 1에서의 JSP가 Controll과 View가 통합된 것이라고 보면 되겠네요.
아무튼 사이클을 제가 이해한 대로 설명을 해드리자면...
사용자로부터 url을 입력받았을 경우에 어떠한 경우든지 무조건 Controller로 가게 됩니다.
Controller에서 사용자가 입력한URL을 바탕으로 보여줄 페이지를 골라 사용자에게 response를 하지요.
다만 데이터베이스로부터 정보를 받아와야 하는 경우에는...
View로 바로가지 않고 Bean에서 정보를 얻도록 명령을 줘서 Bean파일에 데이터를 얻어온 다음
View가 request하든 model이 response하든 하겠죠...?
그렇게 데이터가 적용된 View를 사용자에게 보내주는 겁니다.
위와 같은 형식을 Spring에서 구현한 것이 Spring MVC pattern이라고 하는 듯 합니다.
Model1 Vs Model2
Model 1
장점 :
1. 개발이 쉽습니다.
2. 개발이 쉽습니다.
3. Develompement is Easy
(ㅈㅅ)
단점 :
웹페이지 보수가 어렵습니다. : Model1에서는 Jsp페이지에서 페이지의 출력을 위한 코드 + 로직(뭐..예를 들자면...어떤 것을 눌렀을 때에는 어디로 가야하고..뭐 그런 것 아닐까 싶습니다) 이 하나의 파일내에 다 들어가있어야 합니다. 즉, 역할분할이 되어있지 않습니다. 따라서 보수를 하기가 좀 더 까다롭습니다.
jsp파일의 복잡도가 Model2보다 높습니다 : 위와 같은 이유입니다...
Model 2
장점 :
1. 로직, 뷰에 대한 역할분할이 확실하게 이루어져 있기 때문에 유지보수가 Model1에 비해서 상대적으로 쉽습니다.
2. 마찬가지인 이유로 파일 하나의 코드는 복잡하지 않습니다. 뷰 페이지에는 출력물만 보여주도록 코딩을 하면 됩니다.
단점 :
1. 구조가 복잡합니다...흐윽....분할때문에..
2. 자바에 대한 이해도가 상당해야합니다...HomeController보시면 장난이 아님...
3. 1번의 이유로 작업량이 많습니다. Model1으로 만들면 파일 몇개 안만들어도 될 것을 Model2로 만들면 상대적으로 많은 양의 파일을 만들어야 합니다.
'웹서비스 구축' 카테고리의 다른 글
POJO란...? (0) | 2020.08.11 |
---|---|
Spring FrameWork란...? (0) | 2020.08.10 |
Heroku 쓰는법 (0) | 2020.08.07 |
JSP EL(Expression Language) 간단 정리 (0) | 2020.08.04 |
JSP Action Tag 간단하게 정리하기 (0) | 2020.08.04 |