Session機制使用的詳細講解
更新時間: 2007-06-04 10:05:09來源: 粵嵌教育瀏覽量:668
session的引入:
鑒于http是無狀態(tài)的協(xié)議,當完成客戶端和服務器的傳遞信息后,就斷開之間的聯(lián)系,這樣就造成了怎么樣在幾個頁面之間傳遞信息
比如客戶端信息,或者假如是寫一個購物程序,就要記得購物車里面的信息,jsp提供了四種方法來跟蹤客戶的狀態(tài)
1:建立匿名的表格字段
2:使用url傳遞
3:使用持久化的cookies
4:使用session 的會話機制
相對于安全級別來說第四種了,session是指在一段時間內(nèi)客戶端和服務器之間的一連串的相關的交互過程。
在一個session中客戶可能會訪問不同的服務器資源,也可能會多次訪問同一個頁面。
sevlet容器為httpsession分配一個的標識,成為sessionid,容器會把sessionid放在客戶端的cookies中,每次客戶端發(fā)出http請求的時候,servlet可以把httdivquest對象中讀取sessionid。然后更具sessionid找到對應的session對象,從而取得客戶端狀態(tài)信息。
session的方法:
getid()取得session的id號。
setattribuate(string name,object obj)保存一對name、value對象
getattribute(String name)獲取name的屬性
isnew()判斷session時候是新建的。
廢除sesion對象的方法"
1:setmaxinactival()通過設置不活動時間
2:關閉客戶端瀏覽器
3:調(diào)用session的invalidate()方法
如果客戶端不支持cookies時,那么session的id號就不能保存,那么在java API中提出了一種跟蹤session的方法,容器可以重寫客戶請求的url,把sessionid添加倒url中response.encodeurl("**.jsp");
session的主題:session的持久化當一個session開始時,容器會為之創(chuàng)建一個session對象,但是如果又10000個人同時登錄呢,這時就要把信息從內(nèi)存中轉移到文件系統(tǒng)中或者數(shù)據(jù)庫中,當需要訪問的時候再調(diào)用倒內(nèi)存中,提高內(nèi)存的利用率,也便于恢復數(shù)據(jù)(故障會丟失信息)。
從內(nèi)存到文件系統(tǒng)活著數(shù)據(jù)庫,采用了java語言的對象序列化技術,把對象從文件活著數(shù)據(jù)庫中提取到內(nèi)存中使用了java語言提供的對象反序列化技術。
推薦閱讀
- ·Linux字符設備驅動框架解析:file_operations的核心作用與實現(xiàn)
- ·廣東朝歌數(shù)碼科技股份有限公司專場招聘會
- ·深化產(chǎn)教融合,共筑技能人才培養(yǎng)新生態(tài) —— 廣州華立學院到訪粵嵌從化校區(qū)為深化產(chǎn)教
- ·校企合作新突破 | 粵嵌科技與三亞學院共探產(chǎn)教融合新路徑
- ·粵嵌科技入選國家級職業(yè)數(shù)字展館聯(lián)合建設單位,賦能計算機程序設計員高技能人才培養(yǎng)
- ·嵌入式實時操作系統(tǒng)的性能優(yōu)化與實現(xiàn)路徑
- ·校企攜手賦能教育!粵嵌科技助力海南科技職業(yè)大學探索 AGI 時代教學新范式
- ·嵌入式系統(tǒng)中的低功耗設計策略與實現(xiàn)路徑
- ·深圳市軒宇軟件開發(fā)有限公司專場招聘會
- ·嵌入式系統(tǒng)中的代碼空間優(yōu)化:策略與實踐