EdgeSecu

DispatcherServlet, Servlet, Controller 차이 본문

공부/Spring

DispatcherServlet, Servlet, Controller 차이

Edgemine 2025. 7. 20. 14:28

🔁 DispatcherServlet이 뭔데?

👉 DispatcherServlet은 Spring MVC의 핵심 서블릿이야.

  • Spring MVC 구조에서 "중앙 집중 교통 정리" 역할을 함.
  • 클라이언트 요청이 들어오면 가장 먼저 DispatcherServlet이 받는다.
  • 그리고 알맞은 @Controller를 찾아서 실행시키고,
  • 실행 결과(View 이름)를 받아서 ViewResolver로 넘겨줘!

💡 전체 흐름 요약 

🌐 클라이언트가 /hello로 요청하면…

  1. Tomcat이 HTTP 요청을 받음
  2. 해당 요청은 DispatcherServlet (Spring이 등록해둔 서블릿) 으로 전달됨
  3. DispatcherServlet은 요청 경로를 분석해서,
    👉 적절한 @Controller와 메서드를 찾아서 실행
  4. Controller에서 비즈니스 로직 처리 + View 이름 반환 ("hello" 같은 거)
  5. DispatcherServlet이 ViewResolver로 넘겨서 실제 템플릿(예: hello.html) 찾음
  6. 화면을 클라이언트에게 응답

🔍 셋의 관계 한 줄 요약

컴포넌트역할

Servlet Java에서 웹 요청을 처리하는 가장 원초적인 도구
DispatcherServlet Spring이 만든 서블릿. 요청을 받아서 컨트롤러에게 전달함 (핵심 중간 관리자)
Controller 실제 비즈니스 로직이 담긴 클래스. 사용자 요청에 대한 답변을 만들어냄

🧠 한 문장 정리

Servlet은 웹 요청을 처리하는 원초적인 기술,
DispatcherServlet은 Spring이 만든 특수 서블릿이고,
Controller는 DispatcherServlet이 요청을 넘겨주는 실제 일꾼!