1. 程式人生 > >web三個域物件的區別

web三個域物件的區別

web中有三個域物件,另外JSP中還有一個PageContext域物件
四個域物件範圍從小到大依次為

  1. PageContext
  2. Request
  3. Session
  4. ServletContext

四個域物件的區別:

主要體現在域範圍上,通過setAttribute()方法,四個域物件均可儲存資料,傳輸資料,但是範圍不一樣

  1. PageContext的作用範圍最小,只能在當前頁面傳輸資料,即使是轉發,重定向後,PageContext中儲存的資料也會失效

  2. Request的作用範圍為一次請求,如果請求沒有斷,Request中的資料就會一直存在,如果經歷了轉發Request依舊存在,因為轉發自始至終為一次請求

  3. Session的作用範圍為一次會話,只要當前瀏覽器視窗一開啟且沒有關閉,Session中的資料就會存在,但是Session中預設的存在時間為30分鐘,如果打開了瀏覽器,且30分鐘之內沒有訪問此Session,此Session就回銷燬.注:(Session是通過Cookie中儲存的JSESSIONID值傳遞的,如果瀏覽器關閉了Cookie功能,則Session失效)

  4. ServletContext的作用範圍為此WEB應用,從此WEB應用部署開始到此WEB應用銷燬結束退出執行,ServletContext中的資料會一直存在