Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Session in JSP explizit zerstören

Empfohlene Antworten

Hallo,

wie man eine Session generell zerstört weiß ich...

session.invalidate();

Nur wie kann ich eine Session zerstören, wenn der User über einen Logout-Button/Link die WebApp verläßt? Das Problem besteht ja, dass beim Aufruf der jsp-Datei, die Seite von oben nach unten erstmal vollständig durch den Server interpretiert wird und an den den Client versand wird. Somit würde auch ein Aufruf zum zerstören der Session über Link/Button schon ausgeführt bevor man es überhaupt will bzw. beabsichtigt hat. In PHP wäre dies Problem über

isset();

einfach zu lösen, nur in JSP sehe ich da keine Möglichkeit.

Soweit ich das auch bisher in anderen Foren einsehen konnte, gibt es da keine Patentlösung für.

Hat vielleicht von euch jemand eine Idee, wie man das Problem lösen könnte?

Servus,

ist nur ein Gedanke, vielleicht habe ich Dich aber auch falsch verstanden: Setze die Session doch invalid und redirecte dann auf eine Seite, die nach dem Logout zu sehen sein soll (response.sendRedirect("index");).

Peter

so wie es aussieht, hast Du mich wirklich falsch verstanden.

Ich hab in der Session verschiedene Werte gespeichert die ich auch während der Laufzeit benötige.

Wenn ich meine Session vorher schon zerstöre, bevor sich der User ausloggt, dann funzt doch das System nicht mehr und der User ist dann sozusagen online aber nicht mehr authentifiziert.

So ein Mist, jetzt hatte ich mords den Artikel und habe ihn gelöscht. Also noch mal kurz:

Wenn der User auf einen Link klickt, dann bearbeitet diesen Request ja ein Servlet. Dieses Servlet darf die Session zerstören, weil der User schliesslich zu diesem Zeitpunkt schon ausgeloggt ist.

Peter

Eigentlich eine interessante Idee... bzw. eine Lösung die machbar ist.

Muss mal schauen wie ich das in meinem Logout unterbringe.

<a href="" onClick="JavaScript:top.window.close()">Beenden</a>

Damit schliesst Du das Fenster, aber die Session besteht trotzdem weiter.

Peter

auf die Idee wäre ich jetzt nie gekommen ;)

So beende ich auch momentan die Applikation. Ich sagte ja, da muss ich jetzt noch den Aufruf des Logout-Servlets unterbringen.

Hallo,

wenn ich, nur wenn, das Problem verstanden habe, dann mach

doch ein submit, wenn Benutzer auf Ausgang klickt. (mehr erst mal nicht)Auf dem Server haust Du dann die Session weg und setzt einen Schalterwert in den Request und rufst gleiche Seite

wieder auf. Diese dann prüft immer nach dem Laden (BodyTag) in einer Funktion,

ob Flag gesetzt ist (Variable lässt sich locker in JSP einbinden), wenn ja,

dann machst Du mit JavaScript das Fenster zu. this.close()

Ich hoffe, ich konnte Dir helfen

Gruß

mOSSpOWER

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.