🧩 Servlet Container란

정의

Servlet Container는 서블릿의 생성, 초기화, 요청 처리, 종료까지 생명주기를 관리하는 실행 환경이다. 웹 서버와 서블릿 사이에서 요청/응답 흐름을 연결해 준다.

  • 서블릿 인스턴스를 만들고 관리한다.
  • HttpServletRequest, HttpServletResponse 객체를 생성해 전달한다.
  • URL 매핑을 통해 알맞은 서블릿을 찾아 호출한다.

⚙️ 기능

web server와 통신 지원

  • 웹 서버와의 연결, 요청 수신, 응답 반환 같은 과정을 API 수준에서 처리한다.

Servlet lifecycle 관리

  • 서블릿을 인스턴스화하고 init(), service(), destroy() 호출 흐름을 관리한다.

multi thread 지원 및 관리

  • 일반적으로 요청마다 컨테이너가 스레드 풀의 작업 스레드를 할당한다.
  • 하나의 서블릿 인스턴스를 여러 요청 스레드가 공유할 수 있으므로 동기화에 주의해야 한다.

부가 기능 제공

  • 세션 관리, 필터 처리, 보안 설정, JSP 연동 같은 웹 애플리케이션 기능을 함께 제공한다.

⚠️ 주의사항

  • 요청마다 새로운 스레드를 직접 생성하는 구조라고 보면 안 된다.
  • 서블릿 인스턴스가 공유되므로 멤버 변수 사용은 신중해야 한다.
  • 컨테이너의 역할과 서블릿의 역할을 구분해서 이해하는 것이 중요하다.

📌 정리

  • Servlet Container는 서블릿 실행을 책임지는 런타임 환경이다.
  • 요청을 받아 적절한 서블릿에 전달하고, 응답이 나올 때까지 흐름을 관리한다.
  • Servlet과 DispatcherServlet을 이해하려면 먼저 이 개념을 잡아야 한다.

연결문서

태그:

카테고리:

업데이트:

댓글남기기