Servlet
개발jsp
개발UI 변경과 비즈니스 로직을 변경의 라이프 사이클이 다르며, 서로에게 영향을 주지 않기 때문에 분리해 작성하는 것이 훨씬 유지보수에 도움
jps와 같은 뷰 템플릿은 화면을 렌더링하는 것에 최적화 되어있기에 해당 부분만 담당하는 것이 가장 효율적
위와 같은 이유로 Model, View, Controller라는 영역으로 서로의 역할을 나눈것을 MVC패턴이라고 말함
V(View) 뷰
가 필요한 데이터를 전부M(Model) 모델
에 담아 전달해 주기 떄문에V(View) 뷰
는 화면 렌더링에만 집중할 수 있음
1. 클라이언트 호출
1. Controller
: 비즈니스 로직 실행
1. Controller
: Model
에 조회 데이터 결과 저장
1. Controller
: Model
과 로직 실행 결과를 View
에 전달
1. View
: Model
을 참조해서 화면 렌더링
1. 렌더링 결과를 응답으로 전송
이때
Controller
가 너무 많은 역할을 하게됨 -> MVC2 패턴으로 진화
: 비즈니스 로직은Service
라는 계층을 별도로 만들어서 처리하고,Controller
는 요청에 맞는 비즈니스 로직을 호출하는 역할을 담당
Controller
: 요청에 맞는 Service
호출 ( = 비즈니스 로직 호출 )Service
: 비즈니스 로직 실행 및 Model
에 조회 데이터 결과 저장Controller
: Model
과 로직 실행 결과를 View
에 전달View
: Model
을 참조해서 화면 렌더링