I've finally nailed down what I think my problem with Tomcat 5.5.16 and
greater is, and condensed it into this easy-to-use, FunSize-ed post.

I have a webapp that is at the root of my appBase, defined in a Context
element in my server.xml, like so:

<Host name="www.mysite.com" appBase="/web/mysite" unpackWARs="true"
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

        <Context path="" docBase="" reloadable="true" crossContext="true">
                <Parameter name="propfile" value="myProps.properties"/>
        </Context>

</Host>

I have a servlet, myServlet, defined in my webapp's web.xml (which is
located on the filesystem at /web/mysite/WEB-INF/web.xml) and mapped to
/servlets/myServlet (accessible and working at
www.mysite.com/servlets/myServlet)

I have a JSP that lives on the filesystem at /web/mysite/myDir/myPage.jsp,
to be accessed at www.mysite.com/myDir/myPage.jsp and contains code similar
to this:

<% ServletContext ctx = pageContext.getServletContext().getContext("/");
        String myUrl = "/servlets/myServlet"; 
        RequestDispatcher dispatcher = ctx.getRequestDispatcher(myUrl); 
        dispatcher.include(request, response);
        out.clear();
        out = pageContext.pushBody(); %>

The global web.xml is untouched, and there's really only my servlet mappings
in the webapps web.xml.

With this config, the www.mysite.com/myDir/myPage.jsp works great on 5.5.15
and below.

On 5.5.16+ I get a NullPointerException, that alludes to the
RequestDispatcher line. I'm guessing that is because getServletContext() is
returning null rather than a root context, or something...

If I copy the myPage.jsp to the root (/web/mysite/myPage.jsp) on 5.5.16+, it
works fine.

 I have tried replacing the path="" with path="/" from the Context
definition and it's exactly the same. Same goes for removing the docBase="".
Changing the getContext("/") in the jsp to getContext("") produces the same
result, as does removing it and just using getServletContext().
The servlet doesn't appear to be the problem, as I can replace it with the
simplest of servlets and get the same problem.

I'm running Apache 1.3.34 with mod_jk 1.2.15, and the appropriate JkMounts,
workers, etc., oh and yes, I'm blocking access to WEB-INF and META-INF in my
Apache config. I know it's a bit wonky, but I'm trying to shoehorn an old,
large collection of servlets that run great on Apache + JServ into a Tomcat
configuration. This is the last little nagging problem.

Many thanks in advance for any help.
-corey

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to