[英]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.