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元件共享,即只要是同一個伺服器下的均可使用。