#1
  1. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Mar 2003
    Posts
    6
    Rep Power
    0

    Question Problems getting servlets to work on Tomcat 4


    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

    http://www.drumpellier.com/public_ht...B-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.

    http://www.drumpellier.com/jserv/ser...ler?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:

    http://www.drumpellier.com/public_ht...ntroller.class

    and the web.xml is in the following folder

    http://www.drumpellier.com/public_ht...EB-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
  2. #2
  3. No Profile Picture
    Clueless llama
    Devshed Regular (2000 - 2499 posts)

    Join Date
    Feb 2001
    Location
    Lincoln, NE. USA
    Posts
    2,353
    Rep Power
    117
    You can only request servlets by class if the server has an InvokerServlet loading. Some do, some don't. The InvokerServlet allows you to request servlets by using the
    Code:
    www.hostname.com/servlet/package.to.servlet.className
    convention. Since that is how you are requesting it, maybe theirs does not have this InvokerServlet enabled.

    However, you should not need it. You have a url mapping specified in the web.xml. You should be able to request the servlet using the url
    Code:
    http://www.drumpellier.com/jserv/com.golfclub.Controller?HsMethod=1
    assuming 'jserv' is the context root they have you set up under. You could change the url for this servlet to
    Code:
    http://www.drumpellier.com/jserv/Controller?HsMethod=1
    by changing the web.xml to read:
    Code:
    <?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>/Controller</url-pattern>
    </servlet-mapping>
    </web-app>
    HTH

IMN logo majestic logo threadwatch logo seochat tools logo