1. 程式人生 > >application跟session的區別

application跟session的區別

範圍 如果 超出 銷毀 use 發送 用戶 string類 所有

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()方法。

session.setAttribute("user","小名");
String user=(String)session.getAttribute("user");


2.application它類似於系統的全局變量,用於保存所有程序中的公有數據。它在服務器啟動時自動創建,在服務器停止時銷毀。當application對象沒有被銷毀的時候,所有用戶都可以享用該application對象。它的生命周期可以說是最長的。但是其應用程序初始化的參數是要在web.xml文件中進行設置的,通過<context-param>標記配置應用程序初始化參數。也就是說同時再打開另一個瀏覽器,他們使用的都是同一個application對象。

application跟session的區別