Web開發中的四大域物件 與 jsp之九大內建物件

2021-08-26 12:07:32 字數 2081 閱讀 9230

簡介:

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,它的有效範圍是當前請求週期。所謂請求週期,就...