A web container (also known as a servlet container;
and compare "webcontainer"
[
]) is the component of a
web server
A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initi ...
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
servlet
A Jakarta Servlet (formerly Java Servlet) is a Java software component that extends the capabilities of a server. Although servlets can respond to many types of requests, they most commonly implement web containers for hosting web applicatio ...
s,
Jakarta Server Pages
Jakarta Server Pages (JSP; formerly JavaServer Pages) is a collection of technologies that helps software developers create dynamically generated web pages based on HTML, XML, SOAP, or other document types. Released in 1999 by Sun Microsystems, J ...
(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
Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web se ...
architecture. This architecture specifies a
runtime environment
In computer programming, a runtime system or runtime environment is a sub-system that exists both in the computer where a program is created, as well as in the computers where the program is intended to be run. The name comes from the compile ...
for additional web components, including
security" \n\n\nsecurity.txt is a proposed standard for websites' security information that is meant to allow security researchers to easily report security vulnerabilities. The standard prescribes a text file called \"security.txt\" in the well known locat ...
,
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
The Eclipse Foundation AISBL is an independent, Europe-based not-for-profit corporation that acts as a steward of the Eclipse open source software development community, with legal jurisdiction in the European Union. It is an organization supp ...
, divided depending on whether they are directly sold or not.
Open source Web containers
*
Apache Tomcat
Apache Tomcat (called "Tomcat" for short) is a free and open-source implementation of the Jakarta Servlet, Jakarta Expression Language, and WebSocket technologies. It provides a "pure Java" HTTP web server environment in which Java code can also ...
(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
Apache Geronimo is an open source application server developed by the Apache Software Foundation and distributed under the Apache license.
Geronimo 3, the current version, is compatible with the Java Enterprise Edition (Java EE) 6 specificati ...
is a full
Java EE
Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web se ...
6 implementation by
Apache Software Foundation.
*
Enhydra, from
Lutris Technologies
Lutris Technologies, Inc. was an enterprise software and services company based in Santa Cruz, California. It developed an application server called Enhydra Server through about 2005.
History
Lutris was founded by Paul Morgan and Michael Browde ...
.
*
GlassFish
GlassFish is an open-source Jakarta EE platform application server project started by Sun Microsystems, then sponsored by Oracle Corporation, and now living at the Eclipse Foundation and supported by Payara, Oracle and Red Hat. The supported ...
from
Eclipse Foundation
The Eclipse Foundation AISBL is an independent, Europe-based not-for-profit corporation that acts as a steward of the Eclipse open source software development community, with legal jurisdiction in the European Union. It is an organization supp ...
(an
application server, but includes a web container).
*
Jaminid contains a higher abstraction than servlets.
*
Jetty
A jetty is a structure that projects from land out into water. A jetty may serve as a breakwater, as a walkway, or both; or, in pairs, as a means of constricting a channel. The term derives from the French word ', "thrown", signifying somet ...
, from the
Eclipse Foundation
The Eclipse Foundation AISBL is an independent, Europe-based not-for-profit corporation that acts as a steward of the Eclipse open source software development community, with legal jurisdiction in the European Union. It is an organization supp ...
. Also supports
SPDY
SPDY (pronounced "speedy") is an obsolete open-specification communication protocol developed for transporting web content. SPDY became the basis for HTTP/2 specification. However, HTTP/2 diverged from SPDY and eventually HTTP/2 subsumed all us ...
and
WebSocket
WebSocket is a computer communications protocol, providing full-duplex communication channels over a single Transmission Control Protocol, TCP connection. The WebSocket protocol was standardized by the Internet Engineering Task Force, IETF as in ...
protocols.
*
Payara
The payara, ''Hydrolycus scomberoides'', is a species of dogtooth tetra. This predatory fish is found in the Amazon Basin in tropical South America.SeriouslyFish: Hydrolycus scomberoides.' Retrieved 31 October 2015. It was the first of four sp ...
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
Tiny may refer to: Kane
Places
* Tiny, Ontario, a township in Canada
* Tiny, Virginia, an unincorporated community in the US
* Tiny Glacier, Wyoming, US
Computing
* Tiny BASIC, a dialect of the computer programming language BASIC
* Tiny Encry ...
(TJWS) 2.
small footprint, modular design.
*
Virgo (software), Virgo from
Eclipse Foundation
The Eclipse Foundation AISBL is an independent, Europe-based not-for-profit corporation that acts as a steward of the Eclipse open source software development community, with legal jurisdiction in the European Union. It is an organization supp ...
provides modular,
OSGi
OSGi is an open specification and open source project under the Eclipse Foundation. It is a continuation of the work done by the OSGi Alliance (formerly known as the Open Services Gateway initiative), which was an open standards organization for ...
based web containers implemented using embedded
Tomcat and
Jetty
A jetty is a structure that projects from land out into water. A jetty may serve as a breakwater, as a walkway, or both; or, in pairs, as a means of constricting a channel. The term derives from the French word ', "thrown", signifying somet ...
. Virgo is available under the
Eclipse Public License
The Eclipse Public License (EPL) is a free and open source software license most notably used for the Eclipse IDE and other projects by the Eclipse Foundation. It replaces the Common Public License (CPL) and removes certain terms relating to ...
.
*
WildFly
WildFly, formerly known as JBoss AS, or simply JBoss, is an application server written by JBoss, now developed by Red Hat. WildFly is written in Java and implements the Java Platform, Enterprise Edition (Java EE) specification. It runs on mul ...
(formerly JBoss Application Server) is a full
Java EE
Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web se ...
implementation by
Red Hat, division
JBoss
WildFly, formerly known as JBoss AS, or simply JBoss, is an application server written by JBoss, now developed by Red Hat. WildFly is written in Java and implements the Java Platform, Enterprise Edition (Java EE) specification. It runs on mu ...
.
Commercial Web containers
*
iPlanet Web Server, from
Oracle
An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination.
Description
The wor ...
.
*
JBoss Enterprise Application Platform
The JBoss Enterprise Application Platform (or JBoss EAP) is a subscription-based/open-source Java EE-based application server runtime platform used for building, deploying, and hosting highly-transactional Java applications and services develo ...
from
Red Hat, division
JBoss
WildFly, formerly known as JBoss AS, or simply JBoss, is an application server written by JBoss, now developed by Red Hat. WildFly is written in Java and implements the Java Platform, Enterprise Edition (Java EE) specification. It runs on mu ...
is
subscription-based/
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
Jakarta EE
Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web se ...
-based
application server.
*
JRun, from
Adobe Systems (formerly developed by Allaire Corporation).
*
WebLogic Application Server, from
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
(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
SAP NetWeaver is a software stack for many of SAP SE's applications. The SAP NetWeaver Application Server, sometimes referred to as WebAS, is the runtime environment for the SAP applications and all of the mySAP Business Suite runs on SAP Web ...
.
*
tc Server, from
SpringSource Inc.
References
Computer networking
Java platform
Software architecture
Web applications
Web development
{{Compu-network-stub