一、ServletConfig对象定义:
- ServletConfig是什么:ServletConfig是一个接口,位于jakarta.servlet.ServletConfig,是Servlet中的一员。
- 谁实现了这个接口?Web服务器。
- 一个Servlet对象中有一个ServletConfig对象,因为有一个init(ServletConfig servletConfig)方法。
- Servlet对象和ServletConfig对象是一对一的,不同Servlet对象的ServletConfig对象不同。
- ServletConfig对象是web服务器创建的,Servlet对象创建的同时创建了ServletConfig对象。
二、ServletConfig对象作用:
- ServletConfig对象是Servlet对象的配置信息对象。
- 每个Servlet对象有自己独特的配置信息。
- ServletConfig对象中包装的信息是:web.xml文件中
<servlet></servlet>
标签内的配置信息。 - 每个Servlet对象使用自己的ServletConfig对象获取自己的配置信息。
三、ServletConfig中的方法:
servlet的初始化参数配置信息:
<servlet>
<servlet-name>suibian</servlet-name>
<servlet-class>mypackage.FirstServlet</servlet-class>
<!--这是servlet的初始化参数配置信息-->
<init-param>
<param-name>123</param-name>
<param-value>456</param-value>
</init-param>
<!--结束-->
</servlet>
-
getServletName()
获取<servlet-name></servlet-name>
标签中的内容 -
getInitParameterNames()
获取所有<param-name></param-name>
标签中的内容,返回一个集合,遍历方法如下:
Enumeration<String> parameterNames = Config.getInitParameterNames();
while(parameterNames.hasMoreElements()){
String parameterName = parameterNames.nextElement();
}
-
getInitParameter("name")
根据<param-name></param-name>
中的内容获取对应的<param-value></param-value>
的内容。 -
getServletContext()
获取ServletContext对象。
值得注意的是,GenericServlet接口继承Servlet接口后,新加了四个方法:
getInitParameter("name")
,getInitParameterNames()
…,这四个方法分别调用了上面ServletConfig的四个同名方法。也就是说,如果我们的写的Servlet类继承了GenericServlet接口,我们就继承了这个接口的方法,我们可以用this调用(就是Servlet对象)这四个方法,不必用我们写的Servlet类对应的servletConfig来调用这四个方法。