Servlet은 Java 웹 애플리케이션에서 클라이언트의 요청을 처리하고, 응답을 생성하는 서버 측 컴포넌트입니다. 직접 HTTP 요청을 받고, 비즈니스 로직을 실행하며, HTML 등의 응답을 생성하는 역할을 합니다.
특징:
HttpServlet, GenericServlet)DispatcherServlet은 Spring MVC 프레임워크의 핵심 컴포넌트로, 중앙 요청 처리기 역할을 합니다. 클라이언트로부터의 모든 요청을 받아서 적절한 컨트롤러로 전달하고, 응답을 생성하는 과정 전체를 관리합니다.
특징:
HandlerMapping, HandlerAdapter, ViewResolver 등을 사용하여 요청을 처리하고 응답을 생성작동 방식: DispatcherServlet은 HTTP 요청을 받아서, 요청에 맞는 컨트롤러를 찾기 위해 여러 HandlerMapping을 조회하고, 컨트롤러를 실행시키기 위해 여러 HandlerAdapter를 사용합니다. 처리된 결과를 ViewResolver를 통해 적절한 뷰로 렌더링합니다.
| 특징 | Servlet | DispatcherServlet |
|---|---|---|
| 역할 | HTTP 요청을 직접 처리하고 응답을 생성 | 중앙 요청 처리기, 요청을 컨트롤러로 위임 |
| 사용 맥락 | 전통적인 Java 웹 애플리케이션 | Spring MVC 기반 웹 애플리케이션 |
| 요청 처리 방식 | doGet, doPost 등의 메서드로 요청 처리 |
HandlerMapping, HandlerAdapter 등을 통해 요청 위임 |
| 응답 생성 방식 | 직접 HTML 작성 또는 JSP 포워딩 | ViewResolver 등을 통해 뷰 결정 |
| 확장성 | 특정 서블릿에 대한 요청 처리만 가능 | 컨트롤러, 서비스 등 다양한 컴포넌트와 협력 |
| 프레임워크 통합 | 독립적으로 사용 가능 | Spring 프레임워크의 일부로 동작 |