http://itbtech.itboost.co.jp/jserv/jserv_16.php
------------引用始-----------------
File fileParentDirectory = new File(".").getAbsoluteFile().getParentFile();
String path = fileParentDirectory.getAbsolutePath();
------------引用終-----------------
JSPではなく、サーブレットでも試しました。全く同様の結果です。
1.なぜ、うまくいかないのでしょうか。
2.また、カレントディレクトリを取得するにはどうすればいいでしょうか。
的をはずしてるかもしれませんが・・・。
質問文は、仕様どおりだと思います。
カレントディレクトリが、CATALINA_HOMEが示すディレクトリだと思います。
---------
やりたいことは、
WEBアプリケーションルートディレクトリの取得(Servlet)
String path = this.getServletContext().getRealPath("/");
http://www.itmedia.co.jp/enterprise/articles/0408/03/news020.htm...
このあたりなんじゃないでしょうか?
getServletContextを使う場合は、コンテナ依存だったような気がするので
うまくいかない場合もあったと記憶してます。
#的をはずしてたら申し訳ないので、コメント欄をオープンしていただけると
#ありがたいです。
1.なぜ、うまくいかないのでしょうか。
2.また、カレントディレクトリを取得するにはどうすればいいでしょうか。
コマンドラインから CATALINA_HOME ディレクトリ上で、
Tomcat を起動したのではないでしょうか?
コマンドを実行したディレクトリが、カレントディレクトリとなります。
サーバーアプリケーションの場合、カレントディレクトリ自体が曖昧な値なので、
それに頼った仕様はよくありません。
参照したいディレクトリなどの情報は、固定で指定する方がいいとおもいます。
(たとえば context.xml や、web.xml などの外部のファイル)
ttp://hoge.com/contextA/folderX/index.jsp
のように、コンテキスト「contextA」の下に、名前が変わるかもしれないサブフォルダ「folderX」があり、その中にあるjspファイルから、「folderX」の取得を行いたいと思っています。
getRealPathとgetContextPathなどを使えばcontextAまでは取得できると思いますが。。