Joe wrote:

> I'm not getting any exceptions on startup, and the exact war file that I'm
pointing is found because it's serving HTML
> and even my servlet just fine.
> But when I get a ServletContext, it's null. I've got a set of tomcat jars
in the classpath (catalina, annorations-api,
> tomcat-coyote, tomcat-juli, servlet-api)


I don't know if you are crossing contexts or not, but it doesn't look like
you setCrossContext(true) on the context you created.  Should you?

The API only says the following for setCrossContext(boolean crossContext):
"Set the "allow crossing servlet contexts" flag."  However, the Tomcat
configuration reference seems to state that all calls to getContext will
return null unless you set the context's crossContext parameter to true.
When the parameter is true, the configuration reference specifically states
that other contexts will have access through the ServletContext.getContext()
method.  When it is set to false, the reference no longer mentions other
contexts, it states that getContext() will always return null.  I'm assuming
that the setCrossContext method and crossContext parameter have the same
effect.

I don't know if any of this applies in your case.



>From http://tomcat.apache.org/tomcat-6.0-doc/api/index.html:

setCrossContext
public void setCrossContext(boolean crossContext)Set the "allow crossing
servlet contexts" flag. 

Specified by:
setCrossContext in interface Context
Parameters:
crossContext - The new cross contexts flag



>From http://tomcat.apache.org/tomcat-6.0-doc/config/context.html:

crossContex:  Set to true if you want calls within this application to
ServletContext.getContext() to successfully return a request dispatcher for
other web applications running on this virtual host. Set to false (the
default) in security conscious environments, to make getContext() always
return null.
  
Bill

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
Joe Walker
Sent: Tuesday, July 15, 2008 10:59 AM
To: users@tomcat.apache.org
Subject: Embedded Tomcat

Maybe I missed some docs somewhere, but my embedded Tomcat isn't working
properly.
I doing essentially this:

Embedded embedded = new Embedded();

embedded.setCatalinaBase(".");

Engine engine = embedded.createEngine();


Host host = embedded.createHost("localhost", ".");

engine.addChild(host);

Context context = embedded.createContext("/dwr", "target/ant/web/demo");

host.addChild(context);


embedded.addEngine(engine);


Connector connector = embedded.createConnector("localhost", 8080, false);

embedded.addConnector(connector);

embedded.start();

And my web-app starts OK, however the ServletContext seems to be null, so the
web-app fails.

I'm not getting any exceptions on startup, and the exact war file that I'm
pointing is found because it's serving HTML and even my servlet just fine.
But when I get a ServletContext, it's null. I've got a set of tomcat jars in
the classpath (catalina, annorations-api, tomcat-coyote, tomcat-juli,
servlet-api)

Any clues where to look?

Joe.

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to