📋 Servlet과 DispatcherServlet 비교

✅ Servlet

Servlet은 Java 웹 애플리케이션에서 클라이언트의 요청을 처리하고, 응답을 생성하는 서버 측 컴포넌트입니다. 직접 HTTP 요청을 받고, 비즈니스 로직을 실행하며, HTML 등의 응답을 생성하는 역할을 합니다.

특징:

✅ DispatcherServlet

DispatcherServlet은 Spring MVC 프레임워크의 핵심 컴포넌트로, 중앙 요청 처리기 역할을 합니다. 클라이언트로부터의 모든 요청을 받아서 적절한 컨트롤러로 전달하고, 응답을 생성하는 과정 전체를 관리합니다.

특징:

작동 방식: DispatcherServlet은 HTTP 요청을 받아서, 요청에 맞는 컨트롤러를 찾기 위해 여러 HandlerMapping을 조회하고, 컨트롤러를 실행시키기 위해 여러 HandlerAdapter를 사용합니다. 처리된 결과를 ViewResolver를 통해 적절한 뷰로 렌더링합니다.

✅ 역할 비교

특징 Servlet DispatcherServlet
역할 HTTP 요청을 직접 처리하고 응답을 생성 중앙 요청 처리기, 요청을 컨트롤러로 위임
사용 맥락 전통적인 Java 웹 애플리케이션 Spring MVC 기반 웹 애플리케이션
요청 처리 방식 doGet, doPost 등의 메서드로 요청 처리 HandlerMapping, HandlerAdapter 등을 통해 요청 위임
응답 생성 방식 직접 HTML 작성 또는 JSP 포워딩 ViewResolver 등을 통해 뷰 결정
확장성 특정 서블릿에 대한 요청 처리만 가능 컨트롤러, 서비스 등 다양한 컴포넌트와 협력
프레임워크 통합 독립적으로 사용 가능 Spring 프레임워크의 일부로 동작