web開發中的四個域對象生命週期 作用域詳細介紹

Web開發中的四個域對象:

有範圍小到大:page(jsp有效)  request(一次請求)session(一次會話) application(當前web應用)

page域指的是pageContext.

request域指的是requestHttpServletRequest

session 域指的是 sessionHTTPSession

application 域指的是 applicationServletContext

追所以他們是域對象,原因就是他們都內置了map集合,都有setAttribute getAttribute方法。

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

 

 

 

 

這4個對象的生命週期

聲明週期就是值對象的創建到銷燬的期間。

page:jsp頁面被執行,生命週期開始,jsp頁面執行完畢,聲明週期結束

request:用戶發送一個請求,開始,服務器返回響應,請求結束,生命週期結束

session:用戶打開瀏覽器訪問,創建session(開始),session超時或被聲明失效,該對象生命週期結束

application:web應用加載的時候創建。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。

發佈了28 篇原創文章 · 獲贊 20 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章