Java Servlets
Java servlet je program napsaný v programovacím jazyce Java, který běží na webovém nebo aplikačním serveru. Tvoří vrstvu mezi HTTP požadavkem od webového klienta a databází nebo aplikací na jiném serveru. Servlety jsou Javovský protějšek jiných technologií pro tvorbu dynamického webového obsah jako jsou PHP nebo ASP.NET.
Úvod
Základní použití servletů:
- Zpracování dat z HTML formulářů.
- Získávání dat z databáze.
- Řešení bezstavového problému protokolu HTTP.
- Vytváření dynamického obsahu webu.
Java Servlety často slouží ke stejnému účelu jako programy realizované pomocí Common Gateway Interface (CGI). Ale Servlety nabízejí několik výhod ve srovnání s CGI:
- Výkon je výrazně vyšší.
- Servlety se pouští v adresním prostoru webového serveru. Není tedy nutné vytvářet samostatný proces pro zpracování každého požadavku klienta.
- Servlety jsou nezávislé na platformě, protože jsou psány v Javě.
- Plná funkčnost knihoven jazyka Java je servletům k dispozici. Je možné komunikovat s applety, databází nebo jiným virtuálním strojem pomocí RMI.
Technicky vzato je servlet třída z Java EE, která je v souladu se Java Servlet API. To je standard pro implementaci Java tříd, které reagují na HTTP požadavky a najdeme jej v balíčcích javax.servlet a javax.servlet.http. Servlety by v zásadě mohli komunikovat přes libovolný protokol typu klient-server, ale nejčastěji jsou používány s protokolem HTTP. Běžně generovaný dynamický obsah je HTML, ale může se jednat i o jiné jazyky například XML. Servlety mohou udržovat stav relace pomocí HTTP cookies nebo přepisováním URL.
Pro použití servletů je potřeba mít webový server, který se také někdy označuje jako servlet kontejner. Nejčastěji se servlety zabalí do WAR archívu a provede se jejich nasazení (deploy) na server. Mezi webové servery patří například Apache Tomcat. Webový server v sobě obsahují i aplikační servery jako GlassFish, JBoss nebo WebLogic.
Historie verzí
History
The Servlet specification was created by Sun Microsystems, with version 1.0 finalized in June 1997. Starting with version 2.3, the specification was developed under the Java Community Process. JSR 53 defined both the Servlet 2.3 and JavaServer Page 1.2 specifications. JSR 154 specifies the Servlet 2.4 and 2.5 specifications. As of March 26, 2010, the current version of the Servlet specification is 3.0.
In his blog on java.net, Sun veteran and GlassFish lead Jim Driscoll details the history of servlet technology.[1] James Gosling first thought of servlets in the early days of Java, but the concept did not become a product until Sun shipped the Šablona:Clarify-span product. This was before what is now the Java Platform, Enterprise Edition was made into a specification.
Servlet API version | Released | Platform | Important Changes |
---|---|---|---|
Servlet 3.1 | May 2013 | JavaEE 7 | Non-blocking I/O, HTTP protocol upgrade mechanism (WebSocket)[2] |
Servlet 3.0 | December 2009 | JavaEE 6, JavaSE 6 | Pluggability, Ease of development, Async Servlet, Security, File Uploading |
Servlet 2.5 | September 2005 | JavaEE 5, JavaSE 5 | Requires JavaSE 5, supports annotation |
Servlet 2.4 | November 2003 | J2EE 1.4, J2SE 1.3 | web.xml uses XML Schema |
Servlet 2.3 | August 2001 | J2EE 1.3, J2SE 1.2 | Addition of Filter
|
Servlet 2.2 | August 1999 | J2EE 1.2, J2SE 1.2 | Becomes part of J2EE, introduced independent web applications in .war files |
Servlet 2.1 | November 1998 | Unspecified | First official specification, added RequestDispatcher , ServletContext
|
Servlet 2.0 | JDK 1.1 | Part of Java Servlet Development Kit 2.0 | |
Servlet 1.0 | June 1997 |
- ↑ Servlet History | Java.net [online]. Weblogs.java.net, 2005-12-10 [cit. 2013-06-14]. Dostupné online.
- ↑ [1]