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