![]() |
![]() |
3. Grundlagen ![]() |
Java Servlets sind Suns Antwort auf das Common Gateway Interface. Sie entsprechen grob den bekannten Applets auf Serverseite ohne graphische Oberfläche und stellen einen einfachen und konsistenten Mechanismus zur Erweiterung der Funktionalität eines Webservers dar. In einer unüberschaubaren Vielzahl an Büchern und Artikeln aus Fachzeitschriften, die in den letzten Jahren erschienen sind, werden die Vorzüge dieser Technologie erläutert und Grundlagen vermittelt.
Servlets laufen auf einem Webserver und ermöglichen die Kommunikation eines Clients mit Datenbanken und Anwendungen. Basierend auf den Eingaben in einem Formular sowie weiteren Daten aus Browser beziehungsweise Cookies greift das Programm auf Informationen zu oder führt Kommandos aus. Nach Anpassung bestimmter Parameter werden die Ergebnisse formatiert, in einer Webseite eingebettet und zurückgeschickt.
Im Vergleich zu existierenden Alternativen sind Servlets nicht nur effizienter, sondern auch leistungsfähiger und sicherer. Da die Java Virtual Machine stets läuft, müssen für einzelne Anfragen lediglich Threads und keine vollwertigen Prozesse gestartet werden. Die beteiligten Klassen werden nur einmal geladen und verbleiben nach Ausführung eines Auftrags im Speicher. Das erlaubt diverse Optimierungen, Ergebnisse von Berechnungen bleiben erhalten, Datenbankverbindungen werden nicht geschlossen. Verschiedene Servlets können außerdem auf gemeinsame Daten zugreifen.
Aufgrund der ständigen Erweiterung und Verbesserung des Java Development Kits steht einem Servlet eine mächtige Klassenbibliothek für Datenbankzugriff und Remote Method Invocation zur Verfügung. Der Entwickler profitiert von den modernen Eigenschaften der Programmiersprache, ihrer Ausnahmebehandlung, Plattformunabhängigkeit und Sicherheit. Weder die Überprüfung von Arraygrenzen noch Speichermanagement erfordern eine eigene Behandlung. Durch Verwendung der Standard Java Extension API funktionieren Servlets unverändert auf den verbreitetsten Webservern, dazu zählen Apache, Microsoft Internet Information Server, WebSphere, StarNine WebStar oder Suns Java Web Server.
Obwohl alle Servlets in Java geschrieben sind, kommunizieren sie mit in beliebiger Sprache programmierten Clients. Wenn sie an einer Architektur mit mehreren Ebenen teilnehmen, benutzen sie selbst wieder Dienste, meist unabhängig von deren konkreter Implementierung.
Abbildung 1: Kommunikation über Servlets