Deepak A L <[EMAIL PROTECTED]> writes:

> package dd.cc;
>
> import javax.servlet.*;
> import javax.servlet.http.*;
> import java.io.*;
> import java.util.*;
> import java.lang.*;
>
> public class ReadParams extends HttpServlet{
>
>  public void init() throws ServletException{
>   ServletConfig config = getServletConfig();
>
>  //demonstrating the usage of InitParameterNames
>  getServletContext().log(" Init method called ");
>  //get the value of a initialization parameter name="ok"
>  String param = config.getInitParameter("ok");
>  getServletContext().log("config ::"+config);
>  getServletContext().log("config.getInitParameter(\"ok\") ::
> "+config.getInitParameter("ok"));
>  getServletContext().log("Initialization Parameter :: "+param);
>
>  //get a enumeration of all Initialization Parameter Names
>
>  Enumeration enum = config.getInitParameterNames();
>  for(;enum.hasMoreElements();){
>   //get the name of Init Parameter
>   String name =  (String)enum.nextElement();
>   //get the value of Init Parameter name
>   String value = config.getInitParameter(name);
>   getServletContext().log("********Enumeration example***********");
>   getServletContext().log(" Parameter Name  :: "+name);
>   getServletContext().log(" Parameter Value :: "+value);
>   getServletContext().log("**************************************");
>  }
>
>  //Initialization Parameter can be retrieved using getServletContext()
> method too.
>  String var = getServletContext().getInitParameter("Global");
>  getServletContext().log("The Value of init param via getServletContext()
> method is "+var);
>  //out.println("<b>The Value of Init Parameter is </b>"+param);
>
>   }
>    public void doPost(HttpServletRequest request, HttpServletResponse
> response)
>                                 throws ServletException, IOException{
>       doGet(request,response);
>    }
>
>    public void doGet(HttpServletRequest request,HttpServletResponse
> response)throws ServletException, IOException {
>
>    PrintWriter out = response.getWriter();
>    response.setContentType("text/html");
>    }
> }
>
> with a entry being as below in web.xml file
>
> <servlet>
>   <servlet-name>ReadParams</servlet-name>
>   <servlet-class>com.sysarris.register.action.ReadParams</servlet-class>
> </servlet>
> <servlet-mapping>
>   <servlet-name>ReadParams</servlet-name>
>   <url-pattern>/ReadParams</url-pattern>
> </servlet-mapping>
> <init-param>
>  <param-name>ok</param-name>
>  <param-value>Sysarris</param-value>
>     </init-param>
> <init-param>
>   <param-name>Global</param-name>
>   <param-value>Around the World in 80 days </param-value>
> </init-param>
>
> when i exceute the servlet  i get the following values as null even though
> there is a entry in web.xml
>
> 10/26 10:30:26 user ReadParams: init
> 10/26 10:30:26 user  Init method called
> 10/26 10:30:26 user config ::[EMAIL PROTECTED]
> 10/26 10:30:26 user config.getInitParameter("ok") :: null
> 10/26 10:30:26 user Initialization Parameter :: null
> 10/26 10:30:26 user The Value of init param via getServletContext() method
> is null
>
> help needed

Your init-param elements are not declared inside the servlet element.

You can either use init-params or context-params.

Here is what context params look like:

  <servlet>
    <servlet-name>ReadParams</servlet-name>
    <servlet-class>com.sysarris.register.action.ReadParams</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ReadParams</servlet-name>
    <url-pattern>/ReadParams</url-pattern>
  </servlet-mapping>
  <context-param>
   <param-name>ok</param-name>
   <param-value>Sysarris</param-value>
  </context-param>
  <context-param>
    <param-name>Global</param-name>
    <param-value>Around the World in 80 days </param-value>
  </context-param>

And the code to read the parameters:

  public void init ()
  {
    String globalValue =
          getServletContext().getInitParameter("Global");
  }


Or you can have parameters per-servlet:

  <servlet>
    <servlet-name>ReadParams</servlet-name>
    <servlet-class>com.sysarris.register.action.ReadParams</servlet-class>
    <init-param>
     <param-name>ok</param-name>
     <param-value>Sysarris</param-value>
    </init-param>
    <init-param>
      <param-name>Global</param-name>
      <param-value>Around the World in 80 days </param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>ReadParams</servlet-name>
    <url-pattern>/ReadParams</url-pattern>
  </servlet-mapping>

And the code to read them:

  public void init ()
  {
     String globalValue =
         getServletConfig().getInitParameter("Global");
  }


Use context-parameters for webapp variables and servlet init
parameters for overrides and servlet specific features.


--
Nic Ferrier
http://www.tapsellferrier.co.uk

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to