1. 程式人生 > >jsp四大作用域和九大物件

jsp四大作用域和九大物件

jsp四大作用域和九大物件

詳情檢視我的腦圖

四個作用域:request域、session域、application域、page域

1. request

request是表示一個請求,只要發出一個請求就會建立一個request,它的作用域:僅在當前請求中有效。

應用場景 : 常用於伺服器間同一請求不同頁面之間的引數傳遞,常應用於表單的控制元件值傳遞。

2. session

伺服器會為每個會話建立一個session物件,所以session中的資料可供當前會話中所有servlet共享。

應用場景 : 常用於web開發中的登陸驗證介面(當用戶登入成功後瀏覽器分配其一個session鍵值對)。

3. Application(ServletContext)

ServletContext在伺服器啟動時建立,在伺服器關閉時銷燬。
所有的使用者都可以取得此資訊,此資訊在整個伺服器上被保留。Application屬性範圍值,全域性變數,只要設定一次,則所有的網頁視窗都可以取得資料。

應用場景 : 一般用於在多個客戶端間共享資料時使用。

4. page

page物件即this,代表JSP本身,更準確的說它代表JSP被翻譯後的Servlet,因此他可以呼叫Servlet類所定義的方法。page物件的型別為javax.servlet.jsp.HttpJspPage。

應用場景 : 在實際應用中,page物件很少在JSP中使用

九大內建物件:

1 out:頁面輸出
2 page:當前頁面
3 pageContext:當前上下文(編譯之後的當前頁面)
4 request:請求
5 response:響應
6 session:會話
7 application(ServletContext):tomcat啟動時自動建立,tomcat停止時,自動銷燬
8 config:配置檔案(獲取在web.xml中配置的Servlet的init-param配置資訊)
9 exception:異常

一 request物件

該物件封裝了使用者提交的資訊,通過呼叫該物件相應的方法可以獲取封裝的資訊, 即使用該物件可以獲取使用者提交資訊。 客戶端的請求引數都被封裝到這個物件裡面

二 response物件

對客戶的請求做出動態的響應,向客戶端傳送資料。

三 session物件

1.什麼是session:session物件是一個JSP內建物件,它在第一個JSP頁面被裝載時自動建立,完成會話期管理。
從一個客戶開啟瀏覽器並連線到伺服器開始,到客戶關閉瀏覽器離開這個伺服器結束,被稱為一個會話。當一個客戶訪問一個伺服器時,可能會在這個伺服器的幾個頁面之間反覆連線,反覆重新整理一個頁面,伺服器應當通過某種辦法知道這是同一個客戶,這就需要session物件。
2.session物件的ID:當一個客戶首次訪問伺服器上的一個JSP頁面時,JSP引擎產生一個session物件,同時分配一個String型別的ID號,JSP引擎同時將這個ID號傳送到客戶端,存放在Cookie中,這樣session物件和客戶之間就建立了一一對應的關係。當客戶再訪問連線該伺服器的其他頁面時,不再分配給客戶新的session物件,直到客戶關閉瀏覽器後,伺服器端該客戶的session物件才取消,並且和客戶的會話對應關係消失。當客戶重新開啟瀏覽器再連線到該伺服器時,伺服器為該客戶再建立一個新的session物件。

四 aplication物件

1.什麼是application:
伺服器啟動後就產生了這個application物件,當客戶在所訪問的網站的各個頁面之間瀏覽時,這個application物件都是同一個,直到伺服器關閉。但是與session不同的是,所有客戶的application物件都是同一個,即所有客戶共享這個內建的application物件。
2.application物件常用方法:
(1)public void setAttribute(String key,Object obj): 將引數Object指定的物件obj新增到application物件中,併為新增的物件指定一個索引關鍵字。
(2)public Object getAttribute(String key): 獲取application物件中含有關鍵字的物件。

五 out物件

out 物件是一個輸出流,用來向客戶端輸出資料。out物件用於各種資料的輸出。

六 page物件

對應this關鍵字。JSP網頁本身
page物件是當前頁面轉換後的Servlet類的例項。從轉換後的Servlet類的程式碼中,可以看到這種關係:
Object page = this;
在JSP頁面中,很少使用page物件。

七 config物件

javax.servlet. ServletConfig 的例項,該例項代表該JSP 的配置資訊。常用的方法有getInitPararneter(String paramNarne) 及getInitPararneternarnes() 等方法。事實上, JSP 頁面通常無須配置,也就不存在配置資訊。因此,該物件更多地在Servlet 中有效。

八 exception 物件

該例項代表其他頁面中的異常和錯誤。只有當頁面是錯誤處理頁面,即編譯指令page 的isErrorPage 屬性為true 時,該物件才可以使用。常用的方法有getMessageO和printStackTraceO等。

九 pageContext

javax.servlet.jsp.PageContext 的例項,物件直譯時可以稱作“頁面上下文”物件,代表的是當前頁面執行的一些屬性,通過此物件可以拿到其他8大物件,使用該物件可以訪問頁面中的共享資料。常用的方法有getServletContextO和getServletConfigO等。

.

小小總結

request              請求物件              型別 javax.servlet.ServletRequest           作用域 Request
 
response             響應物件               型別 javax.servlet.SrvletResponse           作用域 Page
 
pageContext      	  頁面上下文物件          型別 javax.servlet.jsp.PageContext          作用域 Page
 
session              會話物件               型別 javax.servlet.http.HttpSession         作用域 Session
  
application          應用程式物件           型別 javax.servlet.ServletContext            作用域 Application
 
out                  輸出物件              型別 javax.servlet.jsp.JspWriter             作用域 Page
 
config               配置物件              型別 javax.servlet.ServletConfig             作用域 Page
 
page                 頁面物件              型別 javax.lang.Object                        作用域 Page
 
exception            例外物件              型別 javax.lang.Throwable                     作用域 page

詳情檢視我的腦圖