PowerPoint-Präsentation - Benutzer-Homepage

Werbung
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 Servlets
Java Server Pages
3. Java Server Pages anwenden
Blockseminar Wintersemester 2001/2002
Jochen Pfeiffer
Seite 3/20
1. dynamisches HTML
 Warum dynamisches HTML ?
 Statische HTML-Seiten reichen nicht aus, um
größere Web-Anwendungen zu realisieren.

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:




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 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 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
Web-Server
Servlet
Datenbank
Servlet
Servlet
Servlet-Container
Blockseminar Wintersemester 2001/2002
Jochen Pfeiffer
Seite 8/20
2. Java Servlets
Was sind Servlets ?
 Java-Klassen, die das Interface
javax.servlet.Servlet implementieren.
 meistens Subklassen von
javax.servlet.http.HttpServlet
Blockseminar Wintersemester 2001/2002
Jochen Pfeiffer
Seite 9/20
2. Java Servlets
Der Lebenszyklus eines Servlets:
 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, 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

Wie funktionierts ?


Bei der ersten Anfrage eines Clients
(Webbrowser) wird die JSP in eine ServletKlasse 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:





Der komplette Umfang der Sprache Java
steht bereit (JavaBeans, 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

JSP – „Skripte“

JSP – „Aktionen“

Einbindung von JavaBeans

Benutzerdefinierte Tags

Ein kleines Beispiel
Blockseminar Wintersemester 2001/2002
Jochen Pfeiffer
Seite 14/20
3. JSP – „Skripte“


Java Code-Abschnitte werden durch das
Tag <% ... %> in HTML eingefügt.
Werte von Ausdrücken werden mit
<%= ... %> direkt eingesetzt.

Deklarationen sehen so aus: <%! ...%>

<%- dies ist ein Kommentar ! -%>
Blockseminar Wintersemester 2001/2002
Jochen Pfeiffer
Seite 15/20
3. JSP – „Aktionen“

Aktionen, um den Ablauf einer JSP zu
verändern: (Standardaktionen)

<jsp:include page=„URL“ ... />

<jsp:forward page=„URL“ ... />

<jsp:plugin ... />
Blockseminar Wintersemester 2001/2002
Jochen Pfeiffer
Seite 16/20
3. Einbindung von JavaBeans

Deklaration innerhalb der JSP mit der Aktion
‚useBean‘:
<jsp:useBean
id=„Name“
class=„BeanKlasse“
scope=„Gültigkeitsbereich“ ... />

Das Setzen einer Eigenschaft:
<jsp:setProperty name=„BeanName“
property=„propertyName“ value=„Wert“ />

Das abrufen einer Eigenschaft:
<jsp:getProperty name=„BeanName“
property=„propertyName“ />
Blockseminar Wintersemester 2001/2002
Jochen Pfeiffer
Seite 17/20
3. Benutzerdefinierte Tags

Unterstützung im Paket
javax.servlet.jsp.tagext


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 errorPage="errorpge.jsp" session="true"%>
<jsp:useBean id="zaehler" scope="session"
class="bsp.ZaehlerBean">
<% session.setMaxInactiveInterval(90); %>
</jsp:useBean>
<% zaehler.increment(); %>
<html>
<h4>Anzahl der Zugriffe: <%= zaehler.getAnzahl() %></h4>
<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 errorPage="errorpge.jsp" %>
<% session.invalidate(); %>
<html>
<h4>Ende der Session</h4>
<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 „ZaehlerBean.java“
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class ZaehlerBean implements HttpSessionBindingListener {
private int anzahl = 0;
public void increment() {
anzahl++;
}
public int getAnzahl() {
return anzahl;
}
...
}
Blockseminar Wintersemester 2001/2002
Jochen Pfeiffer
Literatur
1.
2.
3.
4.
5.
6.
7.
JavaServer 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/tomcat-4.0-doc
Blockseminar Wintersemester 2001/2002
Jochen Pfeiffer
Herunterladen