1. 程式人生 > >JSP內置對象的作用域,及過濾器filter

JSP內置對象的作用域,及過濾器filter

會話 scope 時間 手工 內置 內置對象 作用 隔離 範圍

pageContext:只要跳轉頁面,就不存在。

request, 只要在當前頁面就存在

session, 只有瀏覽器關閉,才不存在。

application,只有服務器關閉後,才不存在。

如果把變量放到pageContext裏,就說明它的作用域是page,它的有效範圍只在當前jsp頁面裏。

  從把變量放到pageContext開始,到jsp頁面結束,你都可以使用這個變量。

  如果把變量放到request裏,就說明它的作用域是request,它的有效範圍是當前請求周期。

  所謂請求周期,就是指從http請求發起,到服務器處理結束,返回響應的整個過程。在這個過程中可能使用forward的方式跳轉了多個jsp頁面,在這些頁面裏你都可以使用這個變量。

  如果把變量放到session裏,就說明它的作用域是session,它的有效範圍是當前會話。

  所謂當前會話,就是指從用戶打開瀏覽器開始,到用戶關閉瀏覽器這中間的過程。這個過程可能包含多個請求響應。也就是說,只要用戶不關瀏覽器,服務器就有辦法知道這些請求是一個人發起的,整個過程被稱為一個會話(session),而放到會話中的變量,就可以在當前會話的所有請求裏使用。

  如果把變量放到application裏,就說明它的作用域是application,它的有效範圍是整個應用。

  整個應用是指從應用啟動,到應用結束。我們沒有說“從服務器啟動,到服務器關閉”,是因為一個服務器可能部署多個應用,當然你關閉了服務器,就會把上面所有的應用都關閉了。

  application作用域裏的變量,它們的存活時間是最長的,如果不進行手工刪除,它們就一直可以使用。

  與上述三個不同的是,application裏的變量可以被所有用戶共用。如果用戶甲的操作修改了application中的變量,用戶乙訪問時得到的是修改後的值。這在其他scope中都是不會發生的,page, request,session都是完全隔離的,無論如何修改都不會影響其他人的數據。

過濾器 filter 可以對編碼進行過濾。

JSP內置對象的作用域,及過濾器filter