第七章 Servlet會話程式設計

2021-08-30 12:12:43 字數 1528 閱讀 7660

第七章 servlet會話程式設計

7.1 會話是什麼

7.3 會話的底層實現方式

第一種:cookie

會話功能借助cookie實現。具體來說,就是當使用者第一次訪問web應用的時候,web伺服器會把乙個名為jsessionid,值為乙個16進製制數字的資訊儲存到cookie中,例如:jessionid=612d980051204fc8ab3,通過這樣的操作,web伺服器就可以標識每乙個訪問的使用者,相當於web伺服器發給了每個訪問使用者乙個獨一無二的使用者卡。

就是把表示每個使用者的jsessionid的值附加到url中,例如:servlet;jsessionid=431d980051204fc8dc3,在web伺服器端根據url中不同的jsessionid值,實現會話功能。

7.4 servlet會話程式設計:

在servlet和jsp中,會話的功能被封裝成httpsession型別的物件,httpsession物件通過request物件的getsession()獲得。

httpsession類中的常用主要方法:

object getattribute(string name):

根據繫結物件的名字,返回對應的繫結物件,如果沒有找到對應的物件,返回null。

void setattribute(string name, object value):

利用當前的會話物件,繫結需要儲存的物件,第乙個引數是繫結的物件名,第二個引數為需要繫結的物件。

void setmaxinactiveinterval(int interval):

設定當前會話物件的最大有效時間,時間的單位為秒。

int getmaxinactiveinterval():

返回最大非活動時間間隔,就是在一次會話中,兩次請求的時間隔超過引數指定的值時,session物件將失效並被自動銷毀,本次會話結束。

long getcreationtime():

獲取當前session物件被建立的時間,返回是代表時間戳的乙個整數。

string getid():

返回當前session物件的jsessionid的數值。

long getlastaccessedtime():

獲取當前session物件最後被訪問的時間,皇家馬德里回代表時間戳的乙個整數。

servletcontext getservletcontext():

返回當前session物件所屬的servletcontext物件。

enumeration getattributenames():

把當前的session物件繫結的所有屬性的名字以enumeration物件返回。

boolean isnew():

判斷當前的session物件是不是新建的session物件。

void removeattribute(string name):

把對應名稱的屬性從session物件中刪除。

void invalidate():

讓當前的session物件失效。

程式設計思想第七章

過載 相同的返回值,相同的函式名稱,不同的引數列表。override註解是jdk1.5之後的產物,可以防止你在不想過載時而意外的進行過載 因為父類沒有這個過載方法,所以不能用這個註解 7.1復用 的三種方式 1,直接new關鍵字建立該類物件,組合 優點 快速方便 缺點 生成和銷毀物件,給效能帶來額外...

第七章程式設計作業

題目內容 完成乙個對候選人得票的統計程式。假設有3個候選人,名字分別為li,zhang和fun。使用結構體儲存每乙個候選人的名字和得票數。記錄每一張選票的得票人名,輸出每個候選人最終的得票數。結構體可以定義成如下的格式 struct person leader 3 輸入格式 第一行有乙個整數n,表示...

python第七章 python教程(第七章)

字典和集合 字典是python中唯一,乙個對映型別 如何建立乙個字典,如下 dict dict 滲透 網路安全 怎麼理解字典呢?現實生活中的字典可以通過首字母進行查詢要查詢的漢子,python也可以這樣理解,通過 前的元素查詢到冒號後的元素。為什麼說字典是唯一乙個對映型別呢?看圖。對映型別區別與序列...