The HttpSession session = request.getSession(true); 和 HttpSession session = request.getSession();如果不存在,則 都會創建一個新會話。Session Problem
我的問題是,我想無效()會話,如果它的存在,然後創建一個新的。
我可能..我的意思是有任何出路,以實現這一目標.. ??
The HttpSession session = request.getSession(true); 和 HttpSession session = request.getSession();如果不存在,則 都會創建一個新會話。Session Problem
我的問題是,我想無效()會話,如果它的存在,然後創建一個新的。
我可能..我的意思是有任何出路,以實現這一目標.. ??
這個怎麼樣?
HttpSession session = request.getSession(false); // Will not create a new session.
if(session!=null)
{
session.invalidate();
}
session = request.getSession(true);
先殺死你的舊會話
session.invalidate();
,並與
HttpSession session = request.getSession(true);
不工作重新打開它之後?
首先做一個session.invalidate();
,然後根據需要做了response.sendRedirect("url");
到url
在那裏你可以做request.getSession();
得到一個新的會話。
注意,這種方法不能保證在JSP文件中工作,僅僅是因爲響應是在大多數情況下已經提交(以便容器不能設置jsessionid
cookie的新價值在響應頭)。您確實需要在Servlet或Filter中執行此操作。
這就是說,爲什麼你要使會話無效,然後立即在同一個請求中獲得一個新會話?這聽起來像是解決某個問題的解決方法,可能會有更好的解決方案。