一、Session保存用戶名
我們在上網的時候,經常遇到這種情況:
注冊成功之後自動登錄
登錄後記住了用戶的狀態,並在多個頁面顯示用戶名
其實這些效果是使用了session的一個內置對象,這個內置對象也稱為會話
簡單的說,我們在使用浏覽器訪問服務器的時候,與服務器產生了通話
使用會話可以使我們在使用浏覽器與服務器進行多次請求中保存和使用數據
首先在注冊成功後,我們可以在session中保存一個與你相關的標志,比如說你的用戶名
然後可以跳轉到其它頁面來檢查,session是否有與你相關的標志
每一個session都有唯一一個sessionid,這個ID是由服務器產生的,產生後就會隨著響應發到你的浏覽器
你的浏覽器會記住這個ID,以後再想服務器發送請求的時候就會帶著這個ID
而服務器在請求中拿到sessionid的話,就可以在服務器端找到相應的SESSION
如果沒有適當的清理機制,服務器保存的會話數量會越來越大,從而導致服務器崩潰
對於服務器而言有兩種清除數據的方式:
1.程序主動請求清除數據,比如登錄以後的注銷功能
2.服務器會主動清除長時間沒有再次發送請求的session
二、Cookie自動填寫用戶名
在浏覽器關了,就結束了會話,但還能實現自動登錄,每次訪問郵箱的時候,頁面就自動填寫了用戶名
這裡就是使用了Cookie以文件的方式保存了數據
Cookie是在客戶端以文件的方式保存數據,如果有人竊取了這個文件,就會暴露了隱私數據
三、application實現計數器
在一些頁面上我們可以了解到該頁面的訪問次數
要實現這個功能就需要使用到application對象
每一個WEB項目都會有一個Application對象
application對象可以在整個項目中共享使用數據
每一次訪問頁面的時候,計數器就加1
四、各種保存對象的對比
request中保存的數據僅在一次請求中可以使用
session中存儲的數據在一個會話的有效期內可用,例如當關閉浏覽器會話就丟失
application中存儲的數據是在整個web項目中最長,只要服務器不停止都可以使用,
比較適用於需要整個項目中共享訪問數據或者多個用戶都需要使用的數據