簡介:
page域指的是pagecontext.
request域指的是requesthttpservletrequest
session 域指的是 sessionhttpsession
之所以他們是域物件,原因就是他們都內建了map集合,都有setattribute getattribute方法。
他們都有自己固定的生命週期和作用域。這四個物件的生命週期(生命週期就是值物件的建立到銷毀的期間):
四個域物件的宣告週期:
page:jsp頁面被執行,生命週期開始,jsp頁面執行完畢,宣告週期結束。(當前頁面)
request:使用者傳送乙個請求,開始,伺服器返回響應,請求結束,生命週期結束。(**)
session:使用者開啟瀏覽器訪問,建立session(開始),session超時或被宣告失效,該物件生命週期結束。(私有的)
注意:
page只在當前jsp有效,每次請求分別對應不同的request。
request只在當前請求有效,每次請求分別對應不同的request域。
session只在一次會話中有效,會話結束就無法取到資料了。
四個域物件在選擇的時候,能用範圍小的絕不用範圍大的:
page:資料只是暫時存在集合,在jsp頁面的其他地方要用,用page(頁面中自定義的map)。
request:資料只是做顯示的,看完了就沒用了。就存request域,請求**,servlet產生的處理結果(資料)交給jsp顯示,資料**可以帶資料。
session:資料給使用者看完了,一定還要用,會話結束了就沒用了。
使用者登入,使用者資訊發給客戶端看,看完了,一會訪問別的頁面還要看使用者資訊。
購物車,購物車成功了,給使用者看購物車,待會隨時間可以檢視購物車。
請求重定向,因為是兩次請求,每一次請求的資料,第二次請求還要看。
聊天室,聊天記錄,需要給所有的使用者看。
總結:
一,什麼是內建物件?
在jsp開發中會頻繁使用到一些物件,如servletcontext httpsession pagecontext等.如果每次我們在jsp頁面中需要使用這些物件都要自己親自動手建立就會特別的繁瑣.sun公司因此在設計jsp時,在jsp頁面載入完畢之後自動幫開發者建立好了這些物件,開發者只需要使用相應的物件呼叫相應的方法即可.這些系統建立好的物件就叫做內建物件.
在servlet程式中,如果開發者希望使用session物件,必須通過request.getsession()來得到session物件;而在jsp程式中,開發中可直接使用session(系統幫我們建立好的session物件的名字就叫session)呼叫相應的方法即可,如:session.getid().
二,九大內建物件到底是哪九大呢?
三,解析幾個內建物件
1)out物件物件,物件型別是jspwriter類,相當於帶快取的printwriter(不帶快取)
printwriter:write("內容") 直接向瀏覽器輸出內容
jspwriter:writer("內容") 向jsp緩衝區寫出內容
jspwriter當滿足以下條件時之一時,緩衝區的內容寫出:
a,緩衝區滿了
b,重新整理緩衝區
c,關閉緩衝區
d,jsp頁面執行完畢
2)pagecontext物件
pagecontext的物件型別是pagecontext,叫jsp的上下文物件.
pagecontext作用:可以獲取其他八個內建物件
//示例:
pagecontext.getout();
pagecontext.getservletconfig()
使用場景:在自定義標籤時會頻繁使用到pagecontext物件;或者是定義乙個方法需要用到多個物件時,傳乙個pagecontext物件就能解決問題.
JSP四大域物件
web開發中的四個域物件 有 範圍小到大 page jsp有效 page 域指的是 pagecontext.request 一次請求 request 域指的是 session 一次會話 session 域指的是 web應用域指的是 之所以他們是域物件,原因就是他們都內建了map 集合,都有 seta...
Java四大域物件
1.生命週期 當web應用被載入進容器建立代表整個web應用的servletcontext物件,當伺服器關閉或web應用被移除時,servletcontext物件跟著被銷毀。2.作用範圍 整個web應用。3.在不同servlet之間 讀取資源檔案1.生命週期 在service方法呼叫前由伺服器建立,...
四大域物件範圍
1 如果把變數放到pagecontext裡,就說明它的作用域是page,它的有效範圍只在當前jsp頁面裡。從把變數放到pagecontext開始,到jsp頁面結束,你都可以使用這個變數。2 如果把變數放到request裡,就說明它的作用域是request,它的有效範圍是當前請求週期。所謂請求週期,就...