- 소프트웨어 공학에서 사용하는 설계 패턴 중 하나
- 구현하려는 전체 어플리케이션을 모델-뷰-컨트롤러(Model-View-Controller)의 구조로 나누어 구성
- Model : Business Login / Data (java) (사람)
- View : GUI / Design / Presentation (jsp) (TV)
- Controller : View-Model 사이의 상호동작 관리 (java / servlet) (리모컨)(Filter)
-> 모델이 바뀌면 Data가 바꼈으니까 View도 바뀐다. 중간에 신호를 주는건 컨트롤러
- 비즈니스 로직과 디자인의 분리
- 비즈니스 로직의 재사용 : 디자인의 변경에 영향을 받지 않음
- 서블릿 / jsp 에서 비즈니스 로직의 분리가 필요
[ 작업 순서 ]
1. 컨트롤러
2. 컨트롤러가 모델을 부려먹는다
3. 모델이 작업을 한 결과를 컨트롤러가 돌려받아 뷰에게 전달
- 작업 처리 위한 파라미터 꺼내기
- 서비스(Service)에게 작업 요청 (꺼낸 파라미터를 같이 넘긴다)
- 서비스의 결과가 존재하면 화면(JSP)에서 사용할 수 있도록 공유한다.
- 처리 페이지 (JSP) 호출
- 서비스는 DAO를 불러 DAO는 DB에 id, pass에 대한 결과를 넘겨준다.
- 서비스는 최종적으로 결과를 컨트롤러에게 넘겨준다.