Java Reference
In-Depth Information
123 Erste Beispielkomponente
Die von unserer ersten Web-Komponente realisierte Anwendung stellt sich aus Benutzer-
sicht wie in Bild 12.3 dar.
Bild 12.3 Erste Web-Komponente aus Benutzersicht
Es wird der Wert eines Zählers angezeigt (im Beispiel 0) sowie zwei Buttons, mit denen der
Zählerwert erhöht oder auf 0 zurückgesetzt werden kann. Bitte beachten Sie: Wenn die
Web-Seite einen gewissen Zählerwert (z. B. 104) anzeigt und Sie klicken auf „Erhöhen“,
dann muss nicht notwendigerweise der um eins erhöhte Wert (105) zu sehen sein, sondern
es kann auch ein kleinerer Wert (47) oder ein deutlich größerer Wert (543) ausgegeben
werden. Dies liegt daran, dass neben Ihnen auch andere Benutzerinnen und Benutzer mit
ihren Browsern auf die Anwendung zugreifen können. Wenn die in Ihrem Browser ange-
zeigte Seite schon vor Stunden abgerufen wurde, dann ist der dargestellte Zählerwert unter
U m s t ä nden seit längerer Zeit nicht mehr gültig (Ihre Web-Seite wird ja nicht automatisch
aktualisiert). Das heißt, seit Ihrer letzten Aktion kann der Zähler mehrfach erhöht und
zurückgesetzt worden sein.
Die gezeigte Anwendung ist so einfach, dass sie problemlos mit einer einzigen Servlet-
Klasse implementiert werden könnte. Um eine etwas größere Anwendung vorzugaukeln,
sollen jedoch drei Servlets verwendet werden: eines zum Anzeigen der Seite gemäß Bild
12.3, eines zum Erhöhen und eines zum Zurücksetzen des Zählers. Durch die Au eilung auf
mehrere Servlets muss ein Zugriff auf ein gemeinsames Datum, nämlich den Zähler, reali-
siert werden. Es bietet sich an, hierfür den vom ServletContext bereitgestellten Speicher zu
benutzen. Der aktuelle Zählerwert wird in der Klasse Counter (s. Listing 12.2) gekapselt.
Diese Klasse enthält die für diese Anwendung notwendigen Methoden increment, reset und
get. Die zusätzliche Methode decrement wird später noch benötigt werden. Wegen eines
möglichen parallelen Zugriff s sind alle Methoden synchronized (s. hierzu die Erläuterun-
gen am Ende des letzten Abschnitts).
 
Search WWH ::




Custom Search