web三個域物件的區別
阿新 • • 發佈:2019-02-05
web中有三個域物件,另外JSP中還有一個PageContext域物件
四個域物件範圍從小到大依次為
- PageContext
- Request
- Session
- ServletContext
四個域物件的區別:
主要體現在域範圍上,通過setAttribute()方法,四個域物件均可儲存資料,傳輸資料,但是範圍不一樣
PageContext的作用範圍最小,只能在當前頁面傳輸資料,即使是轉發,重定向後,PageContext中儲存的資料也會失效
Request的作用範圍為一次請求,如果請求沒有斷,Request中的資料就會一直存在,如果經歷了轉發Request依舊存在,因為轉發自始至終為一次請求
Session的作用範圍為一次會話,只要當前瀏覽器視窗一開啟且沒有關閉,Session中的資料就會存在,但是Session中預設的存在時間為30分鐘,如果打開了瀏覽器,且30分鐘之內沒有訪問此Session,此Session就回銷燬.注:(Session是通過Cookie中儲存的JSESSIONID值傳遞的,如果瀏覽器關閉了Cookie功能,則Session失效)
ServletContext的作用範圍為此WEB應用,從此WEB應用部署開始到此WEB應用銷燬結束退出執行,ServletContext中的資料會一直存在