cookie,request,session與application頁面之間引數的傳遞
阿新 • • 發佈:2019-01-29
問題:
HTTP是無狀態的, 只要是兩次請求,則無法保持狀態.
解決方案:
1. 客戶端: Cookie
2. 伺服器端:
cookie客戶端
session 伺服器端 ,a一個使用者用的(預設一個瀏覽器就是一個使用者)
application 伺服器端 ,b跨使用者的 最適合統計線上人數
request也可以但只針對一次請求(是解決不了無狀態hmtl 的,因為要多次請求)
session: 會話, 客戶端與伺服器端之間的多次請求與響應的過程. 一個session只針對一個客戶端.例如:JSESSIONID=F4B996A25B92026338BA8A0793564ED6; Path=/test_session_1
session的建立:
第一次請求伺服器時,由伺服器建立,並建立了編號,將編號以cookie回傳給客戶端,
session銷燬的時機:
1. 關閉瀏覽器一段時間後. 跟伺服器設定設定有關
2. session.invalidate(); 強制清除,連session都沒有
session.removeAttribute(""); 立馬消除 ,下一次登入可以接著記錄歷史。如果僅用來退出出,原來的資訊還是不需要用就用這個方法清除
3. 關閉伺服器.
session的方法:
session.setAttribute("鍵",值 );
Object session.getAttribute("鍵");
作用:很多資訊在多個頁面都需要,就放在session裡面存,還可以做許可權的處理