28
Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Embed Size (px)

Citation preview

Page 1: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Java Server Pages

Hassan Bidani Jallal Alami Rahmouni

FH Wiesbaden

Page 2: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Java Server Pages

Was sind JavaServer Pages?Wofür benutzt man JavaServer Pages?Unterschied zwischen Servlets und Java Server Pages Die Anatomie einer JSP-Seite Lebenszyklus von JSP-SeitenJSPs Sprachelemente

Page 3: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Was sind Java Server Pages?

Java Server Pages (JSP) sind Bestandteil der J2EE, der Java 2 Enterprise Edition von Sun Microsystems [J2EE].Die JSP-API in der Version 1.0 erschien im Mai 1999.JSPs enthalten HTML, JavaScript + Java Code für die Visualisierung von dynamischen Web-Inhalten.JSPs werden serverseitig ausgeführt.JSPs werden beim ersten Aufruf in ein Servlet umgewandelt und kompiliert. Das Servlet wird von der Servlet Engine ausgeführt.JSPs sind plattformunabhängig und im Rahmen der Java APIs erweiterbar.JSPs erlauben die einfache Nutzung von :

Datenbanken Sessions Cookies XML

Page 4: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Wofür benutzt man JavaServer Pages?

schneller und effizienter Webapplikationen und dynamische Webinhalte entwickeln.Mit Hilfe von JavaServer Pages können komplexe Webapplikationen entwickelt werden.innerhalb von JPS-Seiten auf Datenbanken zugreifen.

Page 5: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Unterschied zwischen Servlets und Java Server Pages

Trennung zwischen Informationen und Visualisierung fällt bei Servlet.Wo ein Servlet eine Java-Klasse ist, die sich um die Ausgabe des HTML-Codes kümmert, ist eine JSP eine HTML-Seite mit Java-Code.bedeutet dass JSPs sind leichter zu ändern als Java Servlet

JSPs Code sind Wiederverwendbar durch Kapselung von Anwendungslogik.

Page 6: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Die Anatomie einer JSP-Seite

Eine JSP-Seite besteht aus „template text“ und JSP-Elementen. in der JSP-Seite zu den statischen HTML-Elementen zusätzlich JSP-Elemente hinzugefügt.JSP-Seite ist also im Grunde eine „normale“ Webseite mit

zusätzlichen JSP-Elementen. JSP-Elemente sind Skripte, Direktiven, und Aktionen.

Page 7: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Die Anatomie einer JSP-Seite

Page 8: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Ein einführendes Beispiel

helloWorld.jsp

<html><head><title>JSP: HelloWorld</title></head><body><h1>HelloWorld</h1><% String name = request.getParameter("parameter");if (name == null) { name = "world"; } %><h2>Hello <% name.toString(); %>!</h2></body></html>

Page 9: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Lebenszyklus von JSP-Seiten (1)

Eine JSP-Seite kann nicht als solche zum Browser geschickt werden. Alle JSP-Elemente müssen vorher durch den Server verarbeitet werden. Wenn man die JSP-Technologie einsetzen möchte, benötigt man einen JSP-fähigen Webserver.

Das bedeutet, dass der Webserver einen JSP-Container zur Verfügung stellt, der die Verarbeitung der JSP-Seiten vornimmt, also die Übersetzungs- und Anfragephase erledigt. Dieses wird dadurch erreicht, dass die JSP-Seite in ein Servlet umgewandelt wird.

Page 10: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Lebenszyklus von JSP-Seite (2)

JSP-Seite

GenerierungQuellcodedesServlet

Übersetzung

AusführungHTML Servlets

bei jeder Änderung der JSP-Seite

bei jeder Anfrage

bei jeder Änderung der JSP-Seite

Page 11: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Lebenszyklus von JSP-Seiten (3)

Übersetzungphase:

JSP-Datei, falls vorhanden,in ein Servlet konvertiert. Es entsteht eine Datei mit dem Quelltext des Servlets

ZB : index.jsp -> index$jsp.java Diese Datei wird nun in ein Servlet kompiliert. Es entsteht also eine .class-Datei.Diese beiden Schritte bezeichnet man als Übersetzungsphase (translation phase).Diese Phase wird nur ausgeführt, wenn die Seite zum ersten Mal angefragt wird Laden und Instantiieren des Servlet.Ausführen der Methode jspInit()

Geeignet für alle einmaligen Aufgaben.Kann durch eine Deklaration auf der JSP-Seite überschrieben werden.

Page 12: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Lebenszyklus von JSP-Seiten (4)

Anfragephase :

Des weiteren muss der Server auf jede Anfrage (request) eine Antwort (response) generieren durch die Methode :

_jspService (HttpServletRequest req , HttpServletResponse resp )

Beendigung durch Ausführen der Methode jspDestroy()

Diese Methode bildet das logische Gegenstück zur Methode jspInit() Freigabe von Ressourcen

Page 13: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente

JSP stellt verschiedenen Elemente zur Verfügung, um Webseiten mit dynamischen Inhalt zu generieren.

Alle Elemente werden in die JSP-Seite eingebettet.

Page 14: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente - Arten

Skripte (Scriptlets).Direktiven .Aktionen.

Page 15: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente - Skripte(1)

Ausdrücke (expressions)

Wert eines Java-Ausdrücke wird in das Ausgabedokument geschrieben.

Zugriff auf bekannte Objekte und deren Methoden.

String Behandlung.

Die Syntax lautet : <%= Ausdruck % > Wichtig : Kein Semikolon.

ist äquivalent zu : <% out.print(ausdruck) %>

Siehe Beispiel

Page 16: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente - Skripte(2)

Vereinbarungen (declarations)

Variablen , Methoden Vereinbarungen.

Mehrere Vereinbarungen, Variablen Initialisierung.

Gültifkeitsbereich : ganze JSP-Seite.

Die Syntax lautet : <%! Vereinbarung(en) %> Siehe Beispiel.

Page 17: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente - Skripte(3)

Anweisungsfragmente (scriplets / code fragments):

Einbettung Java Anweisungen in JSP-Seiten. Mehrere Ausdrücke. Keine vollständigen Anweisugen nötig. Die Syntax lautet: <% Anweisungsfragment (e) %>

Siehe Beispiel

Page 18: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente -Direktiven(1)

Informationen über JSP-Seite Spezifizieren. Direktiven besitzen Attribute, die gesetzt werden können.

JSP kennt verschiedene Direktiven :

Include.

Page.

Taglib.

Die Syntax lautet : <%@ Direktivenname { attributname=“wert“ } %>

Page 19: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente -Direktiven(2)

Die Direktive include:

Mit dieser Direktive wird eine Datei während der Übersetzungsphase in die JSP-Datei mit der include-Direktive eingefügt.Die einzufügende Datei kann sowohl eine HTML- als auch eine JSP-Datei sein.Die Syntax lautet: : <%@ include file=“Relative URL“ %>

Page 20: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente -Direktiven(3)

Die Direktive page:

Die Importkontrolle der einzelnen Klassen.Einfluss auf den Übersetzungsvorgang.Können eine oder Mehrere Attribute verwendet werden.

10 Attribute.

Die Syntax lautet: <%@ page ... %>

Beispiel für die Verwendung von Import :

<%@ page import = java.utils.* , mypackage.class %>

Page 21: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente -Direktiven(4)

Die Direktive taglib:

JSP file welches die taglibrary nutzt.

Die Direktive taglib deklariert eine tag-Bibliothek, die benutzerdefinierte Aktionen enthält und somit in der JSP-Seite nutzbar macht.

Die Syntax lautet:

<%@ taglib uri=“URIderTagbibliothek“ prefix=“tagPrefix“%>

Page 22: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente -Aktionen(1)

Aktionen können Objekte erzeugen der existierende Objekte modifizieren.Beeinflussen der Aktuellen JSP- Seite.

Die allgemeine Syntax lautet:

<aktion_Name attribut1=“wert1“ attribut2=“wert2“ >aktion_Rumpf

</aktion_Name>

Wenn es keinen Rumpf gibt, kann man eine Kurzform benutzen:

<aktion_Name attribut1=“wert1“ attribut2=”wert2” />

Page 23: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente -Aktionen(2)

Standardaktionen:

Standardaktionen müssen von jedem Server implementiert werden.

Include.Forward.Plugin.

Page 24: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente -Aktionen(include)

Die Aktion include: Mit der Aktion include wird die Ausgabe einer JSP-Seite zur Laufzeit in eine

andere JSP-Seite eingebettet. So sind Änderungen an der durch die include-Aktion einzufügende Seite

sofort sichtbar. Bei der Direktive include geschieht dies zur Übersetzungszeit.

Die Syntax lautet: <jsp:include page = “DateiURL” flush=”true” />

Page 25: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSPs Sprachelemente -Aktionen(forward)

Die Aktion forward :

Die Aktion forward ermöglicht die Weiterleitung einer Anfrage an eine andere JSP-Seite oder auch an ein Servlet.Diese Aktion beendet die Ausführung der aktuellen Seite, sie wird auch nicht wieder aufgenommen.

Die Syntax lautet: <jsp:forward page=“zielseite“ />

Page 26: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

JSP Sprachelemente -Aktionen(Plugin & Benutzerdefinierte)

Die Aktion plugin:

Das Java Plugin ist eine Java Runtimeumgebung der Firma Sun, die im Browser eingebunden werden kann.

Es ermöglicht also die Nutzung von Java Applets.

Benutzerdefinierte Aktionen:

Benutzerdefinierte Aktionen sind eine mächtige Möglichkeit dem Autor von JSP-Seiten weitere Logik zur Verfügung zu stellen.

Page 27: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Vorteile von JSP:

gegenüber reinen Servlets

normales HTML ist bequemer zu schreiben.Bessere Trennung von Präsentation und Inhalt.

gegenüber ActiveServer Pages(ASP) von Microsoft

Java ist mächtiger für komplexe Anwendungen als VBScript oder andere ASP-spezifischeSprachen.

JSP lässt sich auf andere Betriebssysteme und Webserver portieren, (plattformunabhängig )

gegenüber PHP(Hypertext Pre-Prozessor)

Vorteil liegt im Bereich der bereits vielfältig vorhandenen API´sfür das Netzwerk, für Datenbankzugriffe usw.Wenn man Java kann, muss man keine neue Sprache lernen.

gegenüber JavaScript

Nur auf Clientseite ausgeführt.Keine Datenbankzugriffe.

.

Page 28: Java Server Pages Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden

Danke für Die Aufmerksamkeit