版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章JSP內(nèi)置對(duì)象2本課教學(xué)內(nèi)容利用session開發(fā)購物車session其他APIapplication對(duì)象其他對(duì)象利用session開發(fā)購物車購物車需求例子 想象用戶去購物超市買東西時(shí),都會(huì)推一個(gè)購物車,購物車中包含了用戶所需要購買的商品,用戶可以將商品添加到購物車,也可將商品從購物車中取出或刪除。用戶可以推著購物車從這個(gè)專柜走到那個(gè)專柜,用戶也不用擔(dān)心別人的購物車?yán)锩娴臇|西算到自己賬上,這在生活中已經(jīng)成為常識(shí)利用session開發(fā)購物車購物車的特點(diǎn)同一個(gè)用戶使用的是同一個(gè)購物車不同的用戶使用的是不同的購物車。否則,別人買的東西就會(huì)算到自己的賬上在不同貨架(頁面)之間進(jìn)行訪問時(shí),購物車中的內(nèi)容可以保持以上3點(diǎn)中,最關(guān)鍵的是“跨頁面保持”。利用session開發(fā)購物車實(shí)際上,JSP中的內(nèi)置對(duì)象session,就是跨頁面保持的,當(dāng)訪問網(wǎng)站時(shí),服務(wù)器端已經(jīng)分配了一個(gè)session對(duì)象給用戶使用,對(duì)于同一個(gè)用戶,不管在哪個(gè)頁面,他使用的都是同一個(gè)session。利用session開發(fā)購物車session,是JSP九大內(nèi)置對(duì)象之一,它對(duì)應(yīng)的類(接口)是:javax.servlet.http.HttpSession??梢酝ㄟ^查找文檔中javax.servlet.http.HttpSession來了解session的API。如何用session開發(fā)購物車一些session常用的API將內(nèi)容放入購物車voidsession.setAttribute(Stringname,Objectobj);在該函數(shù)里面,參數(shù)1:name就是來為每一個(gè)物品起一個(gè)屬性(attribute)的名字(標(biāo)記);參數(shù)2:obj,就是內(nèi)容本身如何用session開發(fā)購物車*針對(duì)放入的提醒:如果兩次調(diào)用setAttribute(Stringname,Objectobj);并且name相同,那么后面放進(jìn)去的內(nèi)容將會(huì)覆蓋以前放進(jìn)去的內(nèi)容setAttribute(Stringname,Objectobj);的第二個(gè)參數(shù)是Object類型,即可以放入session的不僅僅是一些簡(jiǎn)單字符串,還可以是Object。集合、數(shù)據(jù)結(jié)構(gòu)對(duì)象都可以放入session。如何用session開發(fā)購物車一些session常用的API讀取購物車中的內(nèi)容Objectsession.getAttribute(Stringname);在該函數(shù)里面,name就是被取出的內(nèi)容所對(duì)應(yīng)的標(biāo)記;返回值,就是內(nèi)容本身。
*具體代碼示例見課本如何用session開發(fā)購物車實(shí)際項(xiàng)目中,可以使session中的內(nèi)容多種多樣。為了將session里面的內(nèi)容很好地分門別類,可以將這幾種物品先放在一個(gè)集合中,然后將集合放入session中,操作更加方便。
session其他API-session的其他操作移除session中的內(nèi)容session有一個(gè)函數(shù):voidsession.removeAttribute(Stringname);利用該函數(shù),可以將屬性名為name的內(nèi)容從session中移除。session其他API-session的其他操作移除session中的全部?jī)?nèi)容voidsession.invalidate();應(yīng)該注意的是,如果session中的內(nèi)容被移除之后,如果再想得到,會(huì)返回null值。session其他API-session的其他操作預(yù)防session內(nèi)容丟失在session的使用過程中,要注意一些技巧,session中存放的內(nèi)容要注意其一致性,否則會(huì)造成數(shù)據(jù)丟失。sessionIdsessionId的原理圖sessionId問題:客戶在訪問多個(gè)頁面時(shí),多個(gè)頁面用到session,服務(wù)器如何知道該客戶的多個(gè)頁面使用的是同一個(gè)session?sessionId答案對(duì)于每一個(gè)session,服務(wù)器端都有一個(gè)sessionId來標(biāo)識(shí)它Stringsession.getId();sessionId實(shí)際上,在第一次訪問時(shí),服務(wù)器端就給session分配了一個(gè)sessionId,并且讓客戶端記住了這個(gè)sessionId,客戶端訪問下一個(gè)頁面時(shí),又將sessionId傳送給服務(wù)器端,服務(wù)器端根據(jù)這個(gè)sessionId來找到前一個(gè)頁面用的session對(duì)象。利用session保存登錄信息例子假如用戶登錄學(xué)生管理系統(tǒng),登錄后用戶可能要做很多操作,訪問很多頁面,在訪問這些頁面的過程中,各個(gè)頁面如何知道用戶的賬號(hào)呢?答案很簡(jiǎn)單,在登錄成功后,用戶的賬號(hào)可以保存在session中。后面的各個(gè)頁面都可以訪問session內(nèi)的內(nèi)容application對(duì)象application原理圖application對(duì)象問題:購物車能用application實(shí)現(xiàn)嗎? 很明顯,購物車是不能用application實(shí)現(xiàn)的。因?yàn)椴煌蛻粼诜?wù)器端訪問的是同一個(gè)對(duì)象,如果使用application實(shí)現(xiàn)購物車,客戶1向購物車中放了一種物品,客戶2也可以看到,那樣是不允許的application對(duì)象原理對(duì)于一個(gè)Web容器而言,所有的用戶都共同使用一個(gè)application對(duì)象,服務(wù)器啟動(dòng)后,就會(huì)自動(dòng)創(chuàng)建application對(duì)象,這個(gè)對(duì)象會(huì)一直保存,直到服務(wù)器關(guān)閉為止對(duì)應(yīng)的類(接口)是:javax.servlet.ServletContext
application對(duì)象application對(duì)象的API主要有以下幾個(gè):將內(nèi)容放入applicationvoidapplication.setAttribute(Stringname,Objectobj);
讀取application中的內(nèi)容Objectapplication.getAttribute(Stringname);將內(nèi)容從application中移除voidapplication.removeAttribute(Stringname);application對(duì)象下面用一個(gè)簡(jiǎn)單的案例來實(shí)現(xiàn):顯示某個(gè)頁面被訪問的次數(shù)。很顯然,這個(gè)次數(shù)應(yīng)該被所有客戶所知,因此,可以使用application實(shí)現(xiàn)。*具體代碼示例見課本其他對(duì)象exception對(duì)象:
由于用戶的輸入或者一些不可預(yù)見的原因,頁面在運(yùn)行過程中總是有一些沒有發(fā)現(xiàn)或者是無法避免的異?,F(xiàn)象出現(xiàn)。此時(shí),可以通過exception對(duì)象來獲取一些異常信息。exception,是JSP九大內(nèi)置對(duì)象之一,它對(duì)應(yīng)的類(接口)是:java.lang.Exception,可以通過查找文檔中java.lang.Exception來了解exception的API其他對(duì)象page對(duì)象:page對(duì)象是指向當(dāng)前JSP程序本身的對(duì)象,有點(diǎn)像類中的this。它是java.lang.Object類的實(shí)例對(duì)象,可以使用Object類的方法。page對(duì)象在JSP程序中的應(yīng)用不是很廣其他對(duì)象config對(duì)象:config對(duì)象是在一個(gè)JSP程序初始化時(shí),JSP引擎向它傳遞消息用的,此消息包括JSP程序初始化時(shí)所需要的參數(shù)及服務(wù)器的有關(guān)信息。config對(duì)應(yīng)的接口是:javax.servlet.ServletConfig,該接口使用較少其他對(duì)象pageContext對(duì)象:pageContext是javax.servlet.jsp.PageContext類的實(shí)例對(duì)象。實(shí)際上,pageContext對(duì)象提供了對(duì)JSP頁面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年全國職業(yè)院校技能大賽中職組(短視頻制作賽項(xiàng))考試題庫-下(多選、判斷題)
- 2024年A特種設(shè)備相關(guān)管理(A7大型游樂設(shè)施)考試題庫附答案
- 《ISO 41001-2018 設(shè)施管理- 管理體系 要求及使用指南》專業(yè)解讀與應(yīng)用指導(dǎo)材料之9:“6 策劃-6.2 設(shè)施管理目標(biāo)及其實(shí)現(xiàn)的策劃”(雷澤佳編制-2024)
- 北師大版三年級(jí)下冊(cè)數(shù)學(xué)第一單元測(cè)試卷含答案
- 城市軌道交通列車自動(dòng)控制系統(tǒng)維護(hù) 課件 4.2 ATS系統(tǒng)功能
- 社會(huì)實(shí)踐調(diào)查報(bào)告表
- 管理心理學(xué) 領(lǐng)導(dǎo)理論
- 福建省德化第二中學(xué)2024-2025學(xué)年高一上學(xué)期10月月考地理試題
- 常州風(fēng)機(jī)吊裝施工方案
- 常州平價(jià)脫硫煙囪施工方案
- 福建省龍巖市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
- 《外國教育史》第十七章杜威的教育思想
- 馬哲史(原著)反杜林論課件
- 大學(xué)英語四級(jí)課程標(biāo)準(zhǔn)
- 人教版高中地理必修一-14-地球的圈層結(jié)構(gòu)(共17張)課件
- 職業(yè)暴露(銳器傷)應(yīng)急預(yù)案演練腳本
- 《誰藏起來了》(幼兒園課件)
- 三年級(jí)上冊(cè)口算題(1000道打印版)
- 現(xiàn)場(chǎng)粉塵清掃記錄表參考模板范本
- 項(xiàng)目經(jīng)理競(jìng)聘簡(jiǎn)約PPT(中建)
- 先兆流產(chǎn)課件
評(píng)論
0/150
提交評(píng)論