1. 程式人生 > >web開發之四個域物件

web開發之四個域物件

Web開發中的四個域物件(範圍由小到大):

page(jsp有效)request(一次請求) session(一次會話) application(當前web應用)

page域指的是pageContext.

request域指的是request HttpServletRequest

session 域指的是 session HTTPSession

application 域指的是 application ServletContext

之所以他們是域物件,原因就是他們都內建了map集合,都有setAttribute getAttribute方法。

他們都有自己固定的生命週期和作用域。

這四個物件的生命週期(

生命週期就是值物件的建立到銷燬的期間):

pagejsp頁面被執行,生命週期開始,jsp頁面執行完畢,宣告週期結束。

request:使用者傳送一個請求,開始,伺服器返回響應,請求結束,生命週期結束。

session:使用者開啟瀏覽器訪問,建立session(開始),session超時或被宣告失效,該物件生命週期結束。

applicationweb應用載入的時候建立。Web應用被移除或伺服器關閉,物件銷燬。[結束]

注意:

Page只在當前jsp有效,每次請求分別對應不同的request.

Request,只在當前請求有效,每次請求分別對應不同的request

Session只在一次會話中有效,會話結束就無法取到資料了。

四個域物件在選擇的時候,能用範圍小的絕不用範圍大的:

page:資料只是暫時存在集合,在jsp頁面的其他地方要用,用page(頁面中自定義的map)

(什麼時候需要用map了,就用page

Request:資料只是做顯示的,看完了就沒用了。就存request域,請求轉發,Servlet產生的處理結果(資料)交給jsp顯示。資料轉發可以帶資料。

Session:資料給使用者看完了,一定還要用,會話結束了就沒用了

使用者登入,使用者資訊發給客戶端看,看完了,一會訪問別的頁面還要看使用者資訊。

購物車,購物車成功了,給使用者看購物車,待會隨時間可以檢視購物車

請求重定向,因為是兩次請求,每一次請求的資料,第二次請求還要看。

application:資料給一個使用者用完了,別人還要用

聊天室,聊天記錄,需要給所有的使用者看

統計網站線上人數,所有看到的應該是一個數

總結:四個域物件在選擇的時候,能用範圍小的絕不用範圍大的。需要定義Map時不如用page,請求Servlet,轉發給jsp的資料存request,請求重定向帶過去的資料存Session,全域性的資料存application

申明:此文轉自百度文庫,作者不詳,因為覺得寫得很詳細轉自本空間以備日後好查。