-
[CS/Spring] Spring MVC / MVC의 요청 흐름 처리 방식 / Dispatcher Servlet / Handler Mapping / View ResolverCS/Spring 2025. 3. 11. 18:36
• Spring MVC
- MVC는 Model, View, Controller의 약자이며, 각 레이어간 기능을 구분하는데 중점을 둔 디자인 패턴입니다.
- Model은 데이터 관리 및 비즈니스 로직을 처리하는 부분이며, (DAO, DTO, Service 등)
- View는 비즈니스 로직의 처리 결과를 통해 유저 인터페이스가 표현되는 구간입니다. (html, jsp, tymeleaf, mustache 등 화면을 구성하기도 하고, Rest API로 서버가 구현된다면 json 응답으로 구성되기도 합니다.)
- Controller는 사용자의 요청을 처리하고 Model과 View를 중개하는 역할을 합니다. Model과 View는 서로 연결되어 있지 않기 때문에 Controller가 사이에서 통신 매체가 되어줍니다.
• MVC의 요청 흐름 처리 방식
- 클라이언트는 URL을 통해 요청을 전송합니다.
- 디스패처 서블릿은 핸들러 매핑을 통해 해당 요청이 어느 컨트롤러에서 온 요청인지 찾습니다.
- 디스패처 서블릿은 핸들러 어댑터에게 요청의 전달을 맡깁니다.
- 핸들러 어댑터는 해당 컨트롤러에게 요청을 전달합니다.
- 컨트롤러는 비즈니스 로직을 처리한 후에 반환할 뷰의 이름을 반환합니다.
- 디스패처 서블릿은 뷰 리졸버를 통해 반환할 뷰를 찾습니다.
- 디스패처 서블릿은 컨트롤러에서 뷰에 전달할 데이터를 추가합니다.
- 데이터가 추가된 뷰를 반환합니다.
📒 Dispatcher Servlet / Handler Mapping / Handler Adapter / View Resolver · Dispatcher Servlet : 클라이언트에게 요청을 받아 응답까지의 MVC 처리과정을 통제합니다. · Handler Mapping : 클라이언트의 요청 URL을 어떤 Controller가 처리할지 결정합니다. · Handler Adapter : Handler Mapping에서 결정된 핸들러 정보로 해당 메소드를 직접 호출해주는 역할을 합니다. · View Resolver : Controller의 처리 결과(데이터)를 생성할 view를 결정합니다.
* 위 글은 아래 문서를 참고해 작성했습니다.
https://dev-coco.tistory.com/163
신입 개발자 기술면접 질문 정리 - 백엔드
💡 WAS(Web Application Server)와 WS(Web Server)의 차이를 설명해주세요. WAS(Web Application Server) 비즈니스 로직을 넣을 수 있음 Tomcat, PHP, ASP, .NET 등 WS(Web Server) 비즈니스 로직을 넣을 수 없음 Nginx, Apache 등
dev-coco.tistory.com
'CS > Spring' 카테고리의 다른 글
[CS/Spring] Spring Bean Scope / Spring의 스코프 프로토 타입 빈 (0) 2025.03.26 [CS/Spring] JPA / JPA N + 1 문제와 해결 방법 (1) 2025.03.13 [CS/Spring] Spring Bean / Spring Bean 등록 방법 / Spring Bean 생명주기 (0) 2025.03.12 [CS/Spring] Spring Framework / Spring Boot와 Spring Framework의 차이 / 제어의 역전(IoC) / 의존성 주입(DI) (0) 2025.03.01