Ralf Gitzel 1 ralf [email protected]/JEE-16-03-Attribute-Und-Sessions.pdf ·...

53
Ralf Gitzel [email protected] 1 Sessions und Attribute

Transcript of Ralf Gitzel 1 ralf [email protected]/JEE-16-03-Attribute-Und-Sessions.pdf ·...

Page 1: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

Ralf [email protected]

1

Sessions und Attribute

Page 2: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

Ralf [email protected]

2

Themenübersicht

Page 3: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

3

Übersicht

• Attribute und Gültigkeitsbereiche• Motivation für Sessions• Verwendung von Sessions

Page 4: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

Ralf [email protected]

4

Attribute

Page 5: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

5

Welchen Zweck habenAttribute?

• Attribute erlauben die Zwischenspeicherungvon Werten, die vom Programm angelegt undgeändert werden können

• Attribute können verschiedeneGeltungsbereiche haben

Page 6: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

6

Motivation

Informations-austauschzwischen

verschiedenenElementen

Page 7: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

7

Attribute Konzept

• Servlets können trotz ZustandslosigkeitWerte zwischenspeichern– um sie später selbst wieder zu verwenden– um sie mit anderen Servlets auszutauschen

• Diese Werte können einen beliebigenTyp haben (d.h. Rückgabewert istObject!)

• Attribute werden in verschiedenenBereichen abgelegt, je nach Gültigkeit

Page 8: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

8

Attributsbereiche

Gültigkeitsbereich Lebensdauer Verwendung

Context GanzeWebanwendung

Wie dieAnwendung ?

RequestAlle Elemente inder Kette dieser

Request

Bis die Requestnicht mehr

weitergegebenwird (dispatch!)

?

Session

Für einenAnwender, bis er

die Web-App„verlässt“

Bis die Sessionbeendet ist ?

Page 9: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

9

Verwendungszweck derAttributsbereiche

Gültigkeitsbereich Lebensdauer Verwendung

Context GanzeWebanwendung

Wie dieAnwendung

Datenbank-verbindung

RequestAlle Elemente inder Kette dieser

Request

Bis die Requestnicht mehr

weitergegebenwird (dispatch!)

Zwischen-ergebnisse

Session

Für einenAnwender, bis er

die Web-App„verlässt“

Bis die Sessionbeendet ist Einkaufswagen

Page 10: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

10

Attribut-API: Context

• Im Interface ServletContext• Im Servlet über getServletContext()

verfügbar• Methoden:

– getAttribute(String)– setAttribute(String,Object)– removeAttribute(String)– getAttributeNames()

Page 11: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

11

Attribut-API: Request

• Im Interface ServletRequest (und damitauch in der Klasse HttpServletRequest)

• Methoden:– getAttribute(String)– setAttribute(String,Object)– removeAttribute(String)– getAttributeNames()

Page 12: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

12

Attribut-API: Session

• Im Interface HttpSession (mehr dazuspäter in der Vorlesung)

• Methoden:– getAttribute(String)– setAttribute(String,Object)– removeAttribute(String)– getAttributeNames()

Page 13: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

13

Wichtige Anmerkungen zuAttributen

• Rückgabetyp ist Object, also ist ein Castnotwendig

• Nicht thread-sicher:– Komplexes Thema– Faustregel: Es sollten nie mehrere

Anwender gleichzeitig auf ein Attributzugreifen

– Vorgriff: Session Beans bieten uns diegleiche Funktionalität mit Threadsicherheit

Page 14: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

14

Verwendung von Attributen –Setzen (z.B. im Context)

ServletContext!

Klasse: init.SampleContextListener

Page 15: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

15

Verwendung von Attributen -Auslesen

Klasse: init.ContextUser2

Frage: Warumder Cast aufSharedData?

Page 16: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

Ralf [email protected]

16

Motivation für Sessions

Page 17: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

17

Problem: Das http-Protokoll ist inReinform zustandslos

Request

Response

Verbindungsaufbau

Verbindung beendet

Im http-Protokoll wird nach jeder Anfrage die Verbindung beendet.Zustandslosigkeit

Page 18: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

18

Konsequenzen derZustandslosigkeit

• Jede Anfrage ist eine neue Verbindung• Der Inhalte der Anfrage wird dann

vergessen• Es gibt keine „Historie“:

– Welche Seite wurde vorher besucht– Welche Werte wurden vor der aktuellen

Anfrage in ein Webformular eingegeben– ….

Page 19: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

19

Wann Zustandslosigkeit keinProblem ist!

• Bei „normalen“ Webseiten (reines HTML)• Beispiel: Es ist egal, von welcher Seite ich komme,

http://web.fh-ludwigshafen.de/index.nsf/de/imagefilmsieht immer gleich aus!

• Früher bestand das Internet nur aus statischen Seiten

Page 20: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

20

Wann Zustandslosigkeit einProblem wird!

Kaufe Buch X

Zeige EinkaufwagenUser: Cowboy Bill

Im http-Protokoll wird nach jeder Anfrage die Verbindung beendet.Zustandslosigkeit

Die Seite „Zeige Einkaufwagen“ kann nicht wissen, dass vorherein Buch X gekauft wurde

Page 21: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

21

Vorschlag:Naive Lösung

• Wir speichern Zustandsinformationen imServletcontext

• Beim nächsten Aufruf haben wir alleDaten wieder da!

• (Wir können jetzt heimgehen undmüssen nichts über Sessions lernen!)

Page 22: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

22

Gruppendiskussion: Was würde hierpassieren?

Kaufe Buch X

Zeige EinkaufwagenUser: Cowboy Bill

Kaufe Buch X

Zeige Einkaufwagen

Kaufe Buch YUser: Gentleman Dave

User: Cowboy Bill

User: Cowboy Bill

Die

Wel

taus

der

Sich

tBill

sD

ieW

elta

usde

rSi

chtd

esSe

rver

s

Page 23: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

23

Bewertung der naiven Lösung

• Die naive Lösung trägt nicht derTatsache Rechnung, dass ein Servermehrere Anwender hat

• Wir brauchen für jeden Anwender eineeigene Umgebung für Attribute

Page 24: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

24

Session IDs

CB Kauft Buch X

Zeige Ek-Wagen CB

GD Kauft Buch YUser: Gentleman Dave

User: Cowboy Bill

User: Cowboy Bill

Anmelden als CBUser: Cowboy BillCB

CB

Anmelden als GDUser: Gentleman Dave

GD

GD

CB

Page 25: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

25

Hinweis : Cookies

• Cookies speichern Informationen auf der ClientSeite

• Diese Information wird mit jeder Anfrage anden Server übertragen

• Über einen Cookiewert („Session ID“) kann derServer erkennen, wer die Anfrage gestellt hat

• Im Servlet werden über die Session ID dieAttribute identifiziert, die zur Session desAnwenders gehören

Page 26: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

Ralf [email protected]

26

Verwendung von Sessions

Page 27: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

27

Was macht eine Session?

Beginn Aktiv Terminiert

Wird durch einenMethodenaufruf imServlet gestartet!

Attribut 1

….

Attribut n

„Private“ Attributenur für einen

Anwender

Attribute werden gelöscht.User muss eine neue

Session beginnen!

Page 28: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

28

Typischer Anwendungsfall

Session explizitbeenden

Session abfragen &Attribute ändern

Session erzeugenNutzer kommt aufder Startseite an

Nutzer kommt auf einerSeite an

Nutzer meldet sich ab

Session TimeoutNutzer verlässt Seiteohne sich abzumelden

Page 29: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

29

Typischer Anwendungsfall

Session explizitbeenden

Session abfragen &Attribute ändern

Session erzeugenNutzer kommt aufder Startseite an

Nutzer kommt auf einerSeite an

Nutzer meldet sich ab

Session TimeoutNutzer verlässt Seiteohne sich abzumelden

Page 30: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

30

Session erzeugen/abfragen

• Wird mit dem gleichen „Befehl“ erreicht• Wenn keine Session existiert, dann wird

eine neue erzeugt

• request.getSession()• Rückgabewert: HttpSession

Page 31: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

31

Beispiel für Sessionverwaltung

Attribute anlegen, die später verändert werden sollen

Werte anpassen (z.B. basierend auf denübergebenen Parameters)

Klasse: session.BeanCounterServlet (Aufruf über: BeanCounter.html)

Page 32: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

32

Typischer Anwendungsfall

Session explizitbeenden

Session abfragen &Attribute ändern

Session erzeugenNutzer kommt aufder Startseite an

Nutzer kommt auf einerSeite an

Nutzer meldet sich ab

Session TimeoutNutzer verlässt Seiteohne sich abzumelden

Page 33: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

33

Beispiel: Attribute in Session neuanlegen

z.B. einMethodenaufruf!

Page 34: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

34

Beispiel: Zielmethode

Ich speichere denUser Namen (aus

Web Formular) undein eigenes Objekt

Page 35: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

35

Typischer Anwendungsfall

Session explizitbeenden

Session abfragen &Attribute ändern

Session erzeugenNutzer kommt aufder Startseite an

Nutzer kommt auf einerSeite an

Nutzer meldet sich ab

Session TimeoutNutzer verlässt Seiteohne sich abzumelden

Page 36: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

36

Beispiel: Attribute ändern

z.B. einMethodenaufruf!

Page 37: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

37

Beispiel: Attribute ändern

Page 38: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

38

Typischer Anwendungsfall

Session explizitbeenden

Session abfragen &Attribute ändern

Session erzeugenNutzer kommt aufder Startseite an

Nutzer kommt auf einerSeite an

Nutzer meldet sich ab

Session TimeoutNutzer verlässt Seiteohne sich abzumelden

Page 39: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

39

Session explizit beenden• Beispiel:

– User klickt auf einen Link oder einen Submitt-Knopf um sichAbzumelden

– Der Link ruft die Methode invalidate() auf

Die Session endet sofort,Zugriffe auf das SessionObjekt nicht mehr legitim(IllegalStateException)

Klasse: session.SessionInvalidator

Page 40: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

40

Typischer Anwendungsfall

Session explizitbeenden

Session abfragen &Attribute ändern

Session erzeugenNutzer kommt aufder Startseite an

Nutzer kommt auf einerSeite an

Nutzer meldet sich ab

Session TimeoutNutzer verlässt Seiteohne sich abzumelden

Page 41: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

41

Steuerung des Timeout (1):Deployment Descriptor

Timeout-Zeitspannefür alle Servlets in

der Web-Applikationin Minuten

Page 42: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

42

Steuerung des Timeout (2):Über Methodenaufruf

Timeout-Zeitspannefür diese Session in

Sekunden

Klasse: session.BeanCounterServlet (Aufruf über: BeanCounter.html)

Page 43: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

Ralf [email protected]

43

Lernziele

Page 44: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

44

Lernziele

• Attribute verwenden können und dieverschiedenen Geltungsbereichekennen.

• Verstehen, warum man Sessions braucht• Sessions verwenden können

Page 45: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

Ralf [email protected]

45

Übungsaufgabe

Page 46: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

46

Aufgabenstellung

• Programmieren Sie eine Eingabe fürPersonendaten

• Mit einer zweiten Webseite soll man inder Lage sein, beliebig viele Hobbieseinzugeben

• Die Informationen sollen in der Sessiongespeichert werden

Page 47: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

47

Eingabeformular

Formular wie beim letzten Mal

Page 48: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

48

Eingabe der Hobbies

Page 49: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

49

Eingabe der Hobbies

Page 50: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

50

Vorgehensweise

• Legen Sie ein eigenes Dynamic WebProject an

• Sie können die HTML Datei für diePersonendateneingabe und dieHilfsklassen in „Uebung-13-04.zip “verwenden – Achtung: kein vollständigesProjekt, bitte Einzelfiles importieren

Page 51: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

51

Existierende Hilfsklassen:Person

Page 52: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

52

Existierende Hilfsklasse:HTMLCreator

Schreibt über den PrintWriter die auf Folie 46 gezeigte HTML-Seite.Man muss nur das zielServlet übergeben, auf das die Seite verweisensoll und das Personen-Objekt übergeben, das angezeigt wird.

Page 53: Ralf Gitzel 1 ralf gitzel@hotmailralf-gitzel.info/JEE-16-03-Attribute-Und-Sessions.pdf · ralf_gitzel@hotmail.de 4 Attribute. 5 Welchen Zweck haben Attribute? • Attribute erlauben

53

Grobstruktur

PersonalDatenEingabe.html

HobbyProcessingServlet

AddHobbyServlet

Session erzeugenPerson-Objekt anlegenHobby-Seite (Folie 46)

Session aufrufenPerson-Objekt auslesenHobby-Seite (Folie 46)

HTMLCreator

Person {