JSP Beschreibung JSP  
 
   
Beschreibung von JSP Infos zu JSP und Beschreibung.
Nicht angemeldet: Anmelden | Impressum 
Navigation
· Hauptseite
· Know Forum - neu!
· Zufälliger Artikel
· Spezialseiten
· Alle Artikel
· Eingeordnet unter
Aktueller Artikel
· Seite bearbeiten
· Links auf diese Seite
· Verlinkte Seiten
· Versionen


 
 



Letzte Beiträge
Die Klimalüge CO2Sehr geehrte Damen und Her
ren. Meine ...
Volumenausdehnung be...Hallo da draußen, ich h
abe folgendes ...
Osterrätsel der Fran...Hallo, ich hab' mich leide
r mit meinere ...
was ist denn mit dem...Hallo, der Song heißt Cal
istan "...
Strichcode entschlüs...Hallo benni, ich stehe
gerade vor dem...
Lust auf Focus Rätse...Hallo, an alle Spezialist
en dieses Räts...
ErdölServus, Erdöl hat keine
Formel, da es...
Frage an die Student...Hallo, im Prinzip ist das
eine gute Ide...
CO2 chemische Trennu...Hallo ....... CO2 in der
Luft wird begr...
IGBT ansteuerschaltu...Guten Tag, Wer weiss lief
ert eine funk...


JavaServer Pages

Dieser Text beschreibt JavaServer Pages.


Der untere Text beinhaltet die JavaServer Pages Beschreibung. Soweit es sich um ein definierbares Objekt handelt, sollte hier eine JavaServer Pages Definition vorhanden sein. Sollte eine Definition von JavaServer Pages fehlen, kann diese von Ihnen verfaßt werden. Wir sind bestrebt die Beschreibung von JavaServer Pages möglichst ausführlich zu halten.

Jeder Text bei Know-Library, sowie ein Teil davon (Definition, Beschreibung etc.), außer Bücher Beschreibungen kann bearbeitet werden. Falls die Beschreibung auf dieser Seite nicht korrekt ist klicken Sie auf 'Beschreibung editieren' um den Text zu korrigieren bzw. neuen einzufügen. Weitere Informationen und Bücher zum Thema JavaServer Pages Beschreibung , so wie Link zum Forum finden Sie weiter unten. Eine Übersicht der Texte, die das Thema JavaServer Pages beschreiben finden Sie auf der Seite alle Artikel über JavaServer Pages. Fragen zu dem Thema JavaServer Pages können im Forum gestellt werden. Klicken Sie hier um zu dem Forum zu wechseln.

JavaServer Pages Artikel

JavaServer Pages, abgekürzt JSP, ist eine von Sun Microsystems entwickelte Technologie, die in dem Wesentlichen zur einfachen dynamischen Erzeugung von HTML- und XML-Ausgaben eines Webservers dient. Sie erlaubt es Java-Code und spezielle JSP-Aktionen in statischen Inhalt einzubetten. Dies hat den Vorteil, dass 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.

JavaServer Pages werden unter Verwendung eines speziellen JSP-Compilers in Java-Quellcode umgewandelt. Dieser Quellcode, der einem Java-Servlet entspricht, wird in dem Anschluss durch den Java-Compiler in Bytecode umgewandelt. Die so erzeugten Java-Klassen können dann von einem Webserver mit entsprechender Servlet-Engine ausgeführt bzw. interpretiert werden.

Inhaltsverzeichnis
Buch-Tipp: Das JavaScript Codebook Verdammt viel Stoff für (leider) auch verdammt viel Geld Um gleich mit der entscheidenden Kritik zu beginnnen, weswegen mir 5 Sterne auch richtig weh tun - 99 EUR sind für ein Buch verdammt viel Geld. Zumal man zu JavaScript auch sehr viel Infos in dem Internet findet. Aber gut - ich denke, wer die Zeit zu dem Suchen in dem Internet hat, ist nicht in der...

Syntax

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:

  • statischer Inhalt wie HTML
  • JSP-Direktiven
  • JSP-Skriptelemente
  • JSP-Aktionen
  • JSP Tag-Bibliotheken (Tag Libaries)
