Servlet容器初始化一个servlet对象时,会为这个servlet对象创建一个servletConfig对象。在servletConfig对象中包含了servlet的初始化参数信息。此外,servletConfig对象还与servletContext对象关联。Servlet容器在调用servlet对象的init(ServletConfig config)方法时,会把servletConfig对象当做参数传递给servlet对象。Init(ServletConfig config)方法会使得当前servlet对象与servletConfig对象建立关联关系.一般不会使用这种方法的。而是调用this.Getservletconfig servletConfig接口中定义了一下方法。
Servlet容器初始化一个servlet对象时,会为这个servlet对象创建一个servletConfig对象。在servletConfig对象中包含了servlet的初始化参数信息。
serevletconfig是跟整个servlet有关的,跟客户端是否存在无关。下面就是各个重要的对象的关系,也就是说,建立了servletconfig之后,你的client关闭了,但是只要服务器开着,其他的客户端也是可以访问这个servletconfig的。 Httpservelrtrequest 和 httpserveltresponse Httpsession Servletconfig Servletcontext
1) 每一个Servlet中都有一个ServletConfig
2) api
this.getServletConfig()-ServletConfig //获取ServletConfig对象
getInitParameter(String param)-String //获取数据
3)在Servlet的配置文件中,可以使用一个或多个
当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。
ServletContext是整个web项目应用程序运行后的代表对象。可以通过ServletConfig的getServletContext() 的方法得到,然后可以用该对象取得整个应用程序的相关资源或者信息。
this.getServletContext()-ServletContext //获取ServletContext对象
setAttribute(String,String); //存数据
getAttribute(String)-String //获取数据
getInitParameter(String param)-String //获取数据
①ServletConfig用于封装servlet的配置信息。仅对具体的某一个Servlet有效并且可访问,通过在web.xml中配置该Servlet的启动信息。
配置方法:
则该配置只针对Servlet2,使用ServletConfig对象读取
ServletConfig config = this.getServletConfig();
String value = config.getInitParameter("charset");
②ServletContext用于多种用途,是全局对象,任何Servlet都可以访问。
其用途分为:
a.多个web组件之间使用它实现数据共享,因为它是全局对象
getAttribute()/setAttribute() 获取域信息/绑定域信息
b.获取到整个web应用的配置信息
配置信息在web.xml中
此时可以调用String username=this.getServletContext.getInitParamter("username");
c.实现转发(不过一般转发使用request对象去做)
d.读取资源文件(这里有路径方面的问题:/表示当前web应用)。