Java Servlets

Aus Byte-Welt Wiki
Version vom 12. September 2008, 14:44 Uhr von HLX (Diskussion | Beiträge) (Die Seite wurde neu angelegt: == Begriff == Java Servlets sind Java Klassen, die als Schnittstelle zwischen einer Java Anwendung und einem Servlet Container dienen. Sie implementieren das Interface ...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Begriff

Java Servlets sind Java Klassen, die als Schnittstelle zwischen einer Java Anwendung und einem Servlet Container dienen. Sie implementieren das Interface javax.servlet.Servlet. Im Webbereich wird allerdings in der Regel von der Klasse javax.servlet.http.HttpServlet abgeleitet.

Funktionsweise

Java Servlets werden über eine Konfigurationsdatei ‚web.xml’ dem Servlet Container bekannt gemacht und mit einer URL versehen. Über die URL können Clients z.B. vom Browser aus das Servlet aufrufen. Der Servlet Container erkennt anhand des Inhalts der Konfigurationsdatei, welches Servlet zu verwenden ist. Falls noch nicht geschehen wird eine Instanz der Klasse erzeugt und die von jedem Servlet zu implementierende Service-Methode aufgerufen.

Bei Webanwendungen werden bevorzugt HttpServlets verwendet. Hier ist diese Implementierung der Service-Methode bereits vorgegeben. Sie unterscheidet die einzelnen http-Methoden und ruft für Jede einen entsprechenden Handler auf , so dass eigene Ableitungen hier besser die Methoden „doGet“ bzw. „doPost“ für das http-GET bzw. http-POST überschreiben sollten. Die jeweiligen Methoden erhalten vom Servlet Container alle erforderlichen Informationen, z.B. ein Request- und ein Response-Objekt.

Nach Abarbeitung des individuellen Codes der Anwendung liefert der Servlet Container das Ergebnis an den Client zurück.

Einsatzgebiete

Java Servlets werden zur Kommunikation mit einer Java Anwendung auf einem Servlet Container eingesetzt. Auch beim Einsatz von JavaServer Pages ist dies der Fall, da diese Seiten lediglich eine Art Wrapper für Servlets sind, die zur Vereinfachung der Entwicklung einer grafischen Weboberfläche dienen soll. Der Servlet Container wandelt JSP-Seiten kurzerhand in Servlets um und verwendet diese dann für die weitere Abarbeitung.

Für den Entwickler sind Servlets eine sinnvolle Ergänzung zu JavaServer Pages im Sinne der Entwicklung nach dem Model-View-Controller-Prinzip (MVC). Dabei übernehmen Servlets die Rolle des Controllers in dem sie sämtliche webspezifische Logik einer Anwendung implementieren. So werden JSP-Seiten von störendem Java Code befreit und es wird eine klare Trennung von Auszeichnungssprache und Programmiersprache erreicht. Alle Interaktionen des Webanwenders, die eine Kommunikation mit dem Server zur Folge haben (auch das Anfordern einer neuen JSP-Seite) werden hier über Servlets abgewickelt.

Externe Links

Java Servlet Technology (SUN)