JavaWeb-ServletContext物件
阿新 • • 發佈:2018-10-31
1.什麼是ServletContext物件
1.什麼是ServletContext物件
ServletContext代表是一個web應用的環境(上下文)物件,ServletContext物件 內部封裝是該web應用的信
息,ServletContext物件一個web應用只有一個
問題:一個web應用有幾個servlet物件?----多個.建立多少個就有多少個.
ServletContext物件的生命週期?
建立:該web應用被載入(伺服器啟動或釋出web應用(前提,伺服器啟動狀態))
銷燬:web應用被解除安裝(伺服器關閉或移除該web應用)
2.怎樣獲得ServletContext物件
2.怎樣獲得ServletContext物件
1)ServletContext servletContext = config.getServletContext();
2)ServletContext servletContext = this.getServletContext();
第一張方式和第二張方式本質上是一樣的,但是第二種更便捷.
3.ServletContext的作用
(1)獲得web應用全域性的初始化引數 a. web.xml中配置初始化引數 <!-- 配置全域性初始化引數 --> <context-param> <param-name>driver</param-name> <param-value>com.mysql.jdbc.Driver</param-value> </context-param> b. 通過context物件獲得引數 // 獲得ServletContext物件 ServletContext context = getServletContext(); // 獲得初始化引數 String initParameter = context.getInitParameter("driver"); System.out.println(initParameter);
(2)獲得web應用中任何資源的絕對路徑(重要 重要 重要)
方法:String path = context.getRealPath(相對於該web應用的相對地址);
(3)ServletContext是一個域物件(重要 重要 重要) 什麼是域物件?什麼是域? 儲存資料的區域就是域物件 ServletContext域物件的作用範圍:整個web應用(所有的web資源都可以隨意向servletcontext域中存取 資料,資料可以共享) 域物件的通用的方法: setAtrribute(String name,Object obj); 儲存資料 getAttribute(String name); 取出資料 removeAttribute(String name); 刪除資料