Buch-Tipp: JSF @ Work. JavaServer Faces und Apache MyFaces erfolgreich einsetzen Hilfreiche Lektüre JSF@Work hat mir sehr dabei geholfen, meine JSF-Kenntnisse zu erweitern und zu festigen. In keinem deutschen Buch sonst ist der "Lifecycle" mit allen Spezialitäten, die dabei auftreten können, so durchgängig erklärt. Die Beschreibung, wie man mit Maven und Eclipse/Exadel JSF-Projekte aufsetzt, ist unverzichtbar für Einsteiger....

Statischer Inhalt

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.

Da es sich bei einer JavaServer Page um eine dynamische Komponente handelt, kann diese aber auch gänzlich ohne statische Elemente auskommen. Auf diese Weise ist es möglich, über ein JSP-Dokument auch Binärdaten wie Bilder zu erzeugen und an den Klienten zu senden.

Buch-Tipp: JSP mit Tomcat Sehr gute Einführung in JSP Das Buch ist ideal für Einsteiger in JSP. Gerade die vielen Wiederholungen (was in einer Rezesion kritisiert wurde) halte ich für sehr wichtig, da man sich Vieles besser einprägt, wenn man es öfter liest. Zu beachten ist, dass Java-Kenntnisse erforderlich sind. Besonders gut hat mir gefallen, dass drei Kapitel sich...

Direktiven

Eine Direktive dient zu dem Übermitteln von speziellen Seiteninformationen an den JSP-Compiler; dadurch kann man angeben, ob die JSP eine Taglib einbindet oder wie in dem Fehlerfall weiter zu verfahren ist.

Die allgemeine Syntax für eine Direktive ist <%@ ... %>. Folgende Direktiven sind vorhanden:

  • include, diese Direktive weist den JSP-Compiler an, den vollständigen Inhalt einer externen Datei in die Originaldatei zu kopieren.
<%@ include file="BeispielDatei.ext" %>
  • page
    • import, ein Java-Import-Statement wird in der Datei generiert
    • contentType, gibt die Art des Datei-Inhaltes an. Sollte dann eingesetzt werden, wenn man kein HTML benutzt oder den Default-Zeichensatz nicht benutzt
    • errorPage, gibt die Seite an, die in dem Fehlerfall angezeigt werden soll
    • isErrorPage, gibt an ob diese Seite eine Error-Page ist oder nicht
    • isThreadSafe, gibt an ob das aus der JSP generierte Servlet threadsicher ist oder nicht

<%@ page import="java.util.*" %> //import
<%@ page contentType="text/html" %> //contentType
<%@ page isErrorPage=false %> //es wird keine Error-Page benutzt
<%@ page isThreadSave=true %> //eine threadsichere JSP

  • tagLib, diese Direktive gibt an, dass eine Taglib benutzt werden soll. Es muss ein Prefix und eine URI für die Taglib vergeben werden.
<%@ taglib prefix="MeinPrefix" uri="taglib/MeineTagLib.tld" %>
Buch-Tipp: Java Server Pages mit CD. Professionelle Web-Anwendungen mit JSP 1.X und 2.0 Alles zu Servlets und JavaServer Pages Wenn Sie Ihr Wissen zu Servlets und JavaServer Pages erwerben oder auffrischen wollen, ist es eine gute Art leicht zu lernen. Entspannt und auf eine gut nachvollziehbare Art werden Servlets und JavaServer Pages eingehend erläutert. Hätte ich gar nicht gedacht, daß sovieles und so gut erklärt wird. Gut konzeptioniert...

Skriptelemente

Buch-Tipp: Java ist auch eine Insel, m. DVD-ROM Sehr empfehlenswertes Nachschlagewerk für Java Ein sehr umfangreiches Standardwerk, das schon bereits in der 7. Auflage vorliegt (das sagt viel über den Status aus). Das Buch ist aufgrund des kompakten Inhalts beim Programmieren sehr hilfreich. Es kann gerade erfahrenen Javaentwicklern enpfohlen werden, da es sich mit vielen praktischen Problemen,...
Standardvariablen

Die folgenden Variablen können in jeder JSP benutzt werden.

  • out, JSPWriter, der die Daten in den HTTP-Response-Stream schreibt
  • page, das Servlet selber
  • pageContext, eine Instanz des PageContext, welche die Daten der gesamten Seite enthält
  • request, das HTTP-Request-Objekt
  • response, das HTTP-Response-Objekt
  • session, das HTTP-Session-Objekt. Es kann dazu benutzt werden, Information über den Benutzer von einem Request zu dem nächsten weiterzureichen.
