Web container

From HandWiki
Short description: Component of Java web server

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.
  • 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 [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.

Commercial Web containers

References

  1. Pilgrim, Peter A. (20 September 2013). "The lifecycle of Java Servlets". Java EE 7 Developer Handbook. Professional expertise distilled. Packt Publishing Ltd (published 2013). ISBN 9781849687959. https://books.google.com/books?id=rY_1AAAAQBAJ. Retrieved 2016-06-16. "Java Servlets are governed by a web container (a Servlet container)." 
  2. Puthal, B (2009). "J2EE Framework for project development". http://www.slideshare.net/bputhal/j2-eee-sides. "The types of components within J2EE environment are [...] JSP or servlet as web components running inside webtainer [...]"