- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Servlet内でのPath)
Servlet内でのPathの指定について
このQ&Aのポイント
- Servlet内でのPath指定で悩んでいます。アクセスするとFileNotFoundエラーが発生します。
- Servlet実行時のPathはどこになるのでしょうか?
- classが置いてあるディレクトリがルートではないようです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#30871
回答No.1
Windows2000+Tomcat3.2.4の場合ですが、次のようになります。 a. (new File("./XmlDump.xml")).getAbsolutePath() → $TOMCAT_HOME\bin\.\XmlDump.xml を返す。 b. (new File("/XmlDump.xml").getAbsolutePath() → C:\XmlDump.xml を返す。 c. getServletContext().getRealPath("./XmlDump.xml") → null を返す。 d. getServletContext().getRealPath("/XmlDump.xml") → $TOMCAT_HOME\webapps\xxx\XmlDump.xml を返す。 したがって、 (1) $TOMCAT_HOME/webapps/xxx をルートと考える。 (2) '/' から始まる相対URLを getRealPath() の引数に与え、パスを得る。 という方法があることになります。 ところで、私が以前作ったサーブレットでは次のようにしてSourceオブジェクトを得てみました。 URL url = getServletContext().getResource("/xsldir/xxx.xsl"); Source xslSource = new StreamSource(url.openStream());
お礼
ありがとうございます。 なんだか一筋縄ではいかないような印象ですね(^^; Javaプログラミングを始めたばかりなので、いろいろと試行錯誤してみます。