在JSP頁面中的對(duì)象,包括用戶創(chuàng)建的對(duì)象如javaBean,都有一個(gè)范圍屬性,這個(gè)范圍也被叫做“作用域”。范圍定義了在什么時(shí)間內(nèi),在哪一個(gè)JSP頁面中可以訪問這些對(duì)象。例如,session對(duì)象在會(huì)話期間內(nèi),可以在多個(gè)頁面被訪問。application對(duì)象在整個(gè)Web應(yīng)用的整個(gè)生命周期范圍內(nèi)都可以被訪問。在JSP中,有4種范圍。那就是page范圍、request范圍、session范圍和application范圍
page范圍具有page范圍的對(duì)象被綁定到j(luò)avax.servlet.jsp.PageContext對(duì)象中,這個(gè)范圍的對(duì)象,只能在創(chuàng)建對(duì)象的頁面中訪問。可以調(diào)用pageContext這個(gè)隱含對(duì)象的getAttribute()方法來訪問這個(gè)范圍的對(duì)象,也可以使用setAttribute方法來設(shè)置這個(gè)范圍的對(duì)象或?qū)傩浴age范圍的對(duì)象,在客戶端每次請(qǐng)求JSP頁面時(shí)創(chuàng)建,在頁面向客戶端發(fā)送響應(yīng)或者請(qǐng)求被轉(zhuǎn)發(fā)之后這個(gè)對(duì)象或?qū)傩跃蜁?huì)被刪除了。
request范圍具有request范圍的對(duì)象被綁定到了javax.servlet.http.HttpServletRequest對(duì)象中,可以調(diào)用request內(nèi)置對(duì)象的set/getAttribute方法來設(shè)置或者訪問這個(gè)范圍的對(duì)象。在調(diào)用forward方法轉(zhuǎn)向其他頁面或者使用include中包含的頁面中也是可以訪問這個(gè)范圍的對(duì)象的。但是這個(gè)范圍內(nèi)的對(duì)象只對(duì)相同的請(qǐng)求是有效的,也就是說對(duì)于不同的請(qǐng)求之間是不能共享這個(gè)范圍內(nèi)的對(duì)象的。
session范圍具有session范圍的對(duì)象被綁定到j(luò)avax.servlet.http.HttpSession對(duì)象中,可以調(diào)用session內(nèi)置對(duì)象的set/getAttribute方法來訪問具有這種范圍的對(duì)象,這個(gè)范圍的對(duì)象是針對(duì)會(huì)話的,它們只能在相同的會(huì)話期間被訪問,如果不同的會(huì)話期間,則這樣的對(duì)象也是不能共享的
application范圍具有application范圍的對(duì)象被綁定到j(luò)avax.servlet.ServletContext對(duì)象中,可以調(diào)用application內(nèi)置對(duì)象的set/getAttribute方法來訪問具有這種范圍的對(duì)象。在web應(yīng)用運(yùn)行期間,所有的頁面都可以訪問這個(gè)范圍的對(duì)象。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注