tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig R. McClanahan" <>
Subject Re: Why a JNDI URL from getServletConfig().getResource() in Tomcat
Date Fri, 03 Jan 2003 20:55:11 GMT

On Fri, 3 Jan 2003, Trevor Porter wrote:

> Date: Fri, 03 Jan 2003 12:33:56 -0800
> From: Trevor Porter <>
> Reply-To: Tomcat Users List <>
> To:
> Subject: Why a JNDI URL from getServletConfig().getResource() in Tomcat
> I'm trying to read in a configuration file I have stored in my /WEB-INF
> directory from my servlet init() using
> getServletConfig().getResource(...) as follows:
> public void init() throws ServletException
> {
>     ...
>     String config = getServletConfig().getInitParameter("config");
>     URL url = getServletContext().getResource(config);
>     ...
> }
> If I set the config init parameter to something like this (the
> /WEB-INF/test.xml file does exist):
>     <init-param>
>       <param-name>config</param-name>
>       <param-value>/WEB-INF/test.xml</param-value>
>     </init-param>
> I get back the following jndi URL from getResource():
>    jndi:/localhost/sandbox/WEB-INF/test.xml
> The same code running under resin returns a file URL as I would expect.

The format of the URL being returned is totally up to the container -- the
only requirement is that the container must be able to resolve this URL
and give you back an input stream from it.  (Besides, a file: URL would
not work if you ran the webapp directly from a WAR file :-).

> The problem is that if I replace the getResource() call with a
> getResourceAsStream() under tomcat, the input stream will be empty.  Can
> anyone out there explain this behavior and how to work around it?

As long as the "/WEB-INF/test.xml" resource exists in your webapp, my
experience has been that Tomcat always lets you read it.  Indeed, Struts
relies on this to read its own config file, and lots of Struts apps run
quite happily on Tomcat.

Could you create a small test case that illustrates the problem, and add
it as an attachment to a bug report in the bug tracking system?


To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message