----- Original Message -----
From: "Wagoner, Mark" <[EMAIL PROTECTED]>
Subject: RE: Urgent Re: Newbie: Servlet under Windows does not run


> What URL are you using to get to the servlet?

I have tried a very wide range of URLs.  According to all of the
documentation the one that should work is
http://localhost/servlet/Census.CensusQuery  That is using the class name.
However when that failed I also tried  /servlet/Census/CensusQuery,
and  /servlet/CensusQuery.  Since in my web.xml file, which I posted
earlier, the name of the servlet, as opposed to the class, was Census1901 I
also tried /servlet/Census1901.  I have also tried using URL mapping
specified in the
WEB-INF/web.xml file.  In any event the bottom lime is that when I request
the above URL TomCat does go looking for my class.  It just can't seem to
find it!

I know that I must be doing something wrong, because nobody else seems to be
having any difficulty running servlets, but this is driving me crazy.  I
have been trying everything I can think of for more than a week and  TomCat
keeps claiming that it can't find the class.  I have read the documentation
over and over again.  I have gone with a fine tooth comb through the
examples trying to see what they are doing that is different from what I am
doing.  I just don't understand why this is so bloody difficulty.

Just to put every bit of the documentation of this problem in one place:

The first few lines of my servlet are:

package Census;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class CensusQuery extends HttpServlet {


which I compile using the following .bat file:

set PATH=C:\jdk1.3.1\bin;%PATH%
set
CP=D:\jakarta-tomcat-3.3a\lib\common\servlet.jar;WEB-INF\classes;%CLASSPATH%
 javac -d WEB-INF/classes -classpath %CP% ConnectionPool.java | more
 javac -d WEB-INF/classes -classpath %CP% DBResults.java | more
 javac -d WEB-INF/classes -classpath %CP% DriverUtilities.java | more
 javac -d WEB-INF/classes -classpath %CP% DatabaseUtilities.java | more
 javac -d WEB-INF/classes -classpath %CP% ServletUtilities.java | more
 javac -d WEB-INF/classes -classpath %CP% CensusQuery.java | more
jar cf Census.war *.html WEB-INF


The .war file this produces contains:

D:\MyPrograms\JavaProgs\CensusServlet>jar -tf Census.war
META-INF/
META-INF/MANIFEST.MF
CensusQuery.html
WEB-INF/
WEB-INF/classes/
WEB-INF/classes/Census/
WEB-INF/classes/Census/ConnectionPool.class
WEB-INF/classes/Census/DBResults.class
WEB-INF/classes/Census/DriverUtilities.class
WEB-INF/classes/Census/DatabaseUtilities.class
WEB-INF/classes/Census/ServletUtilities.class
WEB-INF/classes/Census/CensusQuery.class
WEB-INF/web.xml

The web.xml file is:

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

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd";>

<web-app>
    <display-name>My Web Application</display-name>
    <description>
      This is version X.X of an application to perform
      a wild and wonderful task, based on servlets and
      JSP pages.  It was written by Dave Developer
      ([EMAIL PROTECTED]), who should be contacted for
      more information.
    </description>

    <servlet>
        <servlet-name>
            Census1901
        </servlet-name>
        <servlet-class>
            Census.CensusQuery
        </servlet-class>

        <init-param>
            <param-name>DbVendor</param-name>
     <param-value>mysql</param-value>
        </init-param>
        <init-param>
     <param-name>Url</param-name>
     <param-value>localhost</param-value>
        </init-param>
        <init-param>
     <param-name>DbName</param-name>
     <param-value>Census</param-value>
        </init-param>
        <init-param>
     <param-name>UserName</param-name>
     <param-value>anonymous</param-value>
        </init-param>
        <init-param>
     <param-name>Password</param-name>
     <param-value>none</param-value>
        </init-param>
        <init-param>
     <param-name>InitConnections</param-name>
     <param-value>10</param-value>
        </init-param>
        <init-param>
     <param-name>MaxConnections</param-name>
     <param-value>10</param-value>
        </init-param>

    </servlet>
<!--
    <servlet-mapping>
        <servlet-name>
     Census1901
        </servlet-name>
        <url-pattern>
     /Census
        </url-pattern>
    </servlet-mapping>
    -->
</web-app>

and the relevant lines of the log file under TomCat 4.0.3 are:

2002-03-17 14:52:33 StandardHost[localhost]: Installing web application at
context path /Census from URL
jar:file:D:\jakarta-tomcat-4.0.3\webapps\Census.war!/
2002-03-17 14:52:34 WebappLoader[/Census]: Deploying class repositories to
work directory D:\jakarta-tomcat-4.0.3\work\localhost\Census
2002-03-17 14:52:34 StandardManager[/Census]: Seeding random number
generator class java.security.SecureRandom
2002-03-17 14:52:34 StandardManager[/Census]: Seeding of random number
generator has been completed
2002-03-17 14:52:34 StandardWrapper[/Census:default]: Loading container
servlet default
2002-03-17 14:52:34 default: init
2002-03-17 14:52:34 StandardWrapper[/Census:invoker]: Loading container
servlet invoker
2002-03-17 14:52:34 invoker: init
2002-03-17 14:52:34 jsp: init
2002-03-17 14:52:55
StandardWrapper[:org.apache.catalina.INVOKER.Census.CensusQuery]: Marking
servlet org.apache.catalina.INVOKER.Census.CensusQuery as unavailable
2002-03-17 14:52:55 invoker: Cannot allocate servlet instance for path
/servlet/Census.CensusQuery
javax.servlet.ServletException: Wrapper cannot find servlet class
Census.CensusQuery or a class it depends on




--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>

Reply via email to