一、区别
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的引用。
网友评论