Web container
Web container (also known as a Servlet container) 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 for 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 EEarchitecture, specifying a runtime environment for web components that includes security, concurrency, lifecycle management, transaction, deployment, and other services.
List of Servlet containers[edit]
The following is a list of applications which implement the Java Servletspecification from Sun Microsystems, divided depending on whether they are directly sold or not.
Non-commercial Web containers[edit]
- Apache Tomcat (formerly Jakarta Tomcat) is an open source web container available under the Apache Software License.
- Apache Geronimo is a full Java EE implementation by Apache.
- GlassFish (open source), from Oracle
- JBoss Application Server (open source) is a full Java EE implementation by Red Hat inc., division JBoss.
- Jetty is (open source) from the Eclipse Foundation. Also supports SPDY andWebSocket protocols.
- Jaminid contains a higher abstraction than servlets.
- Enhydra
- 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
- Eclipse Virgo provides modular, OSGi based web containers implemented using embedded Tomcat and Jetty. Virgo is open source and available under the Eclipse Public License.