Hi, What is the best way to determine the path for a properties file from within a servlet please? At the moment I have the path hard-coded inside a loadProps() method with the tomcat\bin as the 'root' like this: input=new FileInputStream( "../webapps/myWebapp/properties/props" ); but it would be nice if the webapp could work out the relative path of its own context so that it would still work even if the webapp is re-named. Many thanks, [ September 18, 2003: Message edited by: Peter Straw ]
Evaristo Ballorca
Greenhorn
Joined: Feb 13, 2002
Posts: 17
posted
0
If we want get the real path where the web application is located we could ask to the servlet context: servletContext.getRealPath( "/" ); This method will return a real path for a relative path. If we are in a web application context is /webapp_example, this method will return: c:/tomcat4/webapps/webapp_example/ Then if you want to acces to the WEB-INF directory you will write: servletContext.getRealPath( "/" ) + "WEB-INF/"; If you are in a servlet you could get the servlet context doing: request.getSession().getServletContext() I wait that i help you. See you
Jason Davies
Greenhorn
Joined: Sep 18, 2003
Posts: 14
posted
0
I would recommend using ServletContext.getResource() or ServletContext.getResourceAsStream(). This allows you to read data from a .war file as well, and will work wherever the webapp is deployed.
<a href="http://www.netspade.com/" target="_blank" rel="nofollow">http://www.netspade.com/</a> - Web programming articles and tutorials.
Peter Straw
Ranch Hand
Joined: Jan 08, 2002
Posts: 79
posted
0
great! thanks very much both of you that works perfectly.