• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Servlet内でのPath)

Servlet内でのPathの指定について

このQ&Aのポイント
  • Servlet内でのPath指定で悩んでいます。アクセスするとFileNotFoundエラーが発生します。
  • Servlet実行時のPathはどこになるのでしょうか?
  • classが置いてあるディレクトリがルートではないようです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#30871
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());

pythian
質問者

お礼

ありがとうございます。 なんだか一筋縄ではいかないような印象ですね(^^; Javaプログラミングを始めたばかりなので、いろいろと試行錯誤してみます。

関連するQ&A