ServletConfig 接口
public interface ServletConfig {
public String getServletName();
public ServletContext getServletContext();
public String getInitParameter(String name);
public Enumeration<String> getInitParameterNames();
}
getServletName():获得 Servlet 在 web.xml 中配置的name的值
getServletContext():获取 Servlet 上下文的引用
getInitParameter(String name):获得 Servlet 的初始化参数的值
getInitParameterNames();获得所有 Servlet 的初始化参数的名称
在 web.xml 中为 Servlet 配置初始化参数
在 Servlet 的配置文件 web.xml 中,可以使用一个或多个 <init-param> 标签为 Servlet 配置一些初始化参数。
<servlet>
<servlet-name>ServletDemo</servlet-name>
<servlet-class>com.noteligible.servlet.ServletDemo</servlet-class>
<init-param>
<param-name>account</param-name>
<param-value>root</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>123</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo</servlet-name>
<url-pattern>/ServletDemo</url-pattern>
</servlet-mapping>
通过 ServletConfig 获取初始化参数
当 Servlet 在web.xml 中配置了初始化参数后,web 容器在创建 Servlet 实例对象时,会自动将这些初始化参数封装到 ServletConfig 对象中,并在调用 Servlet 的 init 方法时,将 ServletConfig 对象传递给 Servlet,进而通过 ServletConfig 对象就可以得到当前 servlet 的初始化参数信息。
public class ServletDemo extends HttpServlet {
private ServletConfig config = null;
@Override
public void init(ServletConfig config) throws ServletException {
this.config = config;
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取指定的初始化参数
String account = config.getInitParameter("account");
resp.getWriter().print(account);
//获取所有的初始化参数
Enumeration<String> e = config.getInitParameterNames();
while (e.hasMoreElements()) {
String name = e.nextElement();
String value = config.getInitParameter(name);
resp.getWriter().print(name + " = " + value);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}