1. 程式人生 > >JavaWeb-ServletContext物件

JavaWeb-ServletContext物件

 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);    刪除資料