1. 程式人生 > >jsp 九大內建物件 和 四大作用域的區別

jsp 九大內建物件 和 四大作用域的區別

  JSP中一共有九個內建的物件,分別是:request、response、session、application、out、pagecontext、config、page、exception

1.request  

該物件代表了客戶端的請求資訊,主要用於接受通過HTTP協議傳送到伺服器的資料。request物件的作用域為一次請求。

2.response

該物件是對客戶端的響應,主要是將JSP容器處理過的物件傳回到客戶端。response物件的作用域只在JSP頁面內有效。

3.session

該物件是客服端和伺服器的一次會話。伺服器為每個使用者都生成一個session物件,用於儲存該使用者的資訊,跟蹤使用者的操作狀態。直到客戶端斷開連線或者,session時間到期後斷開。

4.application

該物件是存在於整個應用中,開始於伺服器啟動,結束於伺服器關閉。這個物件中可以儲存資訊在應用任何地方都可以用。

5.out

該物件是JspWriter類的例項,是向客戶端瀏覽器輸出內容經常要用到的物件 。就只能作用在當前頁面。用完過後要及時清除緩衝區的內容,騰出空間,還要記得關閉輸出流。

6.pagecontext

該物件可以獲取當前jsp頁面任何範圍的引數。比如out、request、reponse、session、application 等物件。

7.config

該物件的作用就是當一個Servlet 初始化時,容器(Tomcat、JRun、Resin等)把某些資訊;伺服器的一些資訊等通過 config物件傳遞給這個 Servlet。 

8.page

該物件就是指向的當前jsp頁面本身。

9.exception

物件就是在頁面執行過程中出了異常來顯示異常資訊的,但是必須在頁面中設定 isErrorPage="true" 才能使用;

四大作用域作用範圍從小到大:

pageContext<request<session<application

一、 生命週期:

pageContext:存在page中的變數,只作用於當前的jsp頁面,當發生跳轉、重定向、定時重新整理時,將隨之銷燬;

request:存在request中的變數,作用於一次HTTP請求到伺服器處理結束,返回響應的整個過程,該變數可以隨著forward的方式跳轉到多個jsp中,一但重新整理頁面,它們將重新計算;

session:存在Session中的變數,作用於一次會話中,從開啟瀏覽器到關閉瀏覽器過程中,將一直累加;(若想在再次開啟瀏覽器時,變數仍然存在,則可以將session的JSESSIONID存到Cookie中,在給cookie一個存活時間)

application:存在application中的變數,作用於整個應用中,即從應用啟動到應用結束,如果不進行手工刪除,它們將一直可以使用,而且這些變數所有使用者均可使用。

二、 作用範圍:

pageContext:使用者請求的當前頁面;

request:使用者請求訪問的當前元件,以及和當前web元件共享同一使用者請求的web元件;

session:同一個Http會話中的web元件共享;

application:整個web應用的所有web元件共享,即只要是同一個伺服器下的均可使用。