Web container: Difference between revisions

Content deleted Content added
AnomieBOT (talk | contribs)
m Dating maintenance tags: {{Referenced}}
 
(43 intermediate revisions by 34 users not shown)
Line 1:
{{Short description|Component of Java web server}}
{{referencedmore citations needed|date=October 2015}}
'''Web container''' (also known as a Servlet container) is the component of a [[web server]] that interacts with [[Java (programming language)|Java]] [[servlet]]s. 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.<ref>{{cite web|last1=Bricker|first1=Sarah|title=MAKE TECHNICAL TALK FRIENDLY & DIGESTIBLE|url=http://www.insiteadvice.com/make-technical-talk-friendly-digestible/|accessdate=20 October 2015|date=16 October 2015}}</ref>
A '''web container''' (also known as a servlet container;<ref>
 
{{cite book
A web container handles requests for [[Java servlet|servlet]]s, [[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.
| author = Pilgrim, Peter A.
 
| chapter = The lifecycle of Java Servlets
A web container implements the web component contract of the [[Java Platform, Enterprise Edition|Java EE]] architecture, specifying a [[runtime environment]] for web components that includes [[Computer security|security]], [[concurrency (computer science)|concurrency]], [[Java Servlet#Life cycle of a servlet|lifecycle management]], [[Transaction processing|transaction]], deployment, and other services.
| title = Java EE 7 Developer Handbook
| url = https://books.google.com/books?id=rY_1AAAAQBAJ
| series = Professional expertise distilled
| date = 20 September 2013
| publisher = Packt Publishing Ltd
| publication-date = 2013
| isbn = 9781849687959
| access-date = 2016-06-16
| quote = Java Servlets are governed by a web container (a Servlet container).
}}
</ref>
and compare "webcontainer"<ref>
{{cite web
| url = http://www.slideshare.net/bputhal/j2-eee-sides
| title = J2EE Framework for project development
| author = Puthal, B
| year = 2009
| access-date = 2016-06-15
| quote = The types of components within J2EE environment are [...] JSP or servlet as web components running inside webtainer [...]
}}
</ref>) is the component of a [[web server]] that interacts with [[Jakarta Servlet]]s. 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 [[Jakarta Servlet|servlet]]s, [[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 [[computer security|security]], [[concurrency (computer science)|concurrency]], [[Jakarta Servlet#Life cycle of a servlet|lifecycle management]], [[transaction processing|transaction]], deployment, and other services.
 
==List of Servlet containers==
The following is a list of notable applications which implement the [[JavaJakarta Servlet]] specification from [[SunEclipse MicrosystemsFoundation]], divided depending on whether they are directly sold or not.
 
===Non-commercialOpen 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]].
* [[GlassFish]] (open source), from [[Oracle Corporation|Oracle]]
* [[Enhydra Server|Enhydra]], from [[Lutris Technologies]].
* [[JBoss Application Server]] ([[open source]]) is a full Java EE implementation by Red Hat inc., division JBoss.
* [[Jetty (web server)|JettyGlassFish]] (from [[open source]]) is from the Eclipse Foundation. Also supports [[SPDY]] and(an [[WebSocketapplication server]], protocolsbut includes a web container).
* [[Jetty (web server)|Jetty]], from the [[Eclipse Foundation]]. Also supports [[SPDY]] and [[WebSocket]] protocols.
* [[Jaminid]] contains a higher abstraction than servlets.
* Open Liberty, from IBM, is a fully compliant Jakarta EE server
* [[Enhydra Server|Enhydra]]
* [http://www.eclipse.org/virgo[Virgo (software)|Virgo]] from [[Eclipse VirgoFoundation]] provides modular, [[OSGi]] based web containers implemented using embedded [[Apache Tomcat|Tomcat]] and [[Jetty (web server)|Jetty]]. Virgo is open source and available under the [[Eclipse Public License]].
* [[Winstone Servlet Container|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.
* [[JBoss Application ServerWildFly]] ([[openformerly source]]JBoss Application Server) is a full [[Java EE]] implementation by [[Red Hat inc.]], division [[JBoss (company)|JBoss]].
* [[Tiny Java Web Server]] (TJWS) 2.5 [http://sourceforge.net/projects/tjws], small footprint, modular design
* [http://www.eclipse.org/virgo Eclipse Virgo] provides modular, [[OSGi]] based web containers implemented using embedded [[Apache Tomcat|Tomcat]] and [[Jetty (web server)|Jetty]]. Virgo is open source and available under the [[Eclipse Public License]].
 
===Commercial Web containers===
* [[GlassFish]]Oracle (openiPlanet source)Web Server|iPlanet Web Server]], from [[Oracle Corporation|Oracle]].
* [[Borland Enterprise Server]]
* [[JBoss Enterprise Application Platform]] from [[Red Hat]], division [[JBoss (company)|JBoss]] is [[Subscription|subscription-based]]/[[Open-source software|open-source]] [[Jakarta EE]]-based [[application server]].
* [[Sun GlassFish Server]], from Sun Microsystems
* [[SunWebLogic Java System WebApplication Server]], from Sun[[Oracle Corporation]] (formerly developed by BEA MicrosystemsSystems).
* [[Sun Java SystemOrion Application Server]] (is an [[Application Server]], but includes a webfrom container)IronFlare.
* [[Resin Server|Resin Pro]], from Caucho Technology.
* [[JBoss Enterprise Application Platform]] ([[open source]])
* [[IBM WebSphere Application Server]].
* [[JRun]], from [[Adobe Systems]] (formerly developed by Allaire Corporation)
* [[SAP NetWeaver]].
* [[LiteWebServer]] (open source)
 
* [[WebLogic Application Server]], from [[Oracle Corporation]] (developed by BEA Systems)
==References==
* [[Orion Application Server]], from [[IronFlare AB|IronFlare]]
* Caucho's [[Resin Server]] (open source)
* [[ServletExec]], from [[New Atlanta|New Atlanta Communications]]
* [[IBM WebSphere Application Server]]
* [[SAP NetWeaver]]
* [[SpringSource tc Server|tc Server]] ([[SpringSource]])
==Notes==
{{Reflist}}
{{Web interfaces}}
{{Portal bar|JavaComputer programming}}
 
{{DEFAULTSORT:Web Container}}
[[Category:Computer networking]]
[[Category:Java platform]]
[[Category:Lists of software]]
[[Category:Software architecture]]
[[Category:Web applications]]