HttpServlet 从 GenericServlet 中继承了2个init()方法,其中一个是有参数的 init(ServletConfig config)
当然,ServletConfig对象也可以通过 HttpServlet对象获取,如: this.getServletConfig()
(一)ServletConfig
ServletConfig 中主要有 2个较为重要的方法:
1. String getInitParameter(String name) :此方法通过用户给出一个web.xml的用户名,来返回此变量的值,以字符串形式放回。
2. Enumeration getInitParameterNames() :此方法定义在web.xml 对应的<servlet>中所有变量的名字,以枚举变量的形式返回结果。
(二)在web.xml 中定义变量
<init-param>
<param-name>username</param-name>
<param-value>abcdefg</param-value>
</init-param>
<init-param>为定义变量的标志
<param-name>为定义变量的名字<param-value>为定义变量的值
例子:
(注意,定义变量要在某个<servlet>中定义)
(三)在HttpServlet代码中从web.xml 获取变量
获取变量要在 init(ServletConfig config)中写:
public class HttpServlet_demo extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
//获取某个变量的值
String name = config.getInitParameter("username");
System.out.println(name);
//获取在web.xml中对应servlet的全部变量的名字
Enumeration enums = config.getInitParameterNames();
while(enums.hasMoreElements()) //循环获取枚举变量中的值
{
String value = (String)enums.nextElement(); //返回所有变量的名字
System.out.println("value是"+value);
}
}
}