웹 컨테이너

웹 컨테이너(web container, 또는 서블릿 컨테이너)는 웹 서버의 컴포넌트 중 하나로 자바 서블릿과 상호작용한다. 웹 컨테이너는 서블릿의 생명주기를 관리하고, URL과 특정 서블릿을 맵핑하며 URL 요청이 올바른 접근 권한을 갖도록 보장한다.

웹 컨테이너는 서블릿, 자바서버 페이지(JSP) 파일, 그리고 서버-사이드 코드가 포함된 다른 타입의 파일들에 대한 요청을 다룬다. 웹 컨테이너는 서블릿 객체를 생성하고, 서블릿을 로드와 언로드하며, 요청과 응답 객체를 생성하고 관리하고, 다른 서블릿 관리 작업을 수행한다.

웹 컨테이너는 웹 컴포넌트 자바 EE 아키텍처 제약을 구현하고, 보안, 병행성, 생명주기 관리, 트랜잭션, 배포 등 다른 서비스를 포함하는 웹 컴포넌트의 실행 환경을 명세한다.

서블릿 컨테이너 목록 
다음 목록은 선 마이크로시스템즈의 자바 서블릿 명세를 구현한 애플리케이션들을 판매여부에 따라 분류한 목록이다.

오픈 소스 웹 컨테이너 
 아파치 톰캣 (예전 자카르타 톰캣) 은 아파치 소프트웨어 라이선스 하에 사용할 수 있는 오픈 소스 웹 컨테이너다.
 아파치 제로니모는 아파치 소프트웨어 재단에서 자바 EE 6를 완전히 구현한 웹 컨테이너다.
 Lutris Technologies 사의 Enhydra.
 오라클의 글래스피시 (웹 컨테이너를 포함하는 애플리케이션 서버)
 제이보스 (현재 WildFly)는 레드햇의 제이보스에서 자바 EE를 완전히 구현한 웹 컨테이너다.
 이클립스 재단의 제티. SPDY와 웹소켓 프로토콜을 지원한다.
 Jaminid 는 서블릿의 추상화된 개념을 포함하고 있다.
 Winstone 은 v2.5 (현재 0.9) 명세를 지원하고, 최소한의 설정에 초점을 맞추고 원하는 기능만 남도록 추려내는 기능을 가지고 있다.
 Tiny Java Web Server (TJWS) 2.5는 작고 모듈화 가능하도록 설계되어있다.
 이클립스 재단의 Virgo는 모듈화된 OSGi 기반의 웹 컨테이너로 내장 톰캣과 제티를 구현하고 있다. Virgo는 이클립스 공용 라이선스 하에 사용할 수 있다.

상용 웹 컨테이너 
 오라클의 iPlanet Web Server.
 레드햇, 제이보스의 JBoss Enterprise Application Platform 는 서브스크립션 커머스와 오픈소스로 된 자바 EE 기반의 애플리케이션 서버다.
 어도비 시스템즈의 JRun (과거 Allaire Corporation에서 개발).
 오라클의 WebLogic Application Server (과거 BEA Systems에서 개발).
 IronFlaer의 Orion Application Server.
 Caucho Technology의 Resin Pro.
 New Atlanta Communications의 ServletExec.
 IBM WebSphere Application Server.
 SAP NetWeaver.
 SpringSrouce Inc. 의 tc Server.

참조 

컴퓨터 네트워킹
자바 플랫폼
소프트웨어 구조
웹 애플리케이션
웹 개발