Web.xml file location for Servlet initialization.

Niketu Parekh <[email protected]>
Newsgroups gmane.comp.java.sun.servlet
Message-ID <LISTSERV%[email protected]>
Hi,

I am new to JavaServlets. Learning it through the examples. I am trying to
understand how servlet initialization works?
I m using the HttpServlet.init(ServletConfig conf) method to read the
web.xml file and set few parameters using ServletConfig.getInitParameter
("") method.

As per the documentation, the web.xml file should be in \WEB-INF\
directory. But my source code is not working. I dont get the correct
parameter values using ServletConfig.getInitParameter(). Below is the
source code. I would really appreciate if someone can help me solve this
problem.

install_dir = C:\Apache\Tomcar4.1\
examples_dir = install_dir\webapps\ROOT\WEB-
INF\classes\HelloWorldExample.java
web.xml file location - install_dir\ROOT\WEB-INF\web.xml

Thanks
- Niketu

SourceCode HelloWorldExample.java -
=================================
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorldExample extends HttpServlet {
 private String message;
 private String defaultmessage = "No Message";
 private int repeats = 1;

 public void init(ServletConfig config) throws ServletException {
  super.init(config);
  message = config.getInitParameter("message");
  if(message == null)
   message = defaultmessage;

  try {
   String repeatstring = config.getInitParameter
("repeats");
   repeats = Integer.parseInt(repeatstring);
  } catch (NumberFormatException ne) {
  }
 }

 public void doGet(HttpServletRequest req, HttpServletResponse
resp) throws ServletException, IOException {
  resp.setContentType("text/html");
  PrintWriter out = resp.getWriter();
  String title = "The ShowMessage Servlet";
  out.println(ServletUtilities.headWithTitle(title) +
    "<BODY BGCOLOR=\"#FDF5E6\">\n" +
    "<H1 ALIGN=CENTER>" + title + "</H1>");

  for(int i=0; i < repeats; i++)
   out.println(message + "<BR>");

  out.println("</BODY></HTML>");
 }
}

SourceCode ServletUtilities.java -
================================
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ServletUtilities {

 public static final String docType = "<!DOCTYPE HTML PUBLIC \"-
//W3C//DTD HTML 4.0 " + "Transitional//EN\">";

 public static String headWithTitle (String title) {
 return (docType + "\n" +
  "<HTML>\n" +
  "<HEAD><TITLE>" + title + "</TITLE></HEAD>\n");
 }
}

Web.xml file -
============
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">

<web-app>
 <servlet>
  <servlet-name>
   ShowMsg
  </servlet-name>

  <servlet-class>
   coreservlets.ShowMessage
  </servlet-class>

  <init-param>
   <param-name>
    message
   </param-name>
   <param-value>
    Shibboleth
   </param-value>
  </init-param>

  <init-param>
   <param-name>
    repeats
   </param-name>
   <param-value>
    5
   </param-value>
  </init-param>
 </servlet>
</web-app>

___________________________________________________________________________
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.