11 Stimmen

Überprüfung der Sitzung in Servlet und Jsp

In meiner Webanwendung muss ich prüfen, ob eine Sitzung bereits existiert oder nicht.

Ich möchte dies in meinem Servlet und in jsp auch zu überprüfen.

gibt es eine Möglichkeit, dies zu überprüfen.

Merci

13voto

BalusC Punkte 1034465

Sie können es testen mit HttpServletRequest#getSession(boolean create) con create=false . Es wird null zurückgegeben, wenn es noch nicht erstellt wurde.

HttpSession session = request.getSession(false);
if (session == null) {
    // Session is not created.
} else {
    // Session is already created.
}

Wenn Sie die Sitzung trotzdem erstellen wollen, wenn sie nicht existiert, dann holen Sie sie einfach und testen Sie die Frische mit HttpSession#isNew() :

HttpSession session = request.getSession();
if (session.isNew()) {
    // Session is freshly created during this request.
} else {
    // Session was already created during a previous request.
}

So würde man es in einem Servlet machen. In einer JSP können Sie die Frische nur mit Hilfe von JSTL und EL testen. Sie können die Sitzung mit PageContext#getSession() und rufen dann einfach isNew() darauf.

<c:if test="${pageContext.session.new}">
    <p>Session is freshly created during this request.</p>
</c:if>

または

<p>Session is ${pageContext.session.new ? 'freshly' : 'already'} created.</p>

2voto

Shashank T Punkte 669

Eine Möglichkeit besteht darin, eine Sitzungsnummer im JSP zu setzen und dann dieselbe Sitzungsnummer in einem anderen JSP oder Servlet zu überprüfen, um festzustellen, ob die Sitzung aktiv ist oder nicht.

HttpSession session = req.getSession();
        session.getId();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X