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>