1. 程式人生 > 其它 >Web期末複習 —— Session

Web期末複習 —— Session

技術標籤:Websessionjava

文章目錄

會話(Session)

概念

會話(session)是客戶與伺服器之間的不間斷的請求-響應序列
當客戶向伺服器傳送第一個請求時就開始一個會話。
對該客戶之後的每個請求,伺服器能夠識別出請求來自於同一個客戶。
當客戶明確結束會話或伺服器在一個預定義的時限內沒從客戶接收任何請求時,會話就結束了。
當會話結束後,伺服器就忘記了客戶以及客戶的請求。

API

  • 1)建立或返回與客戶請求關聯的會話物件。

  • 2)在會話物件中新增或刪除“名/值”對屬性。

  • 3)如果需要可使會話失效。

  • 使用request物件的getSession()方法。
    HttpSession getSession(boolean create)
    沒有會話時,true建立新會話,false 返回null
    HttpSession getSession()
    與getSession(true) 等價

  • Session的使用
    設定屬性、提取屬性、設定過期

void setAttribute (String name, Object value)
Object getAttribute(String name) 
void invalidate()

JSP中session與cookie的區別

  • 1、儲存位置
    session儲存在伺服器
    ,客戶端不知道其中的資訊;
    cookie儲存在客戶端,伺服器能夠知道其中的資訊。
  • 2、內容
    session中儲存的是物件
    cookie中儲存的是字串
  • 3、路徑
    session不能區分路徑,同一個使用者在訪問一個網站期間,所有的session在任何一個地方都可以訪問到。
    cookie中如果設定了路徑引數,那麼同一個網站中不同路徑下的cookie互相是訪問不到的。
  • 4、session需要藉助cookie才能正常工作。
    如果客戶端完全禁止cookie,session將失效。
    但是如果伺服器端啟用了url編碼,也就是用URLEncoder.encode()把所有的url編碼了,則會在url後面出現如下類似的東西