ServletConfig接口和示例
servlet容器在servlet初始化時爲每個servlet創建SerrvletConfig對象,給servlet傳遞信息。這個對象
可以用於從部署描述符文件中獲取例如參數名稱和參數值這樣的配置信息。
ServletConfig接口中的方法:
public String getInitParameter(String name): 返回指定參數的String類型的值,如果指定的參數在web.xml中不存在則返回null.
public Enumeration getInitparameterNames(): 返回所有參數的枚舉類型。
public String getServletName(): 返回servlet實例名稱。
public ServletContext getServletContext(): 返回一個ServletContext對象。
例子:
在這個例子中,我們使用兩個方法從web.xml中獲取所有的參數名稱和對應的值。
getInitParameterNames()方法返回一個所有參數的枚舉類型,通過使用getInitParameter()方法我們可以從web.xml獲取對應參數的值
DemoServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Enumeration;
public class DemoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
PrintWriter pwriter = response.getWriter();
ServletConfig sc=getServletConfig();
Enumeration<String> e=sc.getInitParameterNames();
String str;
while(e.hasMoreElements()) {
str=e.nextElement();
pwriter.println("<br>Param Name: "+str);
pwriter.println(" value: "+sc.getInitParameter(str));
}
}
}
web.xml
<web-app>
<display-name>BeginnersBookDemo</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>DemoServlet</servlet-class>
<init-param>
<param-name>MyName</param-name>
<param-value>Chaitanya</param-value>
</init-param>
<init-param>
<param-name>MyWebsite</param-name>
<param-value>Beginnersbook.com</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/scdemo</url-pattern>
</servlet-mapping>
</web-app>