A web container (also known as a servlet container; and compare "webtainer") is the component of a web server that interacts with Java 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, JavaServer 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 Java EE architecture, specifying a runtime environment for web components that includes security, concurrency, lifecycle management, transaction, deployment, and other services.
List of Servlet containers
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 Oracle (an Application Server, but includes a web container).
- JBoss Application Server (now WildFly) is a full Java EE implementation by Red Hat Inc., division JBoss.
- Jetty, from the Eclipse Foundation. Also supports SPDY and WebSocket protocols.
- Jaminid contains a higher abstraction than servlets.
- 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.
Commercial Web containers
- iPlanet Web Server, from Oracle.
- JBoss Enterprise Application Platform from Red Hat Inc., division JBoss is subscription-based/open-source Java 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.
- 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 [...]