Buch-Tipp: JavaServer Faces. Ein Arbeitsbuch für die Praxis Das beste deutsche Buch über JSF Ich habe alle deutschen Bücher über JavaServer Faces gelesen. Um mich in JSF einzuarbeiten, habe ich mit einem anderen Buch angefangen. Viele Fragen blieben dann offen. Das Buch von Bernd Müller habe ich schnell "verschluckt" und sofort alles verstanden, weil es sehr verständlich geschrieben ist. Ich denke,...

Deklarationen

Deklarationen dienen zur Definition von Variablen und Methoden, die von anderen Elementen in der JSP benutzt werden können. Deklarationen erzeugen keine Ausgabe innerhalb der JSP.

<%! int variableMeinerKlasse = 0; %>

Dies definiert eine "static" Variable, die ca. einmal in dem Arbeitsspeicher abgelegt wird! Zeitgleiche Aufrufe aus verschiedenen Instanzen greifen also auf dieselben Daten zu. Möchte man aber eine "VariableMeinerKlasse" haben, dessen Wert in jeder Instanz meiner Klasse einen eigenen Wert hat, dann muß man eine Variable wie gewohnt in den normalen

< Prozent %>-Tags definieren:
< Prozent String meinName;

meinName=theReult.getString("name"); ... %>

Buch-Tipp: Jetzt lerne ich J2EE mit CD-ROM. Der einfache Einstieg in die programmierung mit der J2EE Excellent für Anfänger "Start ohne Vorwissen" steht auf dem Titel und ich wurde nicht entäuscht. Hier wird nicht auf irgendwelche IDEs oder automatische Codegeneratoren eingegangen. Nein, hier passiert alles zu Fuss und jede Datei wird eingenständig von Hand geschrieben. Das mag etwas umständlich sein doch bekommt man ein grundlegendes Verständnis...

Ausdrücke

Ausdrücke (expressions) werden dazu benutzt, Variablen oder Methoden direkt in den HTML- oder XML-Ausgabestrom zu integrieren.

Die Klassenvaribale ist <%= variableMeinerKlasse %>
Buch-Tipp: Programmieren mit Eclipse 3, Universelle Entwicklungsplattform für Java, PHP, C/C++, SQL, XML, XSLT, XSL-FO, JSP, Servlets, J2EE, UML, HTML, CSS, JavaScript, m. CD-ROM Super Einführung in Eclipse Das Buch beschäftigt sich mit den wichtigsten Themen die für die Benutzung und den Einstieg in Eclipse wichtig sind. Es werden wertvolle Tips zur Benutzeroberfläche und den Plugins von Eclipse gegeben. Alles ist recht ausführlich, aber nicht zu langatmig, beschrieben. Die wichtigsten Plugins und Features von Eclipse...

Skriptlets

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.

< Prozent int variable = 0; out.println("Der Wert der Variable ist : " + variable); %>
Buch-Tipp: Struts Gelungenes Buch für fortgeschrittene JSP-Entwickler Eins vorneweg: Dies ist nicht das erste Struts-Buch, welches ich gelesen habe. Positiv ist mir der umfassende, aber nicht zu umfangreiche Schreibstil aufgefallen. Damit meine ich, dass mit Hilfe der Glossare und Erklärungen alle Grundlagen vermittelt werden, ohne aber seitenweise langwierigen...

Kommentare

Kommentare sind ca. innerhalb der originalen JSP sichtbar, sie werden nicht in den Ausgabestrom geschrieben.

<%-- Kommentar innerhalb einer JSP --%>

Aktionen

JSP-Aktionen sind XML-Tags die die eingebaute Funktionalität von Webservern einbinden. Die folgenden Aktionen sind verfügbar:* jsp:include, die angegebene JSP wird vom Java-Servlet aufgerufen, dabei wird der Request und der Response übergeben. Ist die angegeben JSP abgearbeitet, kommt die Steuerung zur gegenwärtigen JSP zurück. Diese JSP-Aktion bewirkt, dass JSP-Code zwischen zwei JSPs geteilt anstatt kopiert wird.

