# JSF: Best Practice "Session invalidate nach Schließen des Browsers"?



## daily (18. Mrz 2009)

Hallo zusammen,

weis jemand wie man ein schließen der JSF Session nach schließen des Browsers am besten realisiert? Kann man irgendwie mit Heartbeats arbeiten?? Irgendwer hat das doch sicher schonmal gemacht..

Schonmal Danke für jegliche Antwort!

Gruß daily


----------



## maki (18. Mrz 2009)

> weis jemand wie man ein schließen der JSF Session nach schließen des Browsers am besten realisiert?


Spontan fällt mir da nur der klassische Timeout ein, denn der Server weiss ja nichts davon dass der Client (Browser) weg ist.
k.A. wie das moderne Server-Push Ansätze wie Icefaces und konsorten Regeln.

Über "Heartbeat" findet man etwas bei Google, gearbeitet habe noch nicht damit.


----------



## daily (30. Mrz 2009)

Hab nu das ganze mit IceFaces gelöst. Meinen entsprechenden Thread dazu findet man hier:

Don't understand the Heartbeat Feature.. Or doesn't it simply not work as expected?


----------



## Halunken-Joe (2. Apr 2009)

daily hat gesagt.:


> weis jemand wie man ein schließen der JSF Session nach schließen des Browsers am besten realisiert? Kann man irgendwie mit Heartbeats arbeiten??


Was bitte sind heartbeats?

Ich habe gerade deswegen einen Listener (-> wird durch die web-inf gestartet) implementiert. 

javax.servlet.http (Java EE 5)

Der SessionListener schließt die Session radikal beim timeout (web-inf). Benötigst Du nach dem Schließen noch Informationen über den ex-benutzer der Session mußt Du sie Dir vorher besorgen: Z.B. in dem Du nach der erfolgreichen Anmeldung in den SessionContext schreibst. Das überwachst Du mit dem HttpSessionAttributeListener. 

Also eine Klasse, zwei Implementationen, fünf Methoden.

Dazu benötigst Du noch einen Filter (wird in der web-inf initialisiert) der Deine Seitenzugriffe überwacht. Java 2 Platform EE v1.3: Interface Filter und bei der nächsten Aktion (bei der Du schon abgemeldet ist) Deine Seiten umlenkt. Z.B. auf die Timeout Seite.


----------

