在JSP頁面中的對象,包括用戶創建的對象如javaBean,都有一個范圍屬性,這個范圍也被叫做“作用域”。范圍定義了在什么時間內,在哪一個JSP頁面中可以訪問這些對象。例如,session對象在會話期間內,可以在多個頁面被訪問。application對象在整個Web應用的整個生命周期范圍內都可以被訪問。在JSP中,有4種范圍。那就是page范圍、request范圍、session范圍和application范圍
page范圍具有page范圍的對象被綁定到javax.servlet.jsp.PageContext對象中,這個范圍的對象,只能在創建對象的頁面中訪問??梢哉{用pageContext這個隱含對象的getAttribute()方法來訪問這個范圍的對象,也可以使用setAttribute方法來設置這個范圍的對象或屬性。Page范圍的對象,在客戶端每次請求JSP頁面時創建,在頁面向客戶端發送響應或者請求被轉發之后這個對象或屬性就會被刪除了。
request范圍具有request范圍的對象被綁定到了javax.servlet.http.HttpServletRequest對象中,可以調用request內置對象的set/getAttribute方法來設置或者訪問這個范圍的對象。在調用forward方法轉向其他頁面或者使用include中包含的頁面中也是可以訪問這個范圍的對象的。但是這個范圍內的對象只對相同的請求是有效的,也就是說對于不同的請求之間是不能共享這個范圍內的對象的。
session范圍具有session范圍的對象被綁定到javax.servlet.http.HttpSession對象中,可以調用session內置對象的set/getAttribute方法來訪問具有這種范圍的對象,這個范圍的對象是針對會話的,它們只能在相同的會話期間被訪問,如果不同的會話期間,則這樣的對象也是不能共享的
application范圍具有application范圍的對象被綁定到javax.servlet.ServletContext對象中,可以調用application內置對象的set/getAttribute方法來訪問具有這種范圍的對象。在web應用運行期間,所有的頁面都可以訪問這個范圍的對象。
新聞熱點
疑難解答