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

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

4 Tagen ago

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

1 Woche ago

Microsoft steigert Umsatz und Gewinn im dritten Fiskalquartal

Aus 61,9 Milliarden Dollar generiert das Unternehmen einen Nettoprofit von 21,9 Milliarden Dollar. Das größte…

1 Woche ago

Digitalisierung! Aber wie?

Mehr Digitalisierung wird von den Unternehmen gefordert. Für KMU ist die Umsetzung jedoch nicht trivial,…

1 Woche ago

Meta meldet Gewinnsprung im ersten Quartal

Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…

1 Woche ago

Maximieren Sie Kundenzufriedenheit mit strategischem, kundenorientiertem Marketing

Vom Standpunkt eines Verbrauchers aus betrachtet, stellt sich die Frage: Wie relevant und persönlich sind…

1 Woche ago