<jsp:include page="mycommon.jsp" >
<jsp:param name="extraparam" value="myvalue"/>
</jsp:include>
  • jsp:param, definiert einen Parameter, der zu den Request-Parametern hinzugefügt wird. Diese Aktion kann innherhalb eines jsp: include oder jsp: forward Blocks benutzt werden.
  • jsp:forward, der Request und der Response wird an eine andere JSP oder ein Servlet übergeben. Die Steuerung kommt nicht zur gegenwärtigen JSP zurück.
<jsp:forward page="subpage.jsp" >
<jsp:param name="forwardedFrom" value="this.jsp" />
</jsp:forward>
  • jsp:plugin, diese Aktion generiert je nach benutztem Browser einen Tag zu dem Einbinden eines Java-Applets. Dies wird benötigt, da in den älteren Versionen der Browser von Netscape (Navigator) und Microsoft (Internet Explorer) verschiedene Tags zu dem Einbinden eines Applets benutzt werden.
<jsp:plugin type=applet height="100%" weight="100%"
&nbsp&nbsp archive="myjarfile.jar,myotherjar.jar"
&nbsp&nbsp codebase="/applets"
&nbsp&nbsp code="com.foo.MyApplet" >
&nbsp<jsp:params>
&nbsp&nbsp<jsp:param name="enableDebug" value="true" />
&nbsp</jsp:params>
&nbsp<jsp:fallback>
&nbsp&nbsp Your browser does not support applets.
&nbsp</jsp:fallback>
</jsp:plugin>
  • jsp:fallback, definiert den Inhalt der angezeigt wird, falls der Browser keine Applets unterstützt.
  • jsp:setProperty, diese Aktion setzt ein Property in der definierten Java-Bean.
<jsp:setProperty name="myBean" property="lastChanged" value="<%= new Date()%>" />
  • jsp:getProperty, diese Aktion holt sich ein Property von der definierten Java-Bean.
<jsp:getProperty name="myBean" property="lastChanged" />
  • jsp:useBean, diese Aktion erstellt oder benutzt eine Java-Bean wieder. Das Attribut scope gibt an wie lange Attribute zur Verfügung stehen. Folgende Werte können definiert werden:
    • request - Attribute sind ca. solange verfügbar, wie der Request existiert.
    • page - Attribute sind ca. für die gegenwärtige JSP verfügbar
    • session - Attribute sind ca. solange verfügbar, wie die Benutzer-Session existiert
    • application - Attribute sind stets verfügbar
<jsp:useBean id="myBean" class="com.foo.MyBean" scope="request" />
<jsp:getProperty name="myBean" property="lastChanged" />
<jsp:setProperty name="myBean" property="lastChanged" value="<%= new Date()%>" />=== Tag-Bibliotheken ===

Zusätzlich zu den vordefinierten JSP-Aktionen gibt es die Möglichkeit, benutzerdefinierte JSP-Aktionen zu benutzen. 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.

Im Rahmen des Java Comunity Process wurde die Java Standard Tag Library erstellt. Diese standardisiert die wichtigsten Customtags in verschiedenen Bibliotheken.

Model-View-Controller

Sun© empfiehlt die Verwendung des Model 2 Entwurfsmusters (ähnlich dem "Model View Controller Pattern") beim Benutzen von JSPs. Für sehr kleine Projekte kann das Model 1 benutzt werden. Das Pattern hat den Sinn die Darstellung von der Request-Verarbeitung und Datenspeicherung zu trennen. Es sollten eigene Servlets für die Request Verarbeitung benutzt werden. Nach der Request-Verarbeitung sollte eine eigene JSP ca. für die Erstellung des Ausgabestroms vorhanden sein. Diese JSP sollte ca. HTML oder XML und vordefinierte oder benutzerdefinierte JSP-Aktionen enthalten. Zu dem Einbinden der Daten sollten Java-Beans benutzt werden.{| border="0" cellpadding="2" cellspacing="5" align="center" |+ Model View Controller Pattern | colspan="2" align="center" | JavaServer Pages Beschreibung |}

Siehe dazu auch: MVC-Modell

JSPX

Mit Einführung der Servlet API 2.4 und der Verabschiedung von JSP 2.0 ist es möglich, komplett auf JSP-Skriptelemente zu verzichten. JSPX-Dokumente entsprechen wohlgeformten XML-Dokumenten, deren Tag-Elemente durch eindeutige Namensräume definiert sind. So ist es beispielsweise möglich, XHTML-konforme Ausgaben zu erzeugen, ohne das Tag-Bezeichner kollidieren.

