Session與Application區別
阿新 • • 發佈:2019-01-23
1.session是會話變數,只要同一個瀏覽器沒有被關閉,session物件就會存在。因此在同一個瀏覽器視窗中,無論向伺服器傳送多少請求,session物件只有一個。但是如果在一個會話中,客戶端長時間不向伺服器發出請求,session物件就會自動消失。這個時間取決於伺服器,但是我們可以通過編寫程式進行修改這個session的生命週期的時間。session.setMaxInactiveInterval(10000);//用來設定session的有效期為10000秒,超出這個範圍將失效。
並且通過session物件可以儲存或者讀取客戶的相關資訊,例如使用者名稱或購物資訊等,可以通過session物件的setAttribute(String name,Object obj)方法和getAttribute(String name)的方法實現。注意的是getAttribute()方法的返回值是Object型別,如果將獲取到的資訊賦給String型別的變數,則需要進行強制型別轉換 或者呼叫其的toString()方法。
String user=(String)session.getAttribute("user");
2.application它類似於系統的全域性變數,用於儲存所有程式中的公有資料。它在伺服器啟動時自動建立,在伺服器停止時銷燬。當application物件沒有被銷燬的時候,所有使用者都可以享用該application物件。它的生命週期可以說是最長的。但是其應用程式初始化的引數是要在web.xml檔案中進行設定的,通過<context-param>標記配置應用程式初始化引數。也就是說同時再開啟另一個瀏覽器,他們使用的都是同一個application物件。