JavaServer Pages
JavaServer Pages, abgekürzt JSP, sind eine von Sun Microsystems entwickelte Technologie, die im Wesentlichen zur einfachen dynamischen Erzeugung von HTML- und XML-Ausgaben eines Webservers dient. Diese Technologie erlaubt es Java-Code und spezielle JSP-Aktionen in statischen Inhalt einzubetten. Dies hat den Vorteil, dass bei dieser Technologie die Logik unabhängig vom Design implementiert werden kann.
Die JSP-Syntax erlaubt es mittels spezieller XML-Tags (JSP-Aktionen) vordefinierte Funktionalität einzubinden. Diese JSP-Aktionen werden in so genannten Tag-Bibliotheken (Tag Libaries) als Erweiterung der HTML bzw. XML Tags definiert.
JSPs werden mit Hilfe eines JSP-Compilers in ein Java-Servlet kompiliert. Ein JSP-Compiler kann ein Servlet im Java-Code erzeugen, der dann wiederum durch einen Java-Compiler zu Bytecode kompiliert wird, oder aber er kann direkt Bytecode für das Servlet erzeugen. Der so erzeugte Code kann dann von einem Webserver mit entsprechender Servlet-Engine ausgeführt werden.
Grundsätzlich lassen sich JSP als eine Art HTML- oder XML-Seite mit zusätzlichen JSP-spezifischen Tags und Java-Code beschreiben. Eine JSP kann grob in die folgenden Elemente aufgeteilt werden:
Der statische Inhalt sind alle jenen Elemente, die vom Webserver in die HTTP-Response (Antwort) ohne Veränderung übernommen werden (z.B.: HTML-Tags). So wäre ein normales HTML-Dokument gänzlich ohne JSP-Elemente, wie eingebetteten Java-Code oder JSP-Aktionen, eine gültige JSP. Denn eine JSP erlaubt es zwar dynamische Daten in statischen Inhalt einzufügen, setzt es aber nicht voraus.
Ein großer Vorteil der JSP-Technologie ist, dass der Ersteller des statischen Inhalts (also des Designs) über keine Java-Kenntnisse verfügen muss.
Eine Direktive dient zum Übermitteln von speziellen Seiteninformationen an den JSP-Compiler, dadurch kann man angeben, ob die JSP eine Taglib einbindet oder wie im Fehlerfall weiter zu verfahren ist.
Die allgemeine Syntax für eine Direktive ist
Deklarationen dienen zur Definition von Variablen und Methoden, die von anderen Elementen in der JSP verwendet werden können.
Deklarationen erzeugen keine Ausgabe innerhalb der JSP.
JSP-Skriptlets können zur Implementierung der Ablauflogik sowie der Erzeugung der HTML- oder XML-Ausgabe eingesetzt werden. Der Skriptlet-Code wird innerhalb der _jspService() Methode des generierten Servlets eingefügt.
Kommentare sind nur innerhalb der originalen JSP sichtbar, sie werden nicht in den Ausgabestrom geschrieben.
JSP-Aktionen sind XML-Tags die die eingebaute Funktionalität von Webservern einbinden. Die folgenden Aktionen sind verfügbar:
Syntax
Statischer Inhalt
Direktiven
<@ ... %>. Folgende Direktiven sind vorhanden:<%@ include file="BeispielDatei.ext" %>
<%@ taglib prefix="MeinPrefix" uri="taglib/MeineTagLib.tld" %>Skriptelemente
Standardvariablen
Die folgenden Variablen können in jeder JSP verwendet werden.Deklarationen
<%! int variableMeinerKlasse = 0; %>Ausdrücke
Ausdrücke (expressions) werden dazu verwendet, Variablen oder Methoden direkt in den HTML- oder XML-Ausgabestrom zu integrieren.Die Klassenvaribale ist <%= variableMeinerKlasse %>Skriptlets
<% int variable = 0; out.println("Der Wert der Variable ist : " + variable); %>Kommentare
<%-- Kommentar innerhalb einer JSP --%>Aktionen
Tag-Bibliotheken
Zusätzlich zu den vordefinierten JSP-Aktionen gibt es die Möglichkeit, benutzerdefinierte JSP-Aktionen zu verwenden. Dazu muss eine eigene JSP-Tag-Bibliothek zur Verfügung gestellt werden. Eine Tag-Bibliothek wird über eine XML-Beschreibungsdatei, den so genannten Tag Library Descriptor (TLD), definiert, der Elemente (Tags) zu einer Bibliothek (Library) zusammenfasst und mit serverseitigen Java-Klassen assoziert, die die funktionale Logik eines oder mehrerer Tags implementieren.
| Model View Controller Pattern | |
|---|---|
![]() |
Versionen
Siehe auch:
ASP,
CGI,
ColdFusion,
J2EE,
PHP,
Servlet
Weblinks







