MVC (Model - View - Controller) 패턴의 개념
" Business logic과 Presentation logic을 분리하기 위해"
- MVC 패턴을 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있음.
Model | - DB와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 일 - 여러 개의 데이터 변경 작업을 하나의 작업으로 묶는 트랜잭션을 다루는 일 - Domain, Service |
View | - 모델이 처리한 데이터나 그 작업결과를 가지고 사용자에게 출력할 화면을 만드는 일 - HTML, JSP |
Controller | - 클라이언트의 요청을 받았을 때 그 요청에 대해 실제 업무를 수행하는 모델 컴포넌트를 호출하는 일 - 모델이 업무 수행을 완료하면 그 결과를 가지고 화면을 생성하도록 뷰에게 전달하는 일 - Servlet, JSP |
Spring MVC의 주요 구성요소
구성요소 | 설명 |
DispatcherServlet | 클라이언트의 요청을 받아서 Controller에게 클라이언트의 요청을 전달하고 리턴한 결과값을 View에게 전달해 알맞은 응답을 생성 (web.xml) |
Handler Mapping | URL과 요청 정보를 기준으로 어떤 핸들러 객체를 사용할지 결정하는 객체 |
Controller | 클라이언트의 요청을 처리한 뒤, Model을 호출하고 그 결과를 DispatcherServlet에게 알려줌 |
Model and View | Controller가 처리한 데이터 및 화면에 대한 정보를 보유한 객체 |
View | Controller가 처리 결과 화면에 대한 정보를 보유한 객체 |
ViewResolver | Controller가 리턴한 뷰 이름을 기반으로 Controller 처리 결과를 생성할 뷰를 결정 |
'Web > Spring' 카테고리의 다른 글
[배경] Maven (0) | 2021.07.27 |
---|---|
[배경] Template Engine (0) | 2021.07.27 |
[배경] Spring Security (0) | 2021.07.27 |
[배경] Spring 실행 순서 (0) | 2021.07.27 |
[배경] Servlet (0) | 2021.07.27 |