Spring

[Spring 입문] Servlet 이해하기

chungmani 2026. 6. 26. 21:04

서블릿(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 : 실제 요리를 하는 요리사(비즈니스 로직 수행)