一、區別
1、定義
? ?( 1)ServletConfig:Servlet的配置對象,容器在初始化Servlet時通過它傳遞信息給Servlet。
? ?( 2)ServletContext:上下文對象,提供了一系列方法供Servlet與Web容器交互。
2、創建時機
? ? (1)ServletConfig:在容器初始化Servlet的時候,并為其提供上下文初始化參數的名/值對的引用。
? ? (2)ServletContext:容器啟動的時候,并為其提供Servlet初始化參數的名/值對的引用。
3、作用范圍(可見性)
? ? (1)ServletContext:每個JVM中每個Web應用一個ServletContext。
? ? (2)ServletConfig:每個JVM中每個Web應用的每個Servlet一個ServletConfig。
4、Servlet中的訪問方法
??? 1)ServletConfig:getServletConfig().getInitParameter(“name”)。
??? 2)ServletContext:getServletContext().getInitParameter(“name”)。
二、個性
1、關于ServletConfig
? ?(1)容器初始化Servlet時,會從DD中讀出Servlet的初始化參數并為每個Servlet創建一個唯一的ServletConfig對象(保存有初始化參數的引用),然后把ServletConfig對象當做參數傳遞給Servlet的init()。
? ?( 2)由上述1推出: Servlet初始化前(比如構造函數中)不能使用Servlet的初始化參數(通過ServletConfig)。Servlet的初始化參數只會讀一次,就是在容器初始化Servlet的時候。
? ?( 3)ServletConfig中保存有ServletContext的引用。