Das folgende Beispiel zeigt das Gerüst eines wohlgeformten JSPX-Dokumentes zur Erzeugung von XHTML-Code. Über das XML-Wurzelelement "<jsp:root>" werden ein Standardnamensraum für XHTML-Elemente definiert (xmlns) und ein Namensraum für JSP-Elemente (xmlns:jsp). Durch das Voranstellen des jeweiligen Namensraums (z. B. <jsp: ...) kann ein Tag auf diese Weise eindeutig referenziert werden. Auch Java Tag Libraries werden auf diese Weise als Namensraum eingebunden; eine entsprechende Direktive gibt es nicht mehr. Die Namensraumdefinition wird an Kindelemente vererbt.

Im Beispiel wird, aus Kompatibilitätsgründen zu aktuellen Browsern, über die JSP-Direktive "page" als Content-Type "text/html" anstatt "application/xhtml+xml" vereinbart, da viele gängige Browser XHTML-Dokumente sonst als XML-Quelltext interpretieren würden, anstatt die XHTML-Elemente zu interpretieren und darzustellen.

<?xml version="1.0" encoding="utf-8"?>
<jsp:root xmlns="http://www.w3.org/1999/xhtml" xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">
    <jsp:output doctype-root-element="html"
        doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
        doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
    <jsp:directive.page contentType="text/html; charset=utf-8" language="java" />
    <html>
       XHTML- und/oder JSP-Elemente
    </html>
</jsp:root>

Eine weitere Neuerung ist die so genannte "Expression Language" (EL). Die Expression-Language besteht aus Skriptelementen, die an Skriptelemente interpretierter Skriptsprachen angelehnt ist. Jedes Skriptelement beginnt mit einem Dollar-Zeichen und schließt einen Ausdruck (engl. expression) in geschweiften Klammern ein.

${1+2}, ${PI/2}, ${person.name}

Der Ausdruck kann ein einfacher Platzhalter einer Variablen sein, eine Konstante oder ein Term. Auch eine Referenzierung innerhalb abstrakter Datenstrukturen ist über Introspektion möglich.

Eine spezielle Erweiterung des JSP-Compilers ersetzt vor dem KompilierAblauf jedes Vorkommen der EL-Elemente durch den entsprechenden Java-Code.

Die EL-Elemente wurden so konzipiert, dass sie vollständig ohne geschützte XML-Entitäten auskommen. Somit wird der Einsatz in wohlgeformten XML-Dokumenten möglich.

Versionen

  • JSP 1.0
  • JSP 1.1
  • JSP 1.2
  • JSP 2.0 (JSPX, EL)

Siehe auch: ASP, CGI, ColdFusion, J2EE, PHP, Servlet, JSTL

Weblinks


Weiteres zu dem Artikel JavaServer Pages

Andere Leser interessierten sich auch für folgende Beschreibungen: Benutzer, Bilder, Bytecode, Daten, Datenstrukturen, Logik, Response, Syntax, Verarbeitung, Webserver, Weise
Schnellzugrif auf verwandte Texte:
 
NEU! Frage im Forum zum Thema:
 
Wenn die Beschreibung 'JavaServer Pages' Ihrer Meinung nach nicht korrekt ist oder in aktueller Version Fehler enthalten sind oder es fehlt die JavaServer Pages Definition, dann klicken Sie bitte auf "Beschreibung bearbeiten" und schreiben Sie die Eigene Version des Textes. Die Änderungen in der Beschreibung werden sofort aktiv und für alle sichtbar. Ein Administrator wird Ihre Version der Beschreibung und Definition von 'JavaServer Pages' nachher prüfen. Bitte achten Sie auf die Urheberrechte (Copyright). Wir sind für die besseren Beschreibung von 'JavaServer Pages' und 'JavaServer Pages' Definition sehr dankbar.

Alle Tipps zu den Bücher auf dieser Seite wurden automatisch generiert. D.h. die Bücher wurden aus einer Datenbank von dem Computer ausgesucht. Deshalb kann es vorkommen, dass vorgeschlagene Bücher nicht ganz der 'JavaServer Pages' Beschreibung entsprechen.