我有一個JSP/Servlet的Web應用程序是由一個以上的servlet(和一些JSP)的確保一個新的會話
的我需要創建一個新的HttpSession每當用戶訪問servlet A,知道servlet A是主頁(即他可以將它作爲應用程序中的第一個servlet /頁面訪問)。
到目前爲止好,我可以在Servlet中生成的開始寫代碼如下:
HttpSession session = request.getSession(false);
if (session == null) {
logger.debug("starting new session...");
session = request.getSession();
// other stuff here
}
但問題是,如果用戶沒有關閉他的瀏覽器(即使他關閉選項卡 - 例如在Firefox中 - 會話將仍然打開),所以當他嘗試再次打開我的網站時,最後一個會話將被重新使用(當然在會話超時範圍內),而且我不會需要。每當他訪問Servlet A時,我都需要他得到一個全新的HttpSession。
但不幸的是,他可能會根據某些場景每次訪問此servlet兩次!