- - PR -
webappsのパスの取り方
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-11-21 13:21
環境は以下です。
Apacth1.3.26 Tomcat4.1.12 JDK1.4.1 Dir構成は [webapps/appli] | *-[WEB-INF] | *---[classes] | | | [load]--InfoLoad.class | *---[jsp] | *---[conf] | | | *--info.properties | *---[lib] | *---web.xml となっています。 DataLoad.classからinfo.propertiesのファイルを読み込みたいのですが どのようにパス指定をしたら良いのでしょうか? webappsの物理パス名は都度変更(WindowsやLinuxで動かします)され、 DataLoad.classの中に記述することが出来ません。 javax.servlet.http.HttpServletRequestのgetRequestURI()みたいに 簡単に、物理パス名に依存せずwebappsまでのパスを取ることは 可能でしょうか?またappli名は固定です。 よろしくお願いします。 |
|
投稿日時: 2002-11-21 13:37
ServletContext.getResourceAsStream(String) で収得できないでしょうか?
|
|
投稿日時: 2002-11-21 15:13
InfoLoad.classは引数無し(説明不足でした)で呼び出されるため、
ServletContext.getResourceAsStream(String)は使えないような気がします。 request等を渡すことも出来ません。 それともいきなり?ServletContextを取得する方法があるのでしょうか? web.xmlにパスを設定するしか無いですかね? よろしくお願いします。 |
|
投稿日時: 2002-11-21 17:22
http://java-house.jp/ml/archive/j-h-b/050753.html
まさにこれ、では。 ----------- <%@page import="java.util.*,java.io.*"%> <html><body><pre> <% InputStream in = this.getClass().getClassLoader().getResourceAsStream("testresource.properties"); Properties prop = new Properties(); prop.load(in); Enumeration e = prop.propertyNames(); String key = null; while (e.hasMoreElements()) { key = (String) e.nextElement(); out.println(key + ":" + prop.getProperty(key)); } %> </pre></body></html> ----------- で WEB-INF/classes/testresource.properties が取れましたから、あとは classpath を適当にいじって conf 以下を見に行くようにする、と。 [ メッセージ編集済み 編集者: しょむ 編集日時 2002-11-21 17:28 ] |
|
投稿日時: 2002-11-21 20:15
ファイルが読めるようになりました。
ご教授ありがとうございました。 |
1
