簡體   English   中英

如何防止會話屬性保留在服務器上?

[英]How to prevent session attributes from persisting on the server?

我是Java Web開發的新手。 我已經創建了一個部署在Tomcat 7上的servlet/jsp Web應用程序。 身份驗證后,用戶將瀏覽具有自己形式的幾個頁面。 輸入被存儲為會話屬性,並在注銷前顯示在確認中。

對於注銷,我使用了session.invalidate() and sendRedirect("Logout.jsp")

如果再次運行該應用程序,它將返回我的新輸入,但也會復制所有舊的會話輸入。

我禁用了會話持久性,並將上下文上下文設置為cachingAllowed="false"

似乎所有會話屬性都存儲在服務器內存中。 是服務器配置引起的此問題嗎?

確保您使用request.getSession(boolean b)方法,而不是request.getSession()

登錄用戶應該可以訪問的所有頁面都應該調用request.getSession(false)

如果對該方法的調用未返回任何會話,則應將用戶重定向到登錄名。

確保您的信息存儲在會話中,如下所示:

HttpSession session = request.getSession();
session.setAttribute("info", info);

當您想要刪除它時,您應該這樣做:

HttpSession session = request.getSession();
session.removeAttribute("info");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM