回顧
所謂JSP內(nèi)置對(duì)象是指不要人工定義而可直接使用的對(duì)象,上期小傅老師帶大家一起學(xué)習(xí)了部分內(nèi)置對(duì)象的使用。對(duì)于通信作用域?qū)ο笫?a target="_blank" rel="nofollow">Web開發(fā)人員重點(diǎn)要學(xué)習(xí)的內(nèi)容,今天小傅老師重點(diǎn)聊聊這些對(duì)象的使用。
概念
在學(xué)習(xí)Servlet時(shí)小傅老師也提到了這個(gè)問(wèn)題,通信作用域?qū)ο笫侵冈诜?wù)器側(cè)使用“屬性”來(lái)實(shí)現(xiàn)servlet與servlet,servlet與jsp,jsp與jsp之間的數(shù)據(jù)交互。在Servlet中分成三種,一種是reqeust級(jí),第二種是session級(jí),還有一種是application級(jí)。在JSP中通信作用域的概念與作用與Servlet的一樣,只是比Servlet還多了一種page級(jí)。
分類
根據(jù)”屬性”的作用范圍,JSP中的通信作用域分成四類
1)Page級(jí):只限當(dāng)前頁(yè)使用,超出當(dāng)前頁(yè)容器將其刪除
2)Reqeust級(jí):應(yīng)答完成后,容器主動(dòng)刪除屬性
3)Session級(jí):同一個(gè)會(huì)話都可以操作,會(huì)話超時(shí)容器主動(dòng)刪除
4)Application級(jí):整個(gè)站點(diǎn)下的所有會(huì)話都可以操作,容器關(guān)閉時(shí)會(huì)刪除
這4種的作用范圍由低到高(page級(jí)最低),使用頻率由高到低(application級(jí)最低)。
操作屬性
“屬性“采用Map的方式保存,key是字符串類型,value是Object類型。我們可以使用setAttribute(),getAttrbute(),
removeAttribute()對(duì)屬性設(shè)定、取得、刪除,針對(duì)不同級(jí)別屬性的操作方法的來(lái)源不同。
設(shè)定屬性
取得屬性
屬性的取得統(tǒng)一采用getAttribute(),此方法輸入?yún)?shù)為“屬性”的key,返回為Object類型。
刪除屬性
屬性一但刪除后其就變成NULL,除非重新設(shè)定。以下代碼演示了會(huì)話級(jí)屬性的刪除,其于3種操作方式類型,就不再贅述了。
通信作用域對(duì)象的操作是Web開發(fā)人員必須掌握的知識(shí)點(diǎn),在開發(fā)中應(yīng)用場(chǎng)景非常廣泛。好了今天就聊到這里,有任何編程問(wèn)題都可聯(lián)系小傅老師。