2021. 7. 16. 01:48, Back-End/Spring
MVC는 Model, View, Contrller를 합친 말
Model
- 어플리케이션의 데이터이며 모든 데이터 정보를 가공하여 가지고 있는 컴포넌트이다.
View
- 시각적인 UI 요소를 지칭하는 용어
Controller
- Model과 VIew를 연결해주는 역할
대부분의 서블릿 기반 프레임워크들이 사용하는 방식
데이터와 처리, 화면을 분리하는 방식
웹어서는 Model2 방식으로 표현
스프링 MVC의 기본 사상
- 서블릿 기반이긴 하지만 한 단계 더 추상화 된 수준의 개발 지향한다.
- 서블릿 API없이도 개발이 가능한 수준
개발자는 Servlet/JSP의 API에 신경 쓰지 않고 웹 어플리케이션을 제작
-----------------------------------------------------------------------------
Spring MVC는 내부적으로 Servlet/JSP 처리
MVC의 기본 흐름
- 클라이언트가 서버에 요청을 하면, front controller인 DispatcherServlet 클래스가 요청을 받는다.
- DispatcherServlet는 프로젝트 파일 내의 servlet-context.xml 파일의 @Controller 인자를 통해 등록한 요청 위임 컨트롤러를 찾아 매핑(mapping)된 컨트롤러가 존재하면 @RequestMapping을 통해 요청을 처리할 메소드로 이동한다.
- 컨트롤러는 해당 요청을 처리할 Service(서비스)를 받아 비즈니스로직을 서비스에게 위임한다.
- Service(서비스)는 요청에 필요한 작업을 수행하고, 요청에 대해 DB에 접근해야한다면 DAO에 요청하여 처리를 위임한다.
- DAO는 DB정보를 DTO를 통해 받아 서비스에게 전달한다.
- 서비스는 전달받은 데이터를 컨트롤러에게 전달한다.
- 컨트롤러는 Model(모델) 객체에게 요청에 맞는 View(뷰) 정보를 담아 DispatcherServlet에게 전송한다.
- DispatcherServlet는 ViewResolver에게 전달받은 View정보를 전달한다.
- ViewResolver는 응답할 View에 대한 JSP를 찾아 DispatcherServlet에게 전달한다.
- DispatcherServlet는 응답할 뷰의 Render를 지시하고 뷰는 로직을 처리한다.
- DispatcherServlet는 클라이언트에게 Rendering된 뷰를 응답하며 요청을 마친다.
위의 MVC의 처리순서는 가져왔습니다.
'Back-End > Spring' 카테고리의 다른 글
[Spring] 5. 프로젝트의 구성 (0) | 2021.07.18 |
---|---|
[Spring] 4. MVC구조 중 Controller (0) | 2021.07.17 |
[Spring] 2. 의존성 주입 이해하기 (0) | 2021.07.13 |
[Spring] 1. sts3 설치 및 설정 (0) | 2021.07.08 |
[Spring] 0. 첫걸음에 대한 준비 (1) | 2021.07.08 |
Comments, Trackbacks