Spring MVC: DispatcherServlet이 뭘까?

이건우·2025년 3월 28일

웹 프로그래밍

목록 보기
36/43

DispatcherServlet이란?

클라이언트로부터 들어온 클라이언트의 요청을 받아서
어떤 컨트롤러가 처리해야 할지를 결정하고,
처리 결과를 받아 다시 클라이언트에게 응답하는 역할을 하는 서블릿입니다.

그럼, 서블릿이란??

Java로 웹 요청/응답을 처리하는 클래스입니다.
클라이언트의 HTTP 요청을 받아서, 처리하고, 응답을 보내는 역할을 합니다.

결론

Spring MVC에서 모든 HTTP 요청을 중앙에서 처리하는 프론트 컨트롤러(Front Controller)입니다.

Spring Web MVC 구조에서 흐름

DispatcherServlet의 실행 흐름

[클라이언트 요청]
      ↓
DispatcherServlet
      ↓
핸들러 매핑 (HandlerMapping)
      ↓
컨트롤러 (@Controller)
      ↓
서비스 → DAO → DB
      ↓
응답 생성 (ViewResolver or @ResponseBody)
      ↓
DispatcherServlet
      ↓
[클라이언트 응답]
  • HandlerMapping - 어떤 URL을 어떤 컨트롤러와 연결할지 결정하는 역할을 합니다.
  • ViewResolver - View 이름을 JSP, HTML 등 실제 파일로 변환하여 반환합니다.

흐름 예시

GET /users/5
  1. 클라이언트가 /users/5로 요청

  2. DispatcherServlet이 요청 수신

  3. HandlerMapping → UserController#getUser(Long id) 매핑

  4. 컨트롤러 실행 → 사용자 정보 반환

  5. ViewResolver로 JSP or JSON View 선택

  6. DispatcherServlet이 응답을 완성해서 클라이언트에 전달

결론

DispatcherServlet은 모든 요청을 받는 프론트 컨트롤러로,
서버의 컨트롤러와 뷰 사이를 연결하는 중앙 허브역할을 합니다.

Spring MVC의 흐름을 자동화해주는 핵심 컴포넌트!

profile
새싹개발자

0개의 댓글