ServletConfig對象、ServletContext

ServletConfig對象

  在Servlet的配置文件中,可以使用一個或多個<init-param>標籤爲servlet配置一些初始化參數。

  當servlet配置了初始化參數後,web容器在創建servlet實例對象時,會自動將這些初始化參數封裝到ServletConfig對象中,並在調用servlet的init方法時,將ServletConfig對象傳遞給servlet。進而程序員通過ServletConfig對象就可以得到當前servlet的初始化參數信息。


ServletContext對象

  WEB容器在啓動時,它會爲每個WEB應用程序都創建一個對應的ServletContext對象,它代表當前web應用。ServletConfig對象中維護了ServletContext對象的引用,開發人員在編寫servlet時,可以通過ServletConfig.getServletContext方法獲得ServletContext對象。


由於一個WEB應用中的所有Servlet共享同一個ServletContext對象,因此Servlet對象之間可以通過ServletContext對象來實現通訊。ServletContext對象通常也被稱之爲context域對

像。

ServletContext對象應用

① 多個Servlet通過ServletContext對象實現數據共享。

② 獲取WEB應用的初始化參數。

③ 實現Servlet的轉發。(轉發之前的所有寫入都無效,response也不能提交,否則服務器會拋出異常)

④ 利用ServletContext對象讀取資源文件。

a.      得到文件路徑

b.      讀取資源文件的三種方式

c.      .properties文件(屬性文件)

用類裝載器讀取資源文件

獲取到裝載當前類的類裝載器

       ClassLoader loader =ServletContextDemo7.class.getClassLoader();

      用類裝載器裝載db.properties文件

       InputStream in =loader.getResourceAsStream("db.properties");

注意:通過類裝載器讀取資源文件的注意事項:不適合裝載大文件,否則會導致jvm內存溢出。

重點:讀取文件首先要明確是誰在調用讀取資源文件,一般肯定是jvm虛擬機,發佈到tamcat之後就是服務器在調用了;然後在寫路徑。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章