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.

Themenseiten: Plattform, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

1 Kommentar zu Einführung in Tomcat 4 / JSP

Kommentar hinzufügen
  • Am 18. November 2003 um 16:06 von Hansruedi Beyeler

    Servlets unter Catalina
    Habe eine Frage:
    Bringe meine Servlets nicht zum Laufen obwohl sie in WEB-INF/classes installiert sind.
    Was muss ich sonst noch machen?

    Ich habe Tomcat 4 zum laufen gebracht, die enthalten Beispielservets laufen korrekt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *