A web container (also known as a servlet container;
and compare "webcontainer"
[
]) 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
A Uniform Resource Locator (URL), colloquially termed as a web address, is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identifie ...
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
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
Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to:
Law
* Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea''
* Concurring opinion (also called a "concurrence"), a ...
,
lifecycle management,
transaction
Transaction or transactional may refer to:
Commerce
* Financial transaction, an agreement, communication, or movement carried out between a buyer and a seller to exchange an asset for payment
*Debits and credits in a Double-entry bookkeeping sys ...
, 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 (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
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 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 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.
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 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.
*
WildFly (formerly JBoss Application Server) is a full
Java EE implementation by
Red Hat, division
JBoss.
Commercial Web containers
*
iPlanet Web Server
Oracle iPlanet Web Server (OiWS) is a web server designed for medium and large business applications. Previous versions were marketed as Netscape Enterprise Server, iPlanet Web Server, Sun ONE Web Server, and Sun Java System Web Server.
Oracle i ...
, 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 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
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