Categories: Software

Einführung in Tomcat 4 / JSP

Ein Java Servlet ist eine Plattform-unabhängige Komponente, die mithilfe eines durch einen JSP-/Servlet-Container verwalteten Anfrage-/Antwort-Modells mit Web-Clients kommuniziert. Für das Schreiben eines Servlets wird entweder die Klasse GenericServlet oder die Klasse HttpServlet erweitert. Ein GenericServlet verwendet eine abstrakte service-Methode, die implementiert werden muss. Ein HttpServlet erweitert GenericServlet und erfordert die Implementierung einer der folgenden Methoden: doGet, doPost, doPut, doDelete, init, destroy oder getServletInfo. Üblicherweise werden die Methoden doGet und doPost implementiert.

Servlets weisen den folgenden Lebenszyklus auf:

  1. Nach der Erzeugung einer Instanz des Servlets wird die Methode init aufgerufen.
  2. Das Servlet fertigt null oder mehr Anfragen ab.
  3. Die Web-Anwendung wird geschlossen, wodurch die destroy-Methode aufgerufen wird, so dass die Garbage-Collection den vom Objekt belegten Speicher wieder freigeben kann.

Die init-Methode kann zur Initialisierung der Eigenschaften des Servlets über den Parameter ServletConfig verwendet werden. Die Initialisierungsparameter aus der Datei web.xml werden an die Methode init im ServletConfig weitergegeben, wobei mithilfe der Methode getInitParameter auf sie zugegriffen werden kann.

Java Server Pages (JSPs) ermöglichen das Erstellen dynamischer HTML-Seiten durch Einbetten von Java-Code in das angefragte Dokument. JSPs sind eine Mischung aus HTML, speziellen Tags und eingebettetem Java-Code. Jede JSP wird hieraus in ein Servlet übersetzt, das bei einer Anfrage an die JSP zur Rückgabe von HTML an den Client dient. Der generierte Java-Code und die Klassen-Datei für dieses Servlet werden an einem bestimmten Speicherort archiviert, der standardmäßig Ausgaben an TOMCAT_HOME bzw. ein Arbeitsverzeichnis leitet. Dieses Verzeichnis kann im Kontext-Element für die Web-Anwendung festgelegt werden. Häufig lassen sich im Falle eines abweichenden Verhaltens von JSP-Seiten oder der Anzeige eines Stack-Trace mit Zeilen-Nummern die Probleme mithilfe der generierten Codes analysieren.

Eine JSP stellt bestimmte implizite Variablen zur Verfügung:

  • request – Referenz auf HttpServletRequest
  • response – Referenz auf HttpServletResponse
  • pageContext – ermöglicht den Zugriff auf die Namensräume innerhalb der JSP
  • session – Referenz auf HttpSession
  • application – Referenz auf ServletContext
  • config – Referenz auf ServletConfig
  • page – Referenz auf die gegenwärtig genutzte Instanz der JSP; analog zur Nutzung dieser selbst im generierten Servlet für die jeweilige JSP
  • exception – Referenz auf von einer JSP ausgelöste Ausnahme; nur verfügbar in JSPs, in denen das Attribut isErrorPage auf true gesetzt ist.

Hier die standardmäßigen JSP-Tags:

  • <jsp:useBean> – ermöglicht das Einfügen oder Auffinden eines bestimmten Beans innerhalb der Bereiche page, request, session oder application. (Dieser Tag ist zur Statusverwaltung sehr praktisch).
  • <jsp:setProperty> – ermöglicht das Festlegen der Eigenschaft eines bereits definierten und einem Zweck zugewiesenen Beans.
  • <jsp:getProperty> – erfasst den Wert der Eigenschaft eines Beans, konvertiert diesen in einen String und fügt diesen dem ausgehenden Datenstrom hinzu.
  • <jsp:param> – stellt Parameter und Werte für die Standard-Aktionen include, forward und plugin bereit.
  • <jsp:include> – bindet eine Seite zur Antwortzeit ein, statt zur Übersetzungszeit wie mit der @include-Anweisung.
  • <jsp:forward> – gibt die Anfrage an eine andere Ressource innerhalb der vorhandenen Web-Anwendung weiter.
  • <jsp:plugin> – ermöglicht dem Urheber der JSPs das Erstellen von HTML durch vom Client-Browser unabhängige Konstrukte, wobei die angegebenen Applets oder Komponenten heruntergeladen und anschließend ausgeführt werden (die Ergebnisse des ausgewerteten Tags werden meist durch die Tags <object> oder <embed> ersetzt).

Den ServletContext kann man sich als allgemein gültigen Speicherbereich für eine Web-Anwendung vorstellen. Jede Web-Anwendung besitzt einen ServletContext. Im ServletContext gespeicherte Objekte existieren während der Lebensdauer der Web-Anwendung, bis diese entfernt wird.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Top-Malware im November: Infostealer Formbook bleibt Nummer 1

Sein Anteil an allen Infektionen steigt in Deutschland auf 18,5 Prozent. Das Botnet Androxgh0st integriert…

1 Woche ago

Google schließt schwerwiegende Sicherheitslücken in Chrome

Betroffen sind Chrome 131 und früher für Windows, macOS und Linux. Angreifer können unter Umständen…

1 Woche ago

Data Analytics: Dienstleister wachsen zweistellig

Marktforscher Lündendonk erwartet für das Jahr 2025 ein durchschnittliches Umsatzwachstum von 14,9 Prozent.

1 Woche ago

Open-Source-Malware auf Rekordniveau

Alarmierender Anstieg von Open-Source-Malware / Seit 2019 haben Sonatype-Analysen mehr als 778.500 bösartige Pakete aufgedeckt

1 Woche ago

Bayerische KI-Agentur bietet KI-KOMPASS

Das KI-Werkzeug "BAIOSPHERE KI-KOMPASS" soll Unternehmen den Einstieg in KI erleichtern.

1 Woche ago

Cloudflare: Weltweiter Internettraffic wächst 2024 um 17,2 Prozent

Das Wachstum konzentriert sich wie im Vorjahr auf das zweite Halbjahr. Google dominiert bei den…

1 Woche ago