Inhalt 4. Headers 6. Anwendungsbeispiel

5.   Java Servlet API

Die Java Platform besteht aus der Virtual Machine und der Core API, die von allen Plattformen unterstützt werden muss. Die Java Servlet API ist allerdings eine Standard Extension API und nicht Teil der Core API. Sie ermöglicht die Entwicklung von Anwendungen auf Serverseite.

5.1   javax.servlet

Das Package javax.servlet enthält sieben Interfaces. Jedes Servlet muss die in Servlet enthaltenen Methoden zur Initialisierung, Destruktion und Beschreibung implementieren. Das Interface ServletRequest kapselt eine Anfrage und stellte Informationen über Server, Client und Request bereit. Um Daten zum Client zurückzuschicken, benutzt der Server Methoden von ServletResponse. Mit Hilfe von ServletConfig kann er dem Servlet Konfigurationsdaten übermitteln. ServletContext erlaubt dem Servlet, mit seinem Container zu kommunizieren. Die Implementierung von SingleThreadModel stellt sicher, dass das Servlet nicht mehrere Anfragen gleichzeitig behandelt. Das Interface RequestDispatcher definiert ein Objekt, das Anfragen vom Client empfängt und an eine beliebige Ressource auf dem Server weiterleitet.

Die abstrakte Klasse GenericServlet definiert ein generisches, protokollunabhängiges Servlet, kann direkt erweitert werden und implementiert die in ServletContext deklarierte Methode log zur Speicherung von Einträgen in eine Logdatei. Die Klassen ServletInputStream und ServletOutputStream dienen dem Informationsaustausch mit dem Webclient.

5.2   javax.servlet.http

Die Interfaces HttpServletRequest und HttpServletResponse erweitern ServletRequest beziehungsweise ServletResponse und fügen Konstanten und Methoden für die Anwendung im Hypertext Transfer Protocol hinzu. HttpSession wird von Servlets zur Unterstützung von Sitzungen implementiert, die sich über mehrere Anfragen und Antworten erstrecken. HttpSessionBindingListener ermöglicht es Objekten, informiert zu werden, wenn sie an eine Sitzung gebunden oder von ihr getrennt werden.

Instanzen der Klasse Cookie werden benutzt, um einen Zustand über mehrere Requests hinweg zu speichern. HttpServlet ist von GenericServlet abgeleitet und dient der Erstellung von Servlets für eine Webseite. Das Ereignis HttpSessionBindingEvent wird bei der Bindung an oder Trennung von einer Sitzung gefeuert. Die Klasse HttpUtils enthält einige nützliche Methoden, unter anderem zum Parsen von Queries.

6. Anwendungsbeispiel