1.page指當前頁面有效。在乙個jsp頁面裡有效
2.request 指在一次請求的全過程中有效,即從http請求到伺服器處理結束,返回響應的整個過程,
存放在httpservletrequest物件中
。在這個過程中可以使用forward方式跳轉多個jsp。在這些頁面裡你都可以使用這個變數。
3.
session
是使用者全域性變數,在整個會話期間都有效。只要頁面不關閉就一直有效(或者直到使用者一直未活動導致會話過期,預設session過期時間為30分鐘,或呼叫httpsession的invalidate()方法)。存放在httpsession物件中
是程式全域性變數,對每個使用者每個頁面都有效。存放在servletcontext物件中。
它的存活時間是最長的,如果不進行手工刪除,它們就一直可以使用
總結:當資料只需要在下乙個forward有用時,用request就夠了;
若資料不只是在下乙個forward有用時,就用session。
具體使用方法:
page
裡的變數沒法從index.jsp傳遞到test.jsp。只要頁面跳轉了,它們就不見了。
request
裡的變數可以跨越forward前後的兩頁。但是只要重新整理頁面,它們就重新計算了。
session
的變數一直在累加,開始還看不出區別,只要關閉瀏覽器,再次重啟瀏覽器訪問這頁,session裡的變數就重新計算了。
而作用域規定的是變數的有效期限。
如果把變數放到pagecontext裡,就說明它的作用域是page,它的有效範圍只在當前jsp頁面裡。
從把變數放到pagecontext開始,到jsp頁面結束,你都可以使用這個變數。
如果把變數放到request裡,就說明它的作用域是request,它的有效範圍是當前請求週期。
所謂請求週期,就是指從http請求發起,到伺服器處理結束,返回響應的整個過程。在這個過程中可能使用forward的方式跳轉了多個jsp頁面,在這些頁面裡你都可以使用這個變數。
如果把變數放到session裡,就說明它的作用域是session,它的有效範圍是當前會話。
所謂當前會話,就是指從使用者開啟瀏覽器開始,到使用者關閉瀏覽器這中間的過程。這個過程可能包含多個請求響應。也就是說,只要使用者不關瀏覽器,伺服器就有辦法知道這些請求是乙個人發起的,整個過程被稱為乙個會話(session),而放到會話中的變數,就可以在當前會話的所有請求裡使用。
整個應用是指從應用啟動,到應用結束。沒有說「從伺服器啟動,到伺服器關閉」,是因為乙個伺服器可能部署多個應用,當然你關閉了伺服器,就會把上面所有的應用都關閉了。
JavaWeb中的四大作用域
1.page指當前頁面有效。在乙個jsp頁面裡有效 2.request 指在一次請求的全過程中有效,即從http請求到伺服器處理結束,返回響應的整個過程,存放在httpservletrequest物件中 在這個過程中可以使用forward方式跳轉多個jsp。在這些頁面裡你都可以使用這個變數。3.se...
四大作用域
1 page 裡的變數 只要頁面跳轉了,它們就不見了。如果把變數放到 pagecontext 裡,就說明它的作用域是 page 它的有效範圍只在當前 jsp頁面裡。從把變數放到 pagecontext 開始,到 jsp頁面結束,你都可以使用這個變數。2 request 裡的變數可以跨越 forwar...
四大作用域
名稱作用域 在所有應用程式中有效 全域性 session 在當前會話中有效 request 當前請求中有效 page 當前頁有效 所謂 作用域 指的是資訊共享範圍,通俗講就是乙個資訊在多大的範圍內有效。web互動最基本的單位是http請求,當乙個使用者進入 時就形成了乙個會話,在伺服器執行中有多少個...