page、request、session和application有什麼區別?
阿新 • • 發佈:2019-02-12
1.簡單說 page指當前頁面。在一個jsp頁面裡有效
2.request 指從http請求到伺服器處理結束,返回響應的整個過程。在這個過程中使用forward方式跳轉多個jsp。在這些頁面裡你都可以使用這個變數。 其實有點像HttpServletRequest,在所相關的網頁都可以獲取到請求網頁的相關資訊一樣
3.Session 有效範圍當前會話,從瀏覽器開啟到瀏覽器關閉這個過程。 每個使用者都有唯一的一個
4.application它的有效範圍是整個應用。 作用域裡的變數,它們的存活時間是最長的,如果不進行手工刪除,它們就一直可以使用
2.request 指從http請求到伺服器處理結束,返回響應的整個過程。在這個過程中使用forward方式跳轉多個jsp。在這些頁面裡你都可以使用這個變數。 其實有點像HttpServletRequest,在所相關的網頁都可以獲取到請求網頁的相關資訊一樣
3.Session 有效範圍當前會話,從瀏覽器開啟到瀏覽器關閉這個過程。 每個使用者都有唯一的一個
4.application它的有效範圍是整個應用。 作用域裡的變數,它們的存活時間是最長的,如果不進行手工刪除,它們就一直可以使用
結合下面的例子可能更好理解
在page1中分別定義四個變數,變數作用域分別為page、request、session和application。。。
page1的程式碼為
其他網頁只是對這四個變數進行輸出,程式碼都一樣,為
分別在瀏覽器中瀏覽其他網頁的獲取四個變數情況,結果如下
可以發現只有session變數和application變數在其他網頁中可以顯示,但是page和request變數不行。
接下來對page1.jsp進行更改,增加一句跳轉語句<jsp:forward page="page2.jsp" />,此時page2.jsp中可以同時顯示這四個變數。這與<jsp:forward page="跳轉的目標頁面" />本身的性質有關,可以搜尋下與jsp跳轉相關的內容。為了區別對page2.jsp修改下,這樣可以看到輸出的不同。