🧺 Web Container란?

정의

Web Container는 Servlet과 JSP를 실행하고 관리하는 실행 환경이다. 웹 요청을 받아 서블릿 객체를 생성, 실행, 관리한다.

🎯 주요 역할

  • 요청을 받아 Servlet을 실행한다.
  • Servlet 생명주기를 관리한다.
  • HttpServletRequest, HttpServletResponse를 생성한다.
  • 세션과 요청/응답 처리를 돕는다.

포인트

Web Container는 서블릿을 실행하는 관리 환경이라고 이해하면 좋다.

🧱 대표 예시

  • Tomcat
  • Jetty
  • Undertow

🔄 요청 처리 흐름

  1. 클라이언트 요청이 들어온다.
  2. Web Container가 요청을 해석한다.
  3. Servlet 객체를 찾거나 생성한다.
  4. request, response 객체를 만든다.
  5. service()doGet(), doPost() 같은 메서드를 호출한다.
  6. 응답을 반환한다.

🧩 서블릿 생명주기

  • init()
  • service()
  • destroy()

정리

Web Container는 서블릿 객체의 생성부터 종료까지를 관리한다.

🌐 WAS와의 관계

  • Web Container는 WAS의 핵심 구성요소 중 하나다.
  • WAS는 Web Container 기능 외에도 비즈니스 로직, 트랜잭션, 세션 등 더 넓은 역할을 수행할 수 있다.

⚠️ 주의할 점

  • 요청마다 스레드가 생성되거나 할당될 수 있다.
  • 공유 필드 사용 시 동기화를 고려해야 한다.
  • 서블릿은 상태를 많이 들고 있지 않도록 설계하는 것이 좋다.

🧾 정리

Web Container는 Servlet/JSP를 실행하고 관리하는 환경이다. WAS 안에서 동작하며, 요청과 응답을 실제 코드로 연결하는 핵심 역할을 한다.


연결문서

댓글남기기