1. 程式人生 > >四個域物件的使用及區別

四個域物件的使用及區別

1.簡單說 page指當前頁面。在一個jsp頁面裡有效 
2.request 指從http請求到伺服器處理結束,返回響應的整個過程。在這個過程中使用forward方式跳轉多個jsp。在這些頁面裡你都可以使用這個變數。 
3.Session 有效範圍當前會話,從瀏覽器開啟到瀏覽器關閉這個過程。 
4.application它的有效範圍是整個應用。 
作用域裡的變數,它們的存活時間是最長的,如果不進行手工刪除,它們就一直可以使用 






page裡的變數沒法從index.jsp傳遞到test.jsp。只要頁面跳轉了,它們就不見了。 

request裡的變數可以跨越forward前後的兩頁。但是隻要重新整理頁面,它們就重新計算了。 

session和application裡的變數一直在累加,開始還看不出區別,只要關閉瀏覽器,再次重啟瀏覽器訪問這頁,session裡的變數就重新計算了。 

application裡的變數一直在累加,除非你重啟tomcat,否則它會一直變大。 

而作用域規定的是變數的有效期限。 

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

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

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

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

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

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

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

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

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

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

page、request、session、application的作用範圍

  page:使用者請求的當前頁面;

  Request:使用者請求訪問的當前元件,以及和當前web元件共享同一使用者請求的web元件。如:被請求的jsp頁面和該頁面用<include>指令包含的頁面以及<forward>標記包含的其它jsp頁面; 

  Session:同一個http會話中的web元件共享它;
  Application:整個web應用的所用web元件共享它。

相關推薦

jsp九內建物件物件Servlet的三大物件

一,什麼是內建物件? 在jsp開發中會頻繁使用到一些物件,如ServletContext HttpSession PageContext等.如果每次我們在jsp頁面中需要使用這些物件都要自己親自動手建立就會特別的繁瑣.SUN公司因此在設計jsp時,在js

物件的使用區別

1.簡單說 page指當前頁面。在一個jsp頁面裡有效  2.request 指從http請求到伺服器處理結束,返回響應的整個過程。在這個過程中使用forward方式跳轉多個jsp。在這些頁面裡你都可以使用這個變數。  3.Session 有效範圍當前會話,從瀏覽器開啟到瀏覽器關閉這個過程。  4.appl

Page,request,session,application物件的使用區別

      Page域物件就是pageContext物件,可以訪問當前頁面作用域中定義的所有隱式物件。常用方法:       void set Attribute(String name,Objectvalue): 向pageContext中存放物件值       void

JSP基本功 pageContext物件page,request,session,application物件的使用區別JSP執行原理和九大隱式物件下載檔案、訪問次數的程式碼總結出el表示式簡單

pageContext物件     pageContext物件是JSP技術中最重要的一個物件,它代表JSP頁面的執行環境,這個物件不僅封裝了對其它8大隱式物件的引用,它自身還是一個域物件,可以用來儲存資料。並且,這個物件還封裝了web開發中經常涉及到的一些常用操作,例如引入和跳轉其它資源、檢索其

【Web篇05】JSP、JSP表示式、JSP、EL表示式、EL 之間的區別

一、JSP Java ServerPages,即java伺服器頁面,本質是Servelt,存放在伺服器中,用於頁面顯示; 它的主要構成有HTML網頁程式碼、Java程式碼片段、JSP標籤幾部分組成,字尾是.jsp。 (1)JSP指令碼元素:是嵌入到JSP中Java程式碼段,格式以**<

Web基礎小結:JSP、JSP表示式、JSP、EL表示式、EL 之間的區別

一、JSP Java ServerPages,即java伺服器頁面,本質是Servelt,存放在伺服器中,用於頁面顯示; 它的主要構成有HTML網頁程式碼、Java程式碼片段、JSP標籤幾部分組成,字尾是.jsp。 (1)JSP指令碼元素:是嵌入到JSP中Jav

jsp物件的作用範圍

jsp的內建物件:內建物件是在JSP頁面中無需建立就可以直接使用的變數。在JSP中一共有9個這樣的物件!它們分別是:l  out(JspWriter);l  config(ServletConfig);l  page(當前JSP的真身型別);l  pageContext(Pa

web開發之物件

Web開發中的四個域物件(範圍由小到大): page(jsp有效)request(一次請求) session(一次會話) application(當前web應用) page域指的是pageContext. request域指的是request HttpServletReque

web開發中的物件生命週期 作用詳細介紹

Web開發中的四個域物件: 有範圍小到大:page(jsp有效)  request(一次請求)session(一次會話) application(當前web應用) page域指的是pageContext. request域指的是requestHttpServletReque

Jsp的物件

域物件的作用: 用於儲存資料,獲取資料,在不同資源之間共享資料。 域物件的方法: setAttribute(name,object) ; 儲存資料方法 getAttribute(name)

web三物件區別

web中有三個域物件,另外JSP中還有一個PageContext域物件 四個域物件範圍從小到大依次為 PageContext Request Session ServletContext 四

Web開發中的物件(範圍由小到大)

簡介: page(jsp有效)  request(一次請求) session(一次會話)application(當前web應用) page域指的是pageContext. request域指的是requestHttpServletRequest session 域指的是 s

jsp的物件和九大隱藏物件

3 JSP工作原理   1)Web伺服器會在第一次訪問某jsp時,將jsp翻譯成java原碼,該原碼是一個servlet     2)jsp的三個生命週期方法:date_jsp(),_jspInit(),_jspDestory(),_jspService()方法,生命週期類似於servlet   3)在_js

JSP對象的應用場景

應用場景 購物 path ont let 當前 場景 servlet session request 如果客戶向服務器發請求,產生的數據,用戶看完就沒用了,像這樣的數據就存在request域 比如新聞數據,屬於用戶看完就沒用的 session 如果客戶向服務器發請求,產生的

Java之Request物件cookie詳解

獲取表單中提交的資料 使用getParameter()獲取打印表單資料 private void fun1(HttpServletRequest request) { String username = request.getPa

與HttpSession有關的監聽器之間的區別

與HttpSession有關的四個監聽器之間的區別簡介:HttpSession常用的四個監聽器HttpSessionBindingListener,HttpSessoinActivationListener,HttpSessionListener和HttpSessionAtt

C# ADO.NET的五常用物件資料庫連線操作

C#中和資料庫連線的操作時開發中必不可少的,而ADO.NET就是其中的關鍵技術之一。常見的ADO.NET有五個常用的物件: SqlConnection 資料庫連線物件 SqlCommand 資料庫命令物件 SqlDataAdapter 資料介面卡 SqlDataRea

JDBC核心物件及其常用方法

JDBC中的四個核心物件 DriverManager類 java.sql.DriverManager Connection 介面 java.sql.Connection Statement 介面 java.sql.PreparedStatement ResultSet介面

Servlet的三物件

我們在開發javaweb專案的時候,經常會遇到jsp和Servet之間互相傳值,既然有傳值,就要有物件來傳,這裡先說Servlet的三大域物件,request,session,application

TeamViewer 版本的功能區別(遠端連線黑屏問題解答)

本帖最後由 小雪君 於 2010-12-13 19:26 編輯 遠端控制好處多多,看了上篇利用Windows系統自帶功能實現遠端控制的童鞋們心動了吧【點選這裡檢視《不用裝軟體 輕鬆實現遠端控制》】。不過仍然有網路侷限性,僅能在區域網內進行操作,達不到在家用ADSL寬頻網路的電腦,控制單位電腦的效果。話說解決