Inhalt Abbildung PDF Source SCWCD
 |<    <     >    >|  Generated by CoCoDiL

6 Session Manangement

6.1 Lebenszyklus einer Session

Write servlet code to store objects into a session object and retrieve objects from a session object.

Von einer Anfrage HttpSessionRequest erhält man eine Session durch eine der folgenden Methoden

Die Methode getSession(false) erzeugt keine neue Session, sondern gibt lediglich die aktuelle Session zurück. Existiert keine Session so wird null zurückgegeben.

Die Methoden getSession() und getSession(true) verhalten sich identisch. Es gibt die aktuelle Session zurück. Existiert keine aktuelle Session wird eine neue erzeugt.

Das Interface um Objekte an eine Session zu binden, wurde schon bei den Scopes behandelt. Es ist nicht möglich für einen einzelnen Namen mehrere Objekte zu speichern.

Laut Konvention sollten die Namen AttributObjekte entspechend wie Packages aufgebaut sein. z.B com.myCompany.project.packageA.packageB.Object

Given a scenario describe the APIs used to access the session object, explain when the session object was created, and describe the mechanisms used to destroy the session object, and when it was destroyed.

Die Methode aHttpSession.isNew() überprueft ob eine Session noch neu ist

Eine Session wird beendet:

Es ist die Aufgabe des Servlet Containers, die Sessions zu beobachten, zu messen wie lange diese inaktiv sind, und die inaktive Session zu beenden.

Man kann eine einzelnen Session einen Wert in Sekunden mitgeben, nachdem der ServletContainer bei Inaktivitaet diese Session löscht. Dies geschieht durch die Methode setMaxInactiveInterval(int seconds). Ein negativer Wert setzt das Intervall auf unbegrenzt.

Mit Hilfe des Deployment Descriptors kann man allen Sessions einer Webapplikation, einen Default Wert mitgeben, wie lange eine Session inaktiv sein darf, bis sie zerstört wird. Diese Angabe ist in Minuten (nicht in Sekunden wie bei setMaxInactiveIntervla(int interval). Bei einem Wert gleich null oder negativ wird der Container eine Session nicht zerstören.

Ist das Element session-config nicht im Deployment Descriptor angegeben, wird ein interner Default Wert angenommen, der vom spezifischen Servlet-Container abhängt.

Inhalt Abbildung PDF Source SCWCD
 |<    <     >    >|  Generated by CoCoDiL