aspose file tools*
The moose likes Servlets and the fly likes Problems getting servlets to work on Tomcat 4 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "Problems getting servlets to work on Tomcat 4" Watch "Problems getting servlets to work on Tomcat 4" New topic
Author

Problems getting servlets to work on Tomcat 4

Craig Angus
Greenhorn

Joined: Mar 26, 2003
Posts: 8
I am having problems getting servlets to work on my host server.
I am using apache/tomcat 3 as my development server and the host is using apache/tomcat 4.
They have setup tomcat to pick up servlets in the following folder
www.drumpellier.com/public_html/jserv
I have tried putting a simple HelloWorld servlet in
www.drumpellier.com/public_html/jserv/WEB-INF/classes/
folder which worked fine, but when I upload the my files to the server I cant get any servlets to work.
I am hitting a servlet called Controller from the following link.
www.drumpellier.com/jserv/servlet/com.golfclub.Controller?HsMethod=1

Which then produces the following error
************************************************
HTTP Status 404 - /jserv/servlet/com.golfclub.Controller
With the description as:
description The requested resource (/jserv/servlet/com.golfclub.Controller) is not available
************************************************
The servlet is in the following folder:
www.drumpellier.com/public_html/jserv/WEB-INF/classes/com/golfclub/Controller.class
and the web.xml is in the following folder
www.drumpellier.com/public_html/jserv/WEB-INF/web.xml
the web.xml referring to this servlet is as follows
************************************************
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>Controller</servlet-name>
<servlet-class>com.golfclub.Controller</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Controller</servlet-name>
<url-pattern>/com.golfclub.Controller</url-pattern>
</servlet-mapping>
</web-app>
**************************************************
I just want to make sure that everything I have done is correct.
I think the host may not be picking up the com, golfclub, folders, but I�m not sure.
Would it be better to create a war file and put it in the classes folder?
Any help greatly appreciated as Im totally stuck!
Craig
Mike Curwen
Ranch Hand

Joined: Feb 20, 2001
Posts: 3695

the whole point of mapping servlets (or at least one of the points)... is to provide a public alias to your servlet class, so that you don't reveal to your user the package and class name; they don't really need to know this information.

It is likely that your host has disabled the /servlet/* mapping, so you will probably have to use the alias anyways.

I'd make the following change...
And call it like:

www.drumpellier.com/jserv/foo?HsMethod=1

'foo' can be replaced by anything you want.

as for this: Would it be better to create a war file and put it in the classes folder

WAR files don't go in the classes folder. They go either in a known location like the webapps folder under Tomcat's root (and since you're hosted, you probably don't have access to this folder)... or the location of a particular web-app's WAR file can be specified in server.xml (again you're hosted, so you probably don't have access to this file).
Mike Curwen
Ranch Hand

Joined: Feb 20, 2001
Posts: 3695

I'm also going to move this to Apache/Tomcat forum...

While servlet mappings are generic, the /servlet/* mapping is Tomcat-specific, and after all, your title has "Tomcat" in it.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Problems getting servlets to work on Tomcat 4