導航:首頁 > 編程語言 > java判斷session是否存在

java判斷session是否存在

發布時間:2024-08-08 15:59:35

『壹』 java的session什麼時候清空

一般情況下,session都是存儲在內存里,當伺服器進程被停止或者重啟的時候,內存里的session也會被清空,如果設置了session的持久化特性,伺服器就會把session保存到硬碟上,當伺服器進程重新啟動或這些信息將能夠被再次使用。1、session在何時被創建一個常見的誤解是以為session在有客戶端訪問時就被創建,然而事實是直到某server端程序調用HttpServletRequest.getSession(true)這樣的語句時才被創建,注意如果jsP沒有顯示的使用 <%@page session="false"%>關閉session,則JSP文件在編譯成Servlet時將會自動加上這樣一條語句HttpSession session = HttpServletRequest.getSession(true);這也是JSP中隱含的session對象的來歷。

由於session會消耗內存資源,因此,如果不打算使用session,應該在所有的JSP中關閉它。

2、session何時被刪除

綜合前面的討論,session在下列情況下被刪除a.程序調用HttpSession.invalidate();或b.距離上一次收到客戶端發送的session id時間間隔超過了session的超時設置;或c.伺服器進程被停止(非持久session)

3、如何做到在瀏覽器關閉時刪除session

嚴格的講,做不到這一點。可以做一點努力的辦法是在所有的客戶端頁面里使用javascript代碼window.oncolose來監視瀏覽器的關閉動作,然後向伺服器發送一個請求來刪除session。但是對於瀏覽器崩潰或者強行殺死進程這些非常規手段仍然無能為力。

4、有個HttpSessionListener是怎麼回事

你可以創建這樣的listener去監控session的創建和銷毀事件,使得在發生這樣的事件時你可以做一些相應的工作。注意是session的創建和銷毀動作觸發listener,而不是相反。類似的與HttpSession有關的listener還有HttpSessionBindingListener,HttpSessionActivationListener和HttpSessionAttributeListener。

『貳』 Java中怎麼判斷Session是否過期

調用request.getSession(false),如果返回null,代表沒有該session即已經過期,反之則沒有過期

『叄』 java web 驗證用戶是否已登錄有哪些方式。

首先,你的web需要有登入後將登錄信息保存到session的過程,在用戶訪問那些需要登錄的頁面或者action的時候(可以用過過濾器,或者直接在相應的頁面判斷),從session裡面獲取登錄信息,如果沒有,則說明沒有登錄.跳轉到登錄頁面後,登陸成功,保存登錄信息到session,這個時候再訪問原先的,就可以通過驗證..一整個流程大概就是這樣.重點就是登錄信息保存在session裡面,驗證用戶是否登錄,就依據這個了

『肆』 java裡面如何在用戶登錄管理頁面時判斷用戶是否登錄

給你詳細講一下。

比如系統有個登陸頁面(login.jsp):
name:_________
password:____________
(登陸按鈕)

你按下登陸按鈕,就根據name和password去資料庫裡面查,如果判斷有此用戶並且密碼正確,就設置一個session的鍵對應的值,鍵名字自己取,統一即可,比如"userInfo",代碼就是servlet的doPost裡面
HttpSession session = request.getSession();
Hashtable userInfo = new Hashtable();
userInfo.setAttribute("userName", request.getParameter("userName");
userInfo.setAttribute("passWords", Util.toSecret( request.getParameter("passWords)); //密碼最好加密
session.setAttribute("userInfo", userInfo);
session是在一定時期(超時時間內)一直存在的,這段時間內你可以隨時判斷用戶是否合法,否則就退回登陸頁面。

在任何除了登陸頁面以外的頁面訪問,只需判斷有沒有這個鍵值,沒就到登陸頁面,否則進正常頁面。(最好寫在servlet中,讓servlet當頁面控制器)代碼如下:
if ( session.getAttribute("userInfo")==null ) {
response.sendRedirect(request.getServletContext.getPath() + "/login.jsp");
} else {
request.getRequestDispatcher("/正常頁面.jsp").forward(request,response);
}

閱讀全文

與java判斷session是否存在相關的資料

熱點內容
看直播數據用哪個平台最好 瀏覽:730
win10晶元驅動程序版本 瀏覽:763
如何給word添加公式編輯器 瀏覽:666
iphone桌面文件夾怎樣合並 瀏覽:919
要我蘋果賬號密碼忘記了怎麼辦 瀏覽:578
快快卡在配置游戲文件 瀏覽:393
數據包重發時間怎麼調整 瀏覽:882
youtubeapp怎麼下載 瀏覽:366
編程檢測是什麼 瀏覽:753
網路攝像機的傳輸距離 瀏覽:941
超值貓qq群購秒殺群 瀏覽:138
pdf文件能備注嗎 瀏覽:174
html可視化數據源碼在哪裡 瀏覽:387
adobereader專用卸載工具 瀏覽:28
vivo手機數據如何備份 瀏覽:888
ithmb文件轉換器 瀏覽:66
看病找什麼網站好 瀏覽:579
linux如何查看文件系統 瀏覽:581
linux統計點頻率 瀏覽:627
全民泡泡大戰安琪兒升級 瀏覽:620

友情鏈接