first of all, if WEB-INF/files is where you *always* want to write stuff, why not do something more portable like this:
<servlet> <servlet-name>parts</servlet-name> <servlet-class>PartsDepotServlet</servlet-class> <init-param> <param-name>physicalFilePath</param-name> <param-value>WEB-INF/files</param-value> </init-param> </servlet> Then, in the init() of your servlet, do: String contextPath = getServletContext().getRealPath("/"); String filePath = getInitParameter"physicalFilePath"); String systemFilePath = filePath.replace('/', File.separatorChar); File log4jFile = new File(contextPath+systemFilePath); Now you never have to touch your web.xml again no matter what system you run on and no matter where your app actually exists on that system. Second of all, be very careful when you do this. You cannot assume that you will be able to write to the WEB-INF directory of your webapp. If you run directly from a .war file, File IO will be impossible to that area because it will exist in an archive, not on the file system. So, just make sure you are running your app out of a directory. As for file IO, you could set a system property with the path generated by the code above and use that system property when doing File IO. I'm not sure how it would be done automatically, but I think it is possible since a lot of IDE's do a similar thing. Jake At 09:02 AM 6/30/2002 -0400, you wrote: >Hi Folks, > >I have a servlet, running in Tomcat 4.0.3, which reads in files and >writes files. Currently it does the reading and writing to the folder >where Tomcat was started. I would like to have control over where the >servlet reads and writes. > >My plan for controlling where IO occurs is to incorporate into my >webapps web.xml file the location of where I want IO to occur: > > <servlet> > <servlet-name>parts</servlet-name> > <servlet-class>PartsDepotServlet</servlet-class> > <init-param> > <param-name>physicalFilePath</param-name> > ><param-value>c:\tomcat\webapps\parts-depot\WEB-INF\files</param-value> > </init-param> > </servlet> > >Then, in my servlet I will read in the path: > > physicalFilePath = getInitParameter("physicalFilePath"); > >At the point I would like to somehow express "from now on all IO done by >the servlet should go to the folder indicated by physicalFilePath". Is >there some way to do that, either in the Java API or in the Servlet API? > >Is this strategy that I am taking the best approach? /Roger > >P.S. I realize that this is not really the appropriate list for this >question. What list do you recommend? > > >-- >To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> >For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>