Web container: Difference between revisions

Content deleted Content added
 
(35 intermediate revisions by 27 users not shown)
Line 1:
{{Short description|Component of Java web server}}
{{referencedmore citations needed|date=October 2015}}
A '''web container''' (also known as a servlet container;<ref>
{{cite book
| last1 author = Pilgrim, Peter A.
| first1 = Peter A.
| chapter = The lifecycle of Java Servlets
| 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
| accessdateaccess-date = 2016-06-16
| quote = Java Servlets are governed by a web container (a Servlet container).
}}
</ref>
and compare "webtainerwebcontainer"<ref>
{{cite web
| url = http://www.slideshare.net/bputhal/j2-eee-sides
| title = J2EE Framework for project development
| last1author = Puthal, B
| first1 = B
| author-link1 =
| 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 [[JavaJakarta (programming language)|Java]] [[servletServlet]]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 A web|last1= Bricker|first1=container Sarahhandles requests to [[Jakarta Servlet|title=servlet]]s, MAKE[[Jakarta TECHNICALServer TALKPages]] FRIENDLY(JSP) &files, DIGESTIBLE|url=and other types of files that include server-side http://wwwcode.insiteadvice.com/make The Web container creates servlet instances, loads and unloads servlets, creates and manages request and response objects, and performs other servlet-technical-talk-friendly-digestible/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|accessdate=security]], 20[[concurrency October(computer 2015science)|date=concurrency]], 16[[Jakarta OctoberServlet#Life 2015}}cycle of a servlet|lifecycle management]], [[transaction processing|transaction]], deployment, and other services.
</ref>
 
A web container handles requests to [[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.
 
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.
 
==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.
 
===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 Server|Enhydra]], from [[Lutris Technologies]].
* [[GlassFish]] from [[OracleEclipse Corporation|OracleFoundation]] (an [[Applicationapplication Serverserver]], but includes a web container).
* [[Jetty (web server)|Jetty]], from the [[Eclipse Foundation]]. Also supports [[SPDY]] and [[WebSocket]] protocols.
* [[JBoss Application Server]] (now WildFly) is a full [[Java EE]] implementation by [[Red Hat|Red Hat Inc.]], division JBoss.
* Open Liberty, from IBM, is a fully compliant Jakarta EE server
* [[Jetty (web server)|Jetty]], from the [[Eclipse Foundation]]. Also supports [[SPDY]] and [[WebSocket]] protocols.
* [[Jaminid]] contains a higher abstraction than servlets.
* [[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.
* [[Tiny Java Web Server]] (TJWS) 2.5 [http://sourceforge.net/projects/tjws], small footprint, modular design.
* [[Virgo (software)|Virgo]] from [[Eclipse Foundation]] provides modular, [[OSGi]] based web containers implemented using embedded [[Apache Tomcat|Tomcat]] and [[Jetty (web server)|Jetty]]. Virgo is available under the [[Eclipse Public License]].
* [[JBoss Application ServerWildFly]] (nowformerly WildFlyJBoss Application Server) is a full [[Java EE]] implementation by [[Red Hat|Red Hat Inc.]], division [[JBoss (company)|JBoss]].
 
===Commercial Web containers===
* [[Oracle iPlanet Web Server|iPlanet Web Server]], from [[Oracle Corporation|Oracle]].
* [[JBoss Enterprise Application Platform]] from [[Red Hat|Red Hat Inc.]], division [[JBoss (company)|JBoss]] is [[Subscription|subscription-based]]/[[Open-source software|open-source]] [[JavaJakarta EE]]-based [[application server]].
* [[JRun]], from [[Adobe Systems]] (formerly developed by Allaire Corporation).
* [[WebLogic Application Server]], from [[Oracle Corporation]] (formerly developed by BEA Systems).
* [[Orion Application Server]], from [[IronFlare AB|IronFlare]].
* [[Resin Server|Resin Pro,]], from Caucho Technology.
* [[ServletExec]], from [[New Atlanta|New Atlanta Communications]].
* [[IBM WebSphere Application Server]].
* [[SAP NetWeaver]].
 
* [[SpringSource tc Server|tc Server]], from [[SpringSource|SpringSource Inc.]]
==NotesReferences==
{{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]]