servlet的application對象的使用


application對象

1 什么是application對象 ?

(1) 當Web服務器啟動時,Web服務器會自動創建一個application對象。application對象一旦創建,它將一直存在,直到Web服務器關閉。

 

一個Web服務器通常有多個Web服務目錄 (網站),當Web服務器啟動時,它自動為每個Web服務目錄都創建一個application對象,這些application對象各自獨立,而且和Web服務目錄一一對應。

 

訪問同一個網站的客戶都共享一個application對象,因此,application對象可以實現多客戶間的數據共享。

 

訪問不同網站的客戶,對應的application對象不同。

 

 

(2) application對象的生命周期:從Web服務器啟動,直到Web服務器關閉。

 

注意:一個Web應用程序啟動后,將會自動創建一個application對象,而且在整個應用程序的運行過程中只有一個application對象,也即所有訪問該網站的客戶都共享一個application對象。

 

 

(3) application對象的作用范圍:application對象是一個應用程序級的對象,它作用於當前Web應用程序,也即作用於當前網站,所有訪問當前網站的客戶都共享一個application對象。

 

具體來說:不管哪個客戶來訪問網站A,也不管客戶訪問網站A下哪個頁面文件,都可以對網站A的application對象進行操作,因為,所有訪問網站A的客戶都共用一個application對象。

因此,當在application對象中存儲數據后,所有訪問網站A的客戶都能夠對其進行訪問,實現了多客戶之間的數據共享。

 

 

(4) application對象的基類是:javax.servlet.ServletContext類。

 

注意:有些Web服務器不直接支持使用application對象,必須用ServletContext類來聲明application對象,再調用getServletContext()方法來獲取當前頁面的application對象。

 

 

(5) ServletContext類:用於表示應用程序的上下文。

一個ServletContext類的對象表示一個Web應用程序的上下文。

 

具體來說:在Web服務器中,提供了一個Web應用程序的運行時環境,專門負責Web應用程序的部署、編譯、運行以及生命周期的管理,通過ServletContext類,可以獲取Web應用程序的運行時環境信息。

 

常識:JSP引擎、Servlet引擎、JSP容器和Servlet容器,都是指Web服務器,Web服務器用於管理所有Web應用程序。

 

 

(6) application對象的常用方法,如下所示:

 

方法名 描述
String getAttribute(String name) 根據屬性名稱獲取屬性值。
Enumeration getAttributeNames() 獲取所有的屬性名稱。
void setAttribute(String name, Object object) 設置屬性,指定屬性名稱和屬性值。
void removeAttribute(String name) 根據屬性名稱刪除對應的屬性。
 ServletContext getContext(String uripath) 獲取指定URL的ServletContext對象。
String getContextPath() 獲取當前Web應用程序的根目錄。
String getInitParameter(String name) 根據初始化參數名稱,獲取初始化參數值。
int getMajorVersion() 獲取Servlet API的主版本號。
int getMinorVersion() 獲取Servlet API的次版本號。
String getMimeType(String file) 獲取指定文件的MIME 類型。
String getServletInfo() 獲取當前Web服務器的版本信息。
String getServletContextName() 獲取當前Web應用程序的名稱。
void log(String message) 將信息寫入日志文件中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM