ServletContext物件學習

2021-09-25 03:38:38 字數 1332 閱讀 1932

問題:

不同的使用者使用相同的資料

解決: servletcontext物件

特點: 伺服器建立

使用者共享

作用域:

整個專案內

生命週期:

伺服器啟動到伺服器關閉

使用: 獲取servletcontext物件

//第一種方式

servletcontext sc=this.getservletcontext();

//第二種方式

servletcontext sc2=this.getservletconfig().getservletcontext();

//第三種方式

servletcontext sc3=req.getsession().getservletcontext();

使用servletcontext物件完成資料共享

//資料儲存

sc.setattribute(string name, object value);

//資料獲取

sc.getattribute("str"); 返回的是object型別

注意:不同的使用者可以給servletcontext物件進行資料的訪問

獲取的資料不存在時返回null

獲取專案中的web.xml檔案中的全域性配置資料

sc.getinitparameter(string name); 根據鍵的名字返回web.xml中配置的全域性資料的值,返回string型別

如果資料不存在返回null

sc.getinitparameternames();返回鍵名的列舉

配置方式:注意一組標籤只能儲存一組鍵值對資料,多組可以宣告多個進行儲存

name

zhangsan

全域性配置資料的作用:

將靜態資料和**進行解耦

獲取專案webroot下的資源的絕對路徑

string path=sc.getrealpath(string path);

示例:string path=sc.getrealpath("/doc/1.txt");

獲取的路徑為專案根目錄,path引數為專案根目錄中的路徑

獲取webroot下的資源的流物件

inputstream is=sc.getresourceasstream(string path);

path引數為專案根目錄中的路徑

示例:inputstream is=sc.getresourceasstream("/doc/1.txt");

注意:此種方式只能獲取專案根目錄下的資源流物件,class檔案的流物件需要使用類載入器獲取。

ServletContext介面功能

使用getinitparameternames 和getinitparameter string name 來獲得web應用中的初始化引數 setattribute string name,string value 來設定共享的資料 getattribute string name 來獲得共享得資料...

ServletContext物件的應用

servletcontext物件 user root pass 1234 1.獲取指定名稱的context配置資訊 servletcontex context this.getservletcontext string user context.getinitparameter user syste...

ServletContext基礎(還在更新中)

web 容器在啟動時會載入每乙個web 應用程式。1.servletcontext servlet 上下文物件 每個web工程都有自己的servletcontext物件。範圍 應用程式範圍。可以被web 應用程式的所有jsp頁面和servlet 訪問。2.servletconfig servlet ...