ServletConfig
ServletConfig是一個接口,它代表的是Servlet的配置信息,對應着web.xml文件中的<servlet>標籤。
在調用init方法之前,服務器已經根據當前Servlet在web.xml的配置信息創建了一個ServletConfig對象,最後在調用init()方法時將該對象作爲參數傳遞給init()方法。
web.xml文件中每一個<servlet>元素都對應一個ServletConfig對象。
l ServletConfig實例是由Tomcat服務器創建,然後作爲參數通過init()方法傳遞給Servlet;
l ServletConfig中封裝的是Servlet的配置信息,可以通過它來獲取web.xml文件中<servlet-name>標籤的內容(通過getServletName()方法)等其他配置信息。
l 一個Servlet類對應一個ServletConfig對象
ServletConfig接口有四個抽象方法,如下:
方法名 |
方法說明 |
String getInitParameter(String name) |
該方法是通過參數名獲取Servlet在web.xml文件中配置的初始化參數。 |
Enumeration getInitParameterNames() |
該方法是獲取Servlet在web.xml文件中配置的所有初始化參數的名稱。 |
ServletContext getServletContext() |
該方法是獲取ServletContext對象,後面會詳細講解該對象。 |
String getServletName() |
該方法是獲取Servlet在web.xml文件中配置的名稱,即<servlet-name>元素的內容。 |
示例如下:在init()方法中獲取初始化參數
@Override
publicvoid init(ServletConfig servletConfig) throws ServletException {
System.out.println("init()......");
System.out.println("initparam name =:"+servletConfig.getInitParameter("name"));
System.out.println("servletname is:"+servletConfig.getServletName());
//獲取所有的初始化參數名稱
Enumeratione=servletConfig.getInitParameterNames();
while(e.hasMoreElements()){//遍歷所有初始化參數名稱
System.out.println("initParamname:");
System.out.println(e.nextElement());
}
}
ServletConfig對象最常用的方法是getServletContext(),我們在很多時候都會使用ServletContext。