Servlet初始化參數與上下文初始化參數

 Servlet初始化參數與上下文初始化參數

Servlet初始化參數:
Servlet初始化參數定義在web.xml中的一個servlet元素中,例如:
<servlet>
 <servlet-name>test</servlet-name>
 <servlet-class>com.bk.Test</servlet-class>
 <init-param>
  <param-name>default-time</param-name>
  <param-value>60</param-value>
 </init-param>
</servlet>
可以有若干個<init-param>對。
怎樣取得Servlet初始化參數?
通過ServletConfig接口的getInitParameter(java.lang.String name)方法。

getServletConfig()該方法定義在Servlet接口中,返回ServletConfig接口的引用。
所有的servlet都繼承了該方法。當容器實例化一個servlet之前,會從web.xml中讀取這個servlet的初始化參數,
並把這些參數交給ServletConfig,然後在調用init()方法時,容器會傳送這個ServletConfig的引用
到servlet。每個servlet都會有一個唯一的ServletConfig引用。一旦有了ServletConfig的引用就可以調用getInitParameter()方法來
取得我們在servlet中設置的初始化參數。

上下文初始化參數:

上下文初始化參數與Servlet初始化參數類似,區別是上下文初始化參數對整個web應用而不是Servlet初始化參數只對應一個servlet。
在web應用的整個生命週期中上下文初始化參數都存在,任意的servlet和jsp都可以隨時隨地的訪問它。
在web.xml中的配置例子如下:
<context-param>
 <param-name>default-time</param-name>
 <param-value>60</param-value>
</context-param>
上下文初始化參數對應於整個web應用,因此它不在某個servlet元素內。一個web應用有一個ServletContext,而一個servlet有一個ServletConfig。
怎樣取得上下文初始化參數?

servlet的ServletConfig對象擁有該servlet的ServletContext的一個引用,所以可這樣取得上下文初始化參數;
getServletConfig().getServletContext().getInitParameter()
也可以在servlet中直接調用getServletContext().getInitParameter(),兩者是等價的。

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