1、區別:
1.page指當前頁面有效。在乙個jsp頁面裡有效
2.request 指在一次請求的全過程中有效,即從http請求到伺服器處理結束,返回響應的整個過程,存放在httpservletrequest物件中。在這個過程中可以使用forward方式跳轉多個jsp。在這些頁面裡你都可以使用這個變數。
3.session是使用者全域性變數,在整個會話期間都有效。只要頁面不關閉就一直有效(或者直到使用者一直未活動導致會話過期,預設session過期時間為30分鐘,或呼叫httpsession的invalidate()方法)。存放在httpsession物件中
若資料不只是在下乙個forward有用時,就用session。
2、如何使用?
page裡的變數沒法從index.jsp傳遞到test.jsp。只要頁面跳轉了,它們就不見了。
request裡的變數可以跨越forward前後的兩頁。但是只要重新整理頁面,它們就重新計算了。
session的變數一直在累加,開始還看不出區別,只要關閉瀏覽器,再次重啟瀏覽器訪問這頁,session裡的變數就重新計算了。
而作用域規定的是變數的有效期限。
如果把變數放到pagecontext裡,就說明它的作用域是page,它的有效範圍只在當前jsp頁面裡。 從把變數放到pagecontext開始,到jsp頁面結束,你都可以使用這個變數。
如果把變數放到request裡,就說明它的作用域是request,它的有效範圍是當前請求週期。 所謂請求週期,就是指從http請求發起,到伺服器處理結束,返回響應的整個過程。在這個過程中可能使用forward的方式跳轉了多個jsp頁面,在這些頁面裡你都可以使用這個變數。
如果把變數放到session裡,就說明它的作用域是session,它的有效範圍是當前會話。
所謂當前會話,就是指從使用者開啟瀏覽器開始,到使用者關閉瀏覽器這中間的過程。這個過程可能包含多個請求響應。也就是說,只要使用者不關瀏覽器,伺服器就有辦法知道這些請求是乙個人發起的,整個過程被稱為乙個會話(session),而放到會話中的變數,就可以在當前會話的所有請求裡使用。
3、書上解釋
此處只摘錄重要語句:
page:使用者請求的當前頁面;
request:使用者請求訪問的當前元件,以及和當前web元件共享同一使用者請求的web元件。如:被請求的jsp頁面和該頁面用指令包含的頁面以及標記包含的其它jsp頁面;
session:同乙個http會話中的web元件共享它;
3.1舉個例子說明
乙個**mywebsite,其包含7個jsp頁面,分別為master.jsp、top.jsp、main.jsp、foot.jsp、login.jsp、success.jsp和news.jsp。master.jsp頁面通過指令包含top.jsp、main.jsp、foot.jsp三個頁面,當使用者通過login.jsp登入成功後,進入success.jsp頁面然後通過此頁面的標籤跳轉到master.jsp頁面中。
我們在success.jsp頁面中加入如下**(此處用到jstl標籤)
1.變數 test1 只在success.jsp內有效;
2.變數 test2 在success.jsp、master.jsp、top.jsp、main.jsp、foot.jsp中有效;
3.變數 test3 在7個頁面中都有效(包括login.jsp和news.jsp);
4.變數 test4 在整個**,當前也就是7個頁面中都有效(包括login.jsp和news.jsp)。
test3和test4有效範圍一樣,有什麼區別呢?
說明一點,假如此時又有另乙個使用者訪問master.jsp頁面,那麼test3相對於這個使用者來說就無效,而test4卻是有效的。或者當第乙個登入的使用者關閉瀏覽器後,再重新訪問master.jsp時,test3就無效,而test4卻有效。
JSP內建物件的使用 一
out物件用於向瀏覽器輸出資料,常用方法是print 顯示字串資訊。request內建物件 request物件用於處理請求,常用方法 getparameter 根據頁面表單元件名稱獲取頁面提交資料 getparametervalues 獲取一組以相同名稱命名的表單元件提交的資料。setcharact...
簡述JSP的內建物件,及該物件的作用
1 request物件 客戶端的請求資訊被封裝到request物件中,通過request可以了解到客戶的需求,然後做出響應。2 response物件 response物件包含了響應客戶請求的有關資訊,但在jsp中很少直接用到它。4 out物件 out物件是jspwriter類的例項,是向客戶端輸出內...
js 內建物件及相關語法
this指的是當前標籤的物件。2var ary new array mark jay leslie 3for x in ary 7執行結果如下 相當於,x是下標值 8 0 mark 9 1 jay 10 2 leslie with 以下 就相當於給每個write前加乙個document 2 wind...