Hi there,
This seem a very curly problem. Have got some
servlet specific parameters in the web.xml. For some reason when the servlet is loaded on startup I am able to get the parameters using the getInitParameter("xyz") method. But for some reason cannot seem to get this when the servlet is initialised on first visit.
The code:
public class TestServlet extends HttpServlet {
// works only if the servlet is loaded on startup but does not come by when a request is made
public void init(){
ServletConfig servletConfig = getServletConfig();
System.out.println("Servlet Config object in init "+servletConfig);
System.out.println("USERID " + servletConfig.getInitParameter("userid"));
System.out.println("USERNAME " + servletConfig.getInitParameter("username"));
}
// does not show at all
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,
IOException
{
ServletConfig sc = getServletConfig();
System.out.println("Servlet Config object in service "+sc);
System.out.println("USERID " + sc.getInitParameter("userid"));
System.out.println("USERNAME " + sc.getInitParameter("username"));
}
}
Web.xml
<servlet>
<servlet-name>TestServletName</servlet-name>
<servlet-class>TestServlet</servlet-class>
<init-param>
<param-name>userid</param-name>
<param-value>dummy</param-value>
</init-param>
<init-param>
<param-name>username</param-name>
<param-value>John</param-value>
</init-param>
</servlet>
Thanks,
Jack