[ CS Study ] Dispatcher Servlet

이승렬·2023년 7월 19일

[Spring]

목록 보기
6/15
post-thumbnail

#1. 동작원리

Spring Web MVC의 DispatcherServlet은 클라이언트로부터 들어오는 HTTP 요청을 처리하는 핵심 컴포넌트입니다. 이를 통해 클라이언트의 요청을 적절한 핸들러로 매핑하고, 해당 핸들러의 실행 결과를 클라이언트에 반환합니다.

DispatcherServlet은 웹 애플리케이션의 web.xml 파일에 등록되어 있으며, 클라이언트로부터 HTTP 요청이 발생하면 이 서블릿이 요청을 받아들입니다.

DispatcherServlet의 동작 원리는 다음과 같습니다:

클라이언트로부터 HTTP 요청이 들어옵니다.

DispatcherServlet은 요청을 분석하여 어떤 핸들러에게 처리를 위임해야 하는지 결정합니다. 이를 위해 핸들러 매핑 전략을 사용합니다. 주로 HandlerMapping 구현체들이 이 역할을 수행합니다.

DispatcherServlet은 선택된 핸들러(컨트롤러)를 실행합니다. 핸들러는 비즈니스 로직을 담당하며, 요청에 대한 실제 처리를 수행합니다.
핸들러의 실행 결과로부터 ModelAndView 객체를 생성합니다. ModelAndView는 처리 결과 데이터와 이를 보여줄 뷰의 이름을 담고 있습니다.

DispatcherServlet은 ViewResolver를 사용하여 뷰 이름을 실제 뷰 객체로 변환합니다. 이는 클라이언트에게 보여질 최종 결과를 생성하기 위해 사용됩니다.

생성된 뷰를 통해 최종 결과를 생성하고, 클라이언트에 반환합니다.

이러한 과정을 통해 DispatcherServlet은 클라이언트의 요청을 핸들러에게 전달하고, 핸들러의 실행 결과를 클라이언트에게 반환하는 역할을 수행합니다. 이를 통해 개발자는 핸들러의 비즈니스 로직에 집중할 수 있으며, 요청-응답 처리의 다양한 측면을 유연하게 제어할 수 있습니다.

profile
Backend_Developer

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

이 글은 저에게 많은 도움이 되었습니다.

답글 달기