pageContext,Request,Session,servletContext,類變量,局部變量六個(gè)范圍的區(qū)別
馬克-to-win:
1) Request: 保存的鍵值僅在同一個(gè)request范圍中可以取回來(lái)。它的范圍比Session和servletContext小,缺點(diǎn)是;因范圍小無(wú)法取,比如訪問(wèn)了兩次,第二次無(wú)法取回第一次的,就只能想辦法,比如用Session。優(yōu)點(diǎn):和Session和servletContext相比,用完就仍,省服務(wù)器內(nèi)存。馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 73203。
2) Session: 與每一個(gè)用戶瀏覽器相對(duì)應(yīng)。從Session第一次創(chuàng)建直到關(guān)閉,數(shù)據(jù)都一直保存在服務(wù)器內(nèi)存,所以客戶可以一直訪問(wèn),不用每次都去數(shù)據(jù)庫(kù)抓取,提高了性能。缺點(diǎn):每個(gè)客戶的session不能像servletContext那樣共享,可能造成大量重復(fù)數(shù)據(jù);另外session技術(shù)建立在cookie和 url重寫的基礎(chǔ)上。為了讓服務(wù)器能識(shí)別每一個(gè)用戶瀏覽器,在來(lái)往過(guò)程中,需帶上Session ID的信息,這樣會(huì)用掉一點(diǎn)點(diǎn)網(wǎng)絡(luò)帶寬。當(dāng)有很多用戶訪問(wèn)服務(wù)器時(shí),這是一筆不小的開(kāi)銷。
3)servletContext: 你的web應(yīng)用從啟動(dòng)到關(guān)閉,這個(gè)對(duì)象一直有效。所有范圍中,它最大。保存的數(shù)據(jù)可以被所有用戶所有servlet訪問(wèn)。(servletContext和servlet的類變量的區(qū)別就是:servlet的類變量只能被本身這個(gè)servlet訪問(wèn),不能被其它servlet訪問(wèn)。)優(yōu)點(diǎn):少訪問(wèn)數(shù)據(jù)庫(kù)。缺點(diǎn):不像Session一樣私密。