page:page裡的變數沒法從index.jsp傳遞到test.jsp。只要頁面跳轉了,它們就不見了。
request:request裡的變數可以跨越forward前後的兩頁。但是只要重新整理頁面,它們就重新計算了。
如果把變數放到pagecontext裡,就說明它的作用域是page,它的有效範圍只在當前jsp頁面裡。
從把變數放到pagecontext開始,到jsp頁面結束,你都可以使用這個變數。
如果把變數放到request裡,就說明它的作用域是request,它的有效範圍是當前請求週期。
所謂請求週期,就是指從http請求發起,到伺服器處理結束,返回響應的整個過程。在這個過程中可能使用forward的方式跳轉了多個jsp頁面,在這些頁面裡你都可以使用這個變數。
如果把變數放到session裡,就說明它的作用域是session,它的有效範圍是當前會話。
所謂當前會話,就是指從使用者開啟瀏覽器開始,到使用者關閉瀏覽器這中間的過程。這個過程可能包含多個請求響應。也就是說,只要使用者不關瀏覽器,伺服器就有辦法知道這些請求是乙個人發起的,整個過程被稱為乙個會話(session),而放到會話中的變數,就可以在當前會話的所有請求裡使用。
我們使用public object getattribute(string name)獲得變數值,使用public void setattribute(string name, object value)將變數值儲存到對應作用域中。
我們可以採用$
形式可以代替<%=pagecontext.getattribute("countpage")%>
語句,$
形式叫做el表示式,是jsp-2.0規範的一部分,tomcat裡正好可以使用。
使用el有以下幾個好處:
**量小,並且不需要使用尖括號。
如果變數不存在,會輸出空字串"",而不是null,省去了手工判斷的工作。
JSP 四個作用域
下圖為jsp內建物件作用域表 名稱 作用域 session 在當前會話中有效 request 在當前請求中有效 page 在當前頁面有效 首先要宣告一點,所謂 作用域 就是 資訊共享的範圍 也就是說乙個資訊能夠在多大的範圍內有效。web互動的最基本單位為http請求。每個使用者從進入 到離開 這段過...
jsp中四個作用域
jsp中的四個作用域 jsp內建物件作用域表 名稱作用域 在所有應用程式中有效 session 在當前會話中有效 request 在當前請求中有效 page 在當前頁面有效 首先要宣告一點,所謂 作用域 就是 資訊共享的範圍 也就是說乙個資訊能夠在多大的範圍內有效。web互動的最基本單位為http請...
jsp的四個作用域
名稱作用域 在所有應用程式中有效 session 在當前會話中有效 request 在當前請求中有效 page 在當前頁面有效 web互動的最基本單位為http請求。每個使用者從進入 到離開 這段過程稱為乙個http會話,乙個伺服器的執行過程中會有多個使用者訪問,就是多個http會話。作用域解釋如下...