ServletConfig’s main job is to give you init parameters. It can also give you a ServletContext, but we’ll usually get a context in a different way, and the getServletName() method is rarely useful.
In the DD (web.xml) file:
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>BeerParamTests</servlet-name> <servlet-class>com.example.TestInitParams</servlet-class> <init-param> <param-name>adminEmail</param-name> <param-value>[email protected]</param-value> </init-param> <init-param> <param-name>mainEmail</param-name> <param-value>[email protected]</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>BeerParamTests</servlet-name> <url-pattern>/Tester.do</url-pattern> </servlet-mapping> </web-app>
In a servlet class:
package com.example; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class TestInitParams extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("test init parameters<br>"); java.util.Enumeration e = getServletConfig().getInitParameterNames(); while(e.hasMoreElements()) { out.println("<br>param name = " + e.nextElement() + "<br>"); } out.println("main email is " + getServletConfig().getInitParameter("mainEmail")); out.println("<br>"); out.println("admin email is " + getServletConfig().getInitParameter("adminEmail")); } }