<한줄요약>
MVC패턴 : Model / View / Controller로 나눠 각자 담당하는 부분을 처리
Model1 : 하나의 JSP가 처리/반환을 다 처리
Model2 : servlet / service(DAO) / JSP를 분리해 분업화, MVC패턴을 web에 적용
1. Model 1 구조
- client의 요청에 대한 응답을 JSP 페이지에서만 처리한다
- Java bean / service class를 두어 작업을 처리하고, 결과를 반환한다.
- 장점
- 구조가 단순하다
- 개발 기간이 짧다
- 단점
- JSP 내 html과 java코드의 혼재
- backend / frontend 구분이 희미해진다, 분업화가 힘들다
- 규모가 큰 project의 경우 코드의 규모도 커진다
2. Model 2 구조
- MVC pattern을 Web에 적용한 것
- client의 요청에 대한 처리 방법은 servlet이 결정하며 : controller
- 실제 처리는 servlet이 지정한 service(DAO)에서 수행 : model
- service의 결과로 JSP는 페이지를 구성한다 : view
- 장점
- 출력/로직 코드의 분리, JSP의 크기가 크지 않다
- 분업이 용이하다
- 각 코드마다 하나의 기능을 수행하므로, 유지보수가 쉽다
- 단점
- 구조가 복잡, 초기 학습이 어렵다