Just want to thank everyone for their help and discussion on this problem.
And, I wanted to let everyone know what I found out. Milt, it was your
question about my Web-inf directory and whether it was all uppercase or not
that cracked it.

I originally created that directory as "Web-inf" but apparently on Linux,
Tomcat expects this directory to be
"WEB-INF." Once I renamed this directory and changed the <Location> tag in
mod_jk.conf appropriately, I was able to get the servlet mappings for the
context I added to work.

One thing to note, Tomcat for NT is not picky about this, because on my NT
deployment of Tomcat, I have the WEB-INF directory named "web-inf" and
everything works fine.

In summary, here are the two things that I had to fix to get my context's
servlet mappings working on Linux:

* add "JkMount /[deployment directory]/* ajp13" to the mod_jk.conf file.
(This originally solved the problem of the /test servlets not working, and I
had to add it to my context as well.)
* ensure that WEB-INF is all uppercase.

Thanks again,
--Kyle

-----Original Message-----
From: Milt Epstein [mailto:[EMAIL PROTECTED]]
Sent: Sunday, April 01, 2001 9:44 PM
To: '[EMAIL PROTECTED]'
Subject: RE: 2nd Post: Servlets and mod_jk problem


On Fri, 30 Mar 2001, Kyle Tippetts wrote:

> Milt,
> 
> I made the changes that Jeff did and I can now get to the /test
> servlets, but whenever I add my own context and try it (I even
> simulated one of the examples in the /test directory, I still get a
> 404 not found from tomcat.  Here's what I have in my simulation
> (note that the context does in fact get added when tomcat
> starts....)

We may be going around in circles here, but:

What was the URL you tried?  mydomain.com/tst/foo/bar/myServlet?  And
what is the full text of the tomcat log 404 error message?

Also, I note you have "Web-inf" in the full path of your
servlet/classes directory below -- is that really what it is, or are
you just being lazy typing "WEB-INF" (because I believe it's supposed
to be ALL CAPS)?

Not sure what else to suggest at this point.  Must be some little
thing we're missing.


> * mod_jk.conf
>       Alias /tst "/opt/jakarta-tomcat-3.2.1/webapps/tst"
>       JkMount /tst/* ajp13
>       JkMount /tst/servlet/* ajp13
> 
> * web.xml
>       <webapp>
>         <servlet>
>          <servlet-name>
>             test
>          </servlet-name>
>          <servlet-class>
>              com.tst.TestServlet
>          </servlet-class>
>         </servlet>
> 
>         <servlet-mapping>
>           <servlet-name>
>              test
>           </servlet-name>
>           <url-pattern>
>              /foo/bar/*
>           </url-pattern>
>         </servlet-mapping>
>        </webapp>
> 
> * TestServlet.class sits at
> /opt/jakarta-tomcat-3.2.1/webapps/tst/Web-inf/classes/com/tst
> 
> Thanks
> --Kyle
> 
> -----Original Message-----
> From: Milt Epstein [mailto:[EMAIL PROTECTED]]
> Sent: Friday, March 30, 2001 3:48 PM
> To: '[EMAIL PROTECTED]'
> Subject: RE: 2nd Post: Servlets and mod_jk problem
> 
> 
> On Fri, 30 Mar 2001, Kyle Tippetts wrote:
> 
> > Yes, tried this:
> >     mydomain.com/test/foo/bar/myServlet
> > and it still didn't work. Now, if I do
> > mydomain.com/test/servlet/requestMap.Servlet1, I can access it
> > (obviously), but again, it really appears that servlet mappings
> > aren't working....
> 
> Now again, when this doesn't work, is it an apache thing or a tomcat
> thing?  What I'm trying to get at is, is apache forwarding the request
> to tomcat.  That will help isolate where the problem is at.  In
> particular, if it's an apache thing, it means the request isn't even
> getting to tomcat, so it probably has to do with the relevant Mount
> (ApJServMount, ApJkMount) directives in the tomcat/apache conf file
> (or, more accurately, the lack of such).  This is a problem I ran into
> when I was setting up some stuff.
> 
> Did you see Jeff Kilbride's recent post?  Apparently he was able to
> get it to work by adding an appropriate ApJkMount directive.
> 
> This does seem to be one of the less clear/less well-documented
> aspects of setting tomcat up.
> 
> 
> > -----Original Message-----
> > From: Milt Epstein [mailto:[EMAIL PROTECTED]]
> > Sent: Friday, March 30, 2001 2:43 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: 2nd Post: Servlets and mod_jk problem
> > 
> > 
> > On Fri, 30 Mar 2001, Jeff Kilbride wrote:
> > 
> > [ ... ]
> > > Here's the servlet-mapping from web.xml file that comes with the
> > > distribution:
> > > <servlet>
> > >     <servlet-name>
> > >         servlet1
> > >     </servlet-name>
> > >     <servlet-class>
> > >         requestMap.Servlet1
> > >     </servlet-class>
> > > </servlet>
> > > 
> > > <servlet-mapping>
> > >     <servlet-name>
> > >         servlet1
> > >     </servlet-name>
> > >     <url-pattern>
> > >         /foo/bar/*
> > >     </url-pattern>
> > > </servlet-mapping>
> > > 
> > > Here's a snippet from my tomcat.log when I try to pull up
> > > mydomain.com/test/servlet/foo/bar/myServlet:
> > > 985983892264 - Ctx( /test ): 404 R( /test + /servlet/foo +
> /bar/myServlet)
> > > null
> > 
> > Did you try the URL:
> > 
> > mydomain.com/test/foo/bar/myServlet
> > 
> > i.e. without the "/servlet"?  My impression is that the url-pattern's
> > in servlet-mapping's are meant to follow the context part of the URL,
> > and that you don't need to include "/servlet" (although you do need to
> > include it if you are just using the servlet-name or the fully
> > qualified servlet-class).  That is, part of the point of using
> > servlet-mapping's is so you don't need to have the "/servlet" in the
> > URL.  This might explain some of your apparent anomalies when using
> > "test" (you had it both as the servlet-name and the url-pattern in a
> > servlet-mapping, IIRC).
> > 
> > 
> > > This mapping is supposed to map everything under /servlet/foo/bar/ to
> > > servlet1 -- but as you can see, Tomcat is saying /servlet/foo, with
> extra
> > > path info /bar/myServlet, doesn't exist. When I pull up
> > > mydomain.com/test/servlet/requestMap.Servlet1 or
> > > mydomain.com/test/servlet/servlet1, everything works as it should. So,
> > > Tomcat is not paying attention to the servlet-mapping entry.
> > > 
> > > I think this is a problem, unless somebody has an explanation. I'm out
> of
> > > ideas.
> > [ ... ]
> 
> Milt Epstein
> Research Programmer
> Software/Systems Development Group
> Computing and Communications Services Office (CCSO)
> University of Illinois at Urbana-Champaign (UIUC)
> [EMAIL PROTECTED]
> 

Milt Epstein
Research Programmer
Software/Systems Development Group
Computing and Communications Services Office (CCSO)
University of Illinois at Urbana-Champaign (UIUC)
[EMAIL PROTECTED]

Reply via email to