----- 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]>
