Dies ist meine web.xml-Datei, sie befindet sich in WEB-INF/lib
. Es gibt den Sitzungszeitlimit für 1 Minute an, jedoch wird der Benutzer nach 1 Minute Aktivität nicht ausgeloggt.
Web.xml
:
Ich habe diese Zeile session.getMaxInactiveInterval()
in meiner jsp-Datei verwendet und sie hat 1800
(30 Minuten) ausgegeben. Warum wird der Standardwert auf 30 gesetzt, anstatt die in meiner Datei web.xml angegebene Zeit zu verwenden?
BEARBEITEN:
Ich habe Code auf meiner JSP-Seite, die nach dem Sitzungsattribut sucht, und falls es existiert, wird der Benutzer nach einer Minute auf die Anmeldeseite umgeleitet, selbst bei einer Seitenaktualisierung wird der Benutzer nicht umgeleitet.
%Vor%Bearbeiten Sie den vollständigen Code (Login.java):
%Vor%home.jsp
%Vor%Session-Timeout-Hierarchie:
Die Reihenfolge der Sitzungs-Timeout-Konfiguration:
HttpSession.setMaxInactiveInterval(int) > $WebApplication/webapp/WEB-INF/web.xml
& gt; $ TOMCAT_HOME / conf / web.xml
Jeder nachfolgende Eintrag überschreibt die obige Konfiguration.
Beste Grüße.
Eine Minute ist eine lächerlich niedrige Sitzungszeitüberschreitung. Es sollte mehrere Stunden sein.
Das Zeitlimit tritt nach dieser viel Inaktivität auf, nicht so viel Aktivität.
Der korrekte Test ist request.getSession(false) == null
oder request.getSession(true).isNew()
.
Wenn Ihr Ojektiv den Sitzungsablauf testen soll, müssen Sie nicht warten. Ihr Anwendungsserver bietet möglicherweise eine Möglichkeit zum manuellen Ablauf von Sitzungen. In Tomcat
zum Beispiel können Sie dies über die Manager-Anwendung tun. Neben jeder Anwendung gibt es eine Schaltfläche "Sitzungen ablaufen lassen" mit einem Feld daneben, in dem Sie den Leerlaufzeit-Schwellenwert festlegen können. Alle Sitzungen, die für einen Zeitraum oberhalb des Schwellenwerts inaktiv waren, werden ungültig gemacht. Um alle Sitzungen ungültig zu machen, geben Sie einfach 0
ein und drücken Enter; Alle Sitzungen werden unabhängig vom Wert in web.xml
ablaufen.
Wenn Sie Tomcat nicht verwenden, sehen Sie in der Dokumentation Ihres Anwendungsservers nach und Sie finden möglicherweise einen Weg dazu über die Administrationskonsole oder die Befehlszeile.
Tags und Links java jsp tomcat web.xml session-timeout