A web container (also known as a servlet container;[1]
and compare "webcontainer"[2]) 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.
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 [1], 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.
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.
References
^
Pilgrim, Peter A. (2013). "The lifecycle of Java Servlets". Java EE 7 Developer Handbook. Professional expertise distilled. Packt Publishing Ltd. ISBN 9781849687959. Retrieved 2016-06-16. Java Servlets are governed by a web container (a Servlet container).
^
Puthal, B (2009). "J2EE Framework for project development". Retrieved 2016-06-15. The types of components within J2EE environment are [...] JSP or servlet as web components running inside webtainer [...]