Jakarta Servlet

Programmierschnittstelle
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 16. Juli 2004 um 21:18 Uhr durch DocSnyder (Diskussion | Beiträge) (Kategorie Java). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ein Servlet ist ein in der Programmiersprache Java geschriebenes Programmodul, das dazu dient, Anfragen an einen Webserver so zu beantworten, dass der Inhalt der zurückgelieferten HTML-Webseite dynamisch generiert wird, statt lediglich eine statische (vorgefertigte) Seite darzustellen. Die Verwendung von Servlets ist eine der Möglichkeiten, dies zu bewerkstelligen, eine andere Methoden ist beispielsweise die Verwendung so genannter CGI-Skripte. Servlets sind im Rahmen der J2EE-Spezifikation standardisiert.

Das Servlet ist dabei eine Java-Klasse, die in einen so genannten Web-Container geladen wird - also in ein Java-basiertes Framework, das durch einen J2EE-Server bereitgestellt wird. Mit diesem J2EE-Server wiederum kommuniziert der Webserver. Aufgabe des Webservers ist es, eine Benutzeranfrage so zu verarbeiten, dass der J2EE-Server erkennt, dass die Anfrage durch ein Servlet bedient werden soll und die entsprechenden Aufrufparameter an den Webcontainer des J2EE-Servers zu übergeben. Der J2EE-Server wandelt die Anfrage in den Aufruf der Methode des entsprechenden Servlets um. Das Servlet erzeugt dynamisch anhand der Aufrufparameter den HTML-Code, der wiederum über den Container an den Webserver und von diesem an den Client des Anwenders (in der Regel ein Webbrowser) geliefert wird.

Es gibt 2 verschieden Möglichkeiten, Servlets zu erstellen, einmal JSP und einmal "richtige" Servlets. JSP (Java Server Pages) werden auf dem Server (z.B. Tomcat) in Servlets umgewandelt und haben den Vorteil, dass sie in einer speziellen, vordefinierten Syntax geschrieben werden können und nicht aus reinem Java-Code bestehen.

Servlets laufen in einer auf dem Webserver laufenden JVM (Java Virtual Machine) und können, da sie alle in einer JVM laufen, miteinander Daten austauschen.