서블릿(Servlet)이란?
클라이언트의 HTTP 요청(Request)을 받아 처리하고,
처리 결과를 HTTP 응답(Response)으로 보내는 자바 프로그램
웹 애플리케이션에서 브라우저와 서버 사이를 연결해 주는 역할
서블릿의 역할
서블릿은 다음과 같은 역할을 수행한다.
- 클라이언트의 HTTP 요청(Request)을 받는다.
- 요청 데이터를 읽고 해석한다.
- 요청을 적절한 비즈니스 로직(Controller, Service)으로 전달한다.
- 처리 결과를 HTTP 응답(Response)으로 만들어 클라이언트에게 전송한다.
서블릿 동작 과정
브라우저
↓
HTTP 요청(Request)
↓
Servlet
↓
Controller
↓
Service
↓
Repository
↓
DB
↓
Controller
↓
Servlet
↓
HTTP 응답(Response)
↓
브라우저
Servlet Container란?
Servlet Container는 서블릿을 실행하고 관리하는 프로그램이다.
대표적인 서블릿 컨테이너가 바로 톰캣(Tomcat)이다.
Servlet Container의 역할
Servlet Container는 다음과 같은 역할을 한다.
- HTTP 요청을 받아 적절한 서블릿에게 전달한다.
- 서블릿이 생성한 응답을 클라이언트에게 전송한다.
- 서블릿의 생성, 초기화, 종료 등 생명주기를 관리한다.
- 여러 사용자의 요청을 동시에 처리할 수 있도록 스레드를 관리한다.
즉, 서블릿이 실행될 수 있는 환경을 제공하는 역할을 한다.
Servlet과 Servlet Container의 관계
식당으로 비유하면 이해하기 쉽다.
손님(클라이언트)
↓
매니저 (Servlet Container, Tomcat)
↓
직원 (Servlet)
↓
요리사 (Service)
↓
직원 (Servlet)
↓
매니저 (Servlet Container)
↓
손님
- Servlet Container(Tomcat) : 직원을 관리하고 손님의 주문을 전달하는 매니저
- Servlet : 주문을 받아 요리사에게 전달하고, 완성된 음식을 손님에게 전달하는 직원
- Service : 실제 요리를 하는 요리사(비즈니스 로직 수행)
'Spring' 카테고리의 다른 글
| [Spring] 핵심 개념 정리 (Bean, IoC, DI) (0) | 2026.07.02 |
|---|---|
| [Spring] Request DTO는 스프링이 만들어주는데, Response DTO는 왜 내가 만들어야 할까? (0) | 2026.07.01 |
| [Spring 입문] 스프링 전체 흐름 정리 (0) | 2026.06.29 |
| [Spring 입문] 어노테이션 & Lombok (0) | 2026.06.25 |
| [Spring 기초] Spring이란? (0) | 2026.06.24 |