model, view, controller의 약자
소프트웨어 디자인 패턴의 하나
사용자 인터페이스와 비지니스 로직을 분리하여 개발할 수 있다
-> 화면과 데이터 처리를 분리해서 재사용이 가능하다
어플리케이션의 정보 = 데이터
사용자의 인터페이스, 사용하는 화면
모델과 뷰의 중계 역할
사용자의 요청을 파악하고 그에 맞는 결과를 리턴해준다
프론트 컨트롤러 방식
프론트 컨트롤러가 컨트롤러 앞에 존재하는 컨트롤러로 모든 흐름과 제어를 담당
디스패처 서블릿이 프론트 컨트롤러의 역할을 수행
사용자가 보는 화면 또는 결과
사용자가 웹브라우저를 통해서 어떤 요청을 하면 그 요청을 처리할 컨트롤러를 호출하게 된다.
컨트롤러는 사용자의 요청을 처리하기 위한 비지니스 로직을 호출하고 그 결과값을 사용자에게 리턴해준다
사용자의 요청을 처리하기 위한 비지니스 로직을 수행
서비스 영역은 서비스 인터페이스와 인터페이스의 구현체로 나뉜다
Data Access Object의 약자로 데이터베이스에 접속해서 비지니스 로직 실행에 필요한 쿼리를 호출
데이터베이스를 의미
애플리케이션에서 발생한 모든 정보가 저장