Note the following in Tim's reply: "You pass in the path relative to the
context root directory."

Since you're writing the app, you do know the path of the resource relative
to the context (read: webapp) root directory, right?

John

> -----Original Message-----
> From: Patrick Martz [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, December 17, 2002 2:02 PM
> To: 'Tomcat Users List'
> Subject: RE: File access from a servlet.
> 
> 
> Ok well that's exactly the problem. getResourceAsStream 
> requires you to
> supply the path of the resource and that is what I'm missing. 
> I did a quick
> look at ServletContext and iterated through the attributes 
> and found none
> that seemed to give me what I want. These are the attributes currently
> defined:
> 
> org.apache.catalina.jsp_classpath
> javax.servlet.context.tempdir
> org.apache.catalina.resources
> org.apache.catalina.WELCOME_FILES
> 
> None of which seems to be what I'm looking for...essentially 
> something that
> will tell me the path of my current context so I can modify 
> that path to
> access my data file. :)
> 
> 
> 
> -----Original Message-----
> From: Tim Moore [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, December 17, 2002 10:46 AM
> To: Tomcat Users List
> Subject: RE: File access from a servlet.
> 
> 
> > -----Original Message-----
> > From: Patrick Martz [mailto:[EMAIL PROTECTED]] 
> > Sent: Tuesday, December 17, 2002 1:42 PM
> > To: '[EMAIL PROTECTED]'
> > Subject: File access from a servlet.
> > 
> > 
> > Hi all.
> > 
> > I'm currently working on a java servlet with tomcat and I 
> > want it to be able to load a different data file dependent on 
> > certain parameters passed to the servlet. The problem is that 
> > if I just try to open the file with the file name (i.e. 
> > FileInputStream fin = new FileInputStream("blah.dta");) it 
> > fails to find the file. I am guessing this is because the 
> > runtime directory is different from the directory the servlet 
> > is running in? (the data file and the servlet are in the same 
> > directory, but the servlet fails to find the file still). So 
> > my question is, is there a way to get the current runtime 
> > directory for Tomcat so that I can perhaps supply a relative 
> > path to get to the file and have the servlet be able to open 
> > it? Thanks!
> > 
> > Patrick
> > 
> > P.S. For debugging purposes I HAVE tested opening of the file 
> > from a stub class and it works just fine that way, but fails 
> > from the servlet.
> > 
> 
> Rather than using FileInputStream, try
> ServletContext.getResourceAsStream.  This is the preferred method for
> accessing files within your webapp.  You pass in the path relative to
> the context root directory.  An added bonus is that this will 
> still work
> if you deploy your webapp as a WAR.
> 
> http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/Se
rvletConte
xt.html#getResourceAsStream(java.lang.String)
-- 
Tim Moore / Blackboard Inc. / Software Engineer
1899 L Street, NW / 5th Floor / Washington, DC 20036
Phone 202-463-4860 ext. 258 / Fax 202-463-4863

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

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

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

Reply via email to