| |
Gegenüber
Servlets hat JSP einige Vorteile. Zwar bietet JSP nichts, was nicht auch prinzipiell
mit
Servlets geleistet werden könnte, jedoch ist es oft einfacher
zu handhaben, reines HTML zu
schreiben, als sich dieses durch println()-Anweisungen erzeugen zulas sen. Des
weiteren ist mit
JavaServer Pages eine Trennung von Präsentation und Geschäftslogik durch
den Einsatz von
JavaBeans und benutzerdefinierten Tags möglich.
7.4 JavaBeans
JavaBeans sind nichts weiter als Klassen,
die für ihre Ereignis-Verarbeitung und Methoden
bestimmte Namenskonventionen beachten müssen.
Sie sind wiederverwendbare Softwarekomponenten, die
auf der JavaBeans-Spezifikation von
SUN basieren. In der Spezifikation werden sie folgendermaßen
definiert: A Java Bean is a
reusable software component that can be manipulated visually in a builder tool.
Sie werden
schon seit einigen Jahren bei der Konstruktion von grafischen Benutzeroberflächen
eingesetzt.
Die Eigenschaften einer JavaBean werden durch ihre Attribute
festgelegt, wie bei anderen Java-
Klassen auch. Nur darf eine JavaBean keine öffentlichen
(globalen) Attribute besitzen. Das
Geheimnisprinzip ist streng einzuhalten. Der Zugriff auf die Attribute einer JavaBean
darf nur
über entsprechende Zugriffsmethoden erfolgen.
Die JavaBeans-Spezifikation sieht hier für getter-
und setter-Methoden vor. Hat ein JavaBean
das Attribut userName, so wird dieses Attribut durch
die Methode setUserName() gesetzt. Der
Wert dieses Attributes wird über die Methode getUserName() ausgelesen. Dies ermöglicht es dem Entwickler zwischen Attributen zu unterscheiden, die entweder nur gelesen oder die sowohl gelesen, als auch geschrieben oder die nur geschrieben werden können. Möchte man ein Attribut
implementieren, das nur gelesen werden darf, wird für das entsprechende Attribut
nur die
getterMethode zur Verfügung gestellt. Einem anderen Objekt ist es somit nicht
möglich, den Wert
des Attributs zu verändern. Bei Attributen nur mit Schreizugriff wird nur die setter-Methode und
bei Attributen mit Lese- und Schreibzugriff werden beiden Methoden implementiert.
Sowohl bei den get-/set-, als auch bei den is-/set-Methoden
die Groß-/Kleinschreibung zu
beachten. Hat beispielsweise ein Attribut den Namen
userName, so heißen die Methoden
setUserName() und getUserName(). Der erste Buchstabe nach get bzw. set wird groß
geschrie-
ben.
Mit der Aktion useBean können JavaBeans
innerhalb von JavaServer Pages verwendet
werden. 7.5
Benutzerdefinierte JSP-Tags JavaBeans
werden hauptsächlich zur Speicherung von Daten über mehrere Anfragen
hinweg
verwendet. Des weiteren können mittels der entsprechenden
Aktionen Attributwerte von Java-
Beans gesetzt und gelesen werden.
Eine wesentlich engere Integration von Java-Klassen
in JSP bieten benutzerdefinierte Tags. Mit
ihnen können sehr leicht neue Funktionalitäten
in Web-Seiten integriert werden. Die Verwendung
erfordert keine Scripte und es werden keine Java-Kenntnisse benötigt. Der
Web-Designer muss
nur die Namen und die Parameter der Tags kennen. Die Logik der Tags wird in separate Java-
Klassen gekapselt, welche den Web-Designern von den Entwicklern zur Verfügung
gestellt
werden. Es ist somit eine eindeutige Trennung der Aufgabenbereiche möglich.
Zur Verwendung von Tags innerhalb von JavaServer Pages sind drei getrennte Komponenten
notwendig:
Die Tag-Handler-Klasse, die das Verhalten bzw. die Logik
des Tags definiert.
Die Descriptor-Datei zur Definition
einer Tag-Bibliothek, in der die Zuordnung des Tag-
Namens
zur Tag-Handler-Klasse gemacht wird.
Die JavaServer Page, welche die durch
die Descriptor-Datei definierte Tag-Bibliothek
verwendet.
|  |
|
| |
|
|