Seite 120 Java Server Pages Technologie zur Erzeugung

  • Slides: 21
Download presentation
Seite 1/20 Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar

Seite 1/20 Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 2/20 Inhalt 1. dynamisches HTML 2. Webseiten generieren mit Java • • Java

Seite 2/20 Inhalt 1. dynamisches HTML 2. Webseiten generieren mit Java • • Java Servlets Java Server Pages 3. Java Server Pages anwenden Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 3/20 1. dynamisches HTML n Warum dynamisches HTML ? è Statische HTML-Seiten reichen

Seite 3/20 1. dynamisches HTML n Warum dynamisches HTML ? è Statische HTML-Seiten reichen nicht aus, um größere Web-Anwendungen zu realisieren. n Anforderungen an dynamisches HTML è è è einfache Programmierung unkomplizierte Anbindung an Datenbanken Sitzungs-Management schnelle Ausführungsgeschwindigkeit Trennung von Design und Programmierung Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 4/20 1. dynamisches HTML Häufig benutzte Methoden: n n CGI (z. B. mit

Seite 4/20 1. dynamisches HTML Häufig benutzte Methoden: n n CGI (z. B. mit Perl, C, . . . ) Webserver-API‘s (NSAPI, ISAPI, Apache-API, . . . ) Server Side Includes (SSI) Server-seitige Skripte (z. B. PHP) Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 5/20 1. dynamisches HTML Problem: Trennung zwischen Design und Code Beispiel CGI: HTML-Dokument

Seite 5/20 1. dynamisches HTML Problem: Trennung zwischen Design und Code Beispiel CGI: HTML-Dokument in ‘print‘-Anweisungen des CGIQuellcodes. Beispiel Serverseitige Skripte: Programmcode im HTML-Dokument Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 6/20 2. Webseiten generieren mit Java § Java Servlets: Programmierschnittstelle, um HTMLSeiten mit

Seite 6/20 2. Webseiten generieren mit Java § Java Servlets: Programmierschnittstelle, um HTMLSeiten mit Java zu generieren. § Java Server Pages: Konzept, um Webseiten zu generieren, das intern auf die Servlet-API aufbaut. Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 7/20 2. Java Servlets Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 7/20 2. Java Servlets Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 8/20 2. Java Servlets n Was sind Servlets ? è Java-Klassen, die das

Seite 8/20 2. Java Servlets n Was sind Servlets ? è Java-Klassen, die das Interface javax. servlet. Servlet implementieren. è meistens Subklassen von javax. servlet. http. Http. Servlet Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 9/20 2. Java Servlets n Der Lebenszyklus eines Servlets: n n Der Browser

Seite 9/20 2. Java Servlets n Der Lebenszyklus eines Servlets: n n Der Browser schickt eine Anfrage an den Webserver Ist das Servlet noch nicht geladen (instanziiert), so wird es vom Servlet-Container geladen, der darauf die Methode init(. . . ) aufruft. Die Methode service(. . . ) wird aufgerufen, in der das Servlet den HTML-Code erzeugt. Der Servlet-Container beendet das Servlet eventuell mit destroy(). Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 10/20 2. Was sind Java Server Pages „Java Server Pages sind eine Möglichkeit,

Seite 10/20 2. Was sind Java Server Pages „Java Server Pages sind eine Möglichkeit, Serverseitig dynamische Webseiten analog der Methoden CGI und Servlets zu generieren. Die Besonderheit der Java Server Pages liegt in der Trennung des Oberflächendesigns der zu erzeugenden HTML-Seite und des programmiertechnischen Aufwandes“ [1] Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 11/20 2. Java Server Pages n Wie funktionierts ? n n Bei der

Seite 11/20 2. Java Server Pages n Wie funktionierts ? n n Bei der ersten Anfrage eines Clients (Webbrowser) wird die JSP in eine Servlet. Klasse umgeschrieben und compiliert. Ab diesem Zeitpunkt wird sie genau wie ein Servlet behandelt. Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 12/20 2. Java Server Pages Merkmale von JSP‘s: n n n Der komplette

Seite 12/20 2. Java Server Pages Merkmale von JSP‘s: n n n Der komplette Umfang der Sprache Java steht bereit (Java. Beans, JDBC, . . . ) Sehr einfaches Sitzungs-Konzept Durch selbst-definierte Tags einfach in HTML zu integrieren Dadurch ist eine komfortable Trennung zwischen HTML und Programm möglich Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 13/20 3. Java Server Pages anwenden n JSP – „Skripte“ n JSP –

Seite 13/20 3. Java Server Pages anwenden n JSP – „Skripte“ n JSP – „Aktionen“ n Einbindung von Java. Beans n Benutzerdefinierte Tags n Ein kleines Beispiel Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 14/20 3. JSP – „Skripte“ n n Java Code-Abschnitte werden durch das Tag

Seite 14/20 3. JSP – „Skripte“ n n Java Code-Abschnitte werden durch das Tag <%. . . %> in HTML eingefügt. Werte von Ausdrücken werden mit <%=. . . %> direkt eingesetzt. n Deklarationen sehen so aus: <%!. . . %> n <%- dies ist ein Kommentar ! -%> Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 15/20 3. JSP – „Aktionen“ n Aktionen, um den Ablauf einer JSP zu

Seite 15/20 3. JSP – „Aktionen“ n Aktionen, um den Ablauf einer JSP zu verändern: (Standardaktionen) n <jsp: include page=„URL“. . . /> n <jsp: forward page=„URL“. . . /> n <jsp: plugin. . . /> Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 16/20 3. Einbindung von Java. Beans n Deklaration innerhalb der JSP mit der

Seite 16/20 3. Einbindung von Java. Beans n Deklaration innerhalb der JSP mit der Aktion ‚use. Bean‘: <jsp: use. Bean id=„Name“ class=„Bean. Klasse“ scope=„Gültigkeitsbereich“. . . /> n Das Setzen einer Eigenschaft: <jsp: set. Property name=„Bean. Name“ property=„property. Name“ value=„Wert“ /> n Das abrufen einer Eigenschaft: <jsp: get. Property name=„Bean. Name“ property=„property. Name“ /> Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 17/20 3. Benutzerdefinierte Tags n Unterstützung im Paket javax. servlet. jsp. tagext n

Seite 17/20 3. Benutzerdefinierte Tags n Unterstützung im Paket javax. servlet. jsp. tagext n n Für jeden Tag wird eine Klasse benötigt, die den Tag behandelt. Definition durch tag-library-descriptor in XML und der Direktive <%@ taglib. . . %> in der JSP. Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 18/20 3. Ein kleines Beispiel Datei „zaehler. jsp“ : <%@ page error. Page="errorpge.

Seite 18/20 3. Ein kleines Beispiel Datei „zaehler. jsp“ : <%@ page error. Page="errorpge. jsp" session="true"%> <jsp: use. Bean id="zaehler" scope="session" class="bsp. Zaehler. Bean"> <% session. set. Max. Inactive. Interval(90); %> </jsp: use. Bean> <% zaehler. increment(); %> <html> <h 4>Anzahl der Zugriffe: <%= zaehler. get. Anzahl() %></h 4> <a href="zaehler. jsp">Reload</a><p> <a href="ende. jsp">Ende der Session</a> </html> Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 19/20 3. Ein kleines Beispiel Datei „ende. jsp“ : <%@ page error. Page="errorpge.

Seite 19/20 3. Ein kleines Beispiel Datei „ende. jsp“ : <%@ page error. Page="errorpge. jsp" %> <% session. invalidate(); %> <html> <h 4>Ende der Session</h 4> <a href="zaehler. jsp">Start der Session</a> </html> Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Seite 20/20 3. Ein kleines Beispiel package bsp; Datei „Zaehler. Bean. java“ import javax.

Seite 20/20 3. Ein kleines Beispiel package bsp; Datei „Zaehler. Bean. java“ import javax. servlet. *; import javax. servlet. http. *; import java. util. *; public class Zaehler. Bean implements Http. Session. Binding. Listener { private int anzahl = 0; public void increment() { anzahl++; } public int get. Anzahl() { return anzahl; }. . . } Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer

Literatur 1. 2. 3. 4. 5. 6. 7. Java. Server Pages und Servlets Brantner/Schmidt/Wabnitz,

Literatur 1. 2. 3. 4. 5. 6. 7. Java. Server Pages und Servlets Brantner/Schmidt/Wabnitz, Data Becker, 2001 Java Server und Servlets Roßbach/Schreiber, Addison Wesley, 2000 Java-Bausteine für E-Commerce-Anwendungen Eberhart/Fischer, Carl Hanser Verlag, 2000 Java Servlet Programming Hunter/Crawford, O‘Reilly, 1998 http: //java. sun. com/products/jsp/docs. html http: //java. sun. com/books/tutorial/servlets http: //jakarta. apache. org/tomcat-4. 0 -doc Blockseminar Wintersemester 2001/2002 Jochen Pfeiffer