1. 程式人生 > >page、request、session和application有什麼區別?

page、request、session和application有什麼區別?

1.簡單說 page指當前頁面。在一個jsp頁面裡有效 
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修改下,這樣可以看到輸出的不同。