I don't think the init parameters are available via the method you're using until after  the servlet is initialized. Try using this signature for init

public void init(ServletConfig config) throws ServletException

and then using the getParameterNames method on the ServletConfig object.



On 1/31/07, John Hawkins < hawkins_j@btconnect.com> wrote:
Hi,

My servlet isn't picking up the init params. Am I doing something wrong?

Additionally - can I change these params in the geronimo-web.xml file so they change at deployment?

My servlet init method

public void init() throws ServletException
{
super.init();
// I used to get a specific param but that failed too so I moved to this test case
Enumeration names = getServletContext().getInitParameterNames();
System.out.println("Printing out init params");
while(names.hasMoreElements())
{
System.out.println("'"+names.nextElement()+"'");
}

outputs this to stdio ->
Printing out init params

but no params !

This is the web.xml....

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<display-name>my servlet</display-name>
<description>Test servlet</description>
<distributable> </distributable>
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>mytest.MyServlet</servlet-class>
<init-param>
<description>
</description>
<param-name>myParam</param-name>
<param-value>myParamValue</param-value>
</init-param>
</servlet>
</web-app>

Here's my geronimo-web.xml... .

<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.1">
<dep:environment xmlns:dep=" http://geronimo.apache.org/xml/ns/deployment-1.1">
<dep:moduleId>
<dep:groupId>mygroup</dep:groupId>
<dep:artifactId>myartifactID</dep:artifactId>
<dep:type>war</dep:type>
</dep:moduleId>
<dep:dependencies />
<dep:hidden-classes />
<dep:non-overridable-classes />
</dep:environment>
<context-root>/mycontextroot</context-root>
</web-app>