Web container
# Web container

A web container (also known as a servlet container; and compare "webcontainer") is the component of a web server that interacts with Jakarta Servlets. A web container is responsible for managing the lifecycle of servlets, mapping a URL to a particular servlet and ensuring that the URL requester has the correct access-rights. A web container handles requests to servlets, Jakarta Server Pages (JSP) files, and other types of files that include server-side code. The Web container creates servlet instances, loads and unloads servlets, creates and manages request and response objects, and performs other servlet-management tasks. A web container implements the web component contract of the Jakarta EE architecture. This architecture specifies a runtime environment for additional web components, including security, concurrency, lifecycle management, transaction, deployment, and other services.

## List of Servlet containers

The following is a list of applications which implement the Jakarta Servlet specification from Eclipse Foundation, divided depending on whether they are directly sold or not.

### Open source Web containers

* Apache Tomcat (formerly Jakarta Tomcat) is an open source web container available under the Apache Software License.
   * Apache Tomcat 6 and above are operable as general application container (prior versions were web containers only)
* Apache Geronimo is a full Java EE 6 implementation by Apache Software Foundation.
* Enhydra, from Lutris Technologies.
* GlassFish from Eclipse Foundation (an application server, but includes a web container).
* Jaminid contains a higher abstraction than servlets.
* Jetty, from the Eclipse Foundation. Also supports SPDY and WebSocket protocols.
* Payara is another application server, derived from Glassfish.
* Winstone supports specification v2.5 as of 0.9, has a focus on minimal configuration and the ability to strip the container down to only what you need.
* Tiny Java Web Server (TJWS) 2.5 , small footprint, modular design.
* Virgo from Eclipse Foundation provides modular, OSGi based web containers implemented using embedded Tomcat and Jetty. Virgo is available under the Eclipse Public License.
* WildFly (formerly JBoss Application Server) is a full Java EE implementation by Red Hat, division JBoss.

### Commercial Web containers

* iPlanet Web Server, from Oracle.
* JBoss Enterprise Application Platform from Red Hat, division JBoss is subscription-based/open-source Jakarta EE-based application server.
* JRun, from Adobe Systems (formerly developed by Allaire Corporation).
* WebLogic Application Server, from Oracle Corporation (formerly developed by BEA Systems).
* Orion Application Server, from IronFlare.
* Resin Pro, from Caucho Technology.
* ServletExec, from New Atlanta Communications.
* IBM WebSphere Application Server.
* SAP NetWeaver.
* tc Server, from SpringSource Inc.
