QA@IT

javaによるドキュメントルート取得

4008 PV

javaでドキュメントルートを探査したいのですが、どうしたらよいのでしょうか?
HttpRequestアクセスによってサーブレットが動く のではなく、java側で常に保持しておきたいです。
ぜひ教えてください。

  • 背景というか環境が全くわかりません。javaを使って、どこで、どういうものを動かそうとしているんでしょう?(例えばTomcatで…とか)
    Applicationスコープとかそういうことですかね?
    -
  • すいません、言葉足らずでした。環境はTomcat + Apacheで、例えばTestというサーブレットが動いた際にサーバのドキュメントルートを取得し、サーバ側で保持しておく、またはサーブレットを動かさずとも予めドキュメントルートを探索して保持しておく、ということがしたいです。 -
  • 環境は大体わかりました。
    ドキュメントルートというのは(Tomcatのルートではなく)Apache側のドキュメントルートの事でしょうか?
    あと「サーブレットを動かさずとも」という部分のイメージがわからないです。Tomcatまで行かずにApacheだけでということですか?
    -
  • Apacheのドキュメントルートのことです。サーブレットを動かさずでは言い方がまずかったですね。例えばPHPだと「$_SERVER['DOCUMENT_ROOT'] 」でドキュメントルートを取得できますよね?これをjavaで取得できないのかと思いまして。 -
  • なるほど、そういう事ですね。うーん、javaを動かすためにTomcatがいるようなものなのでApache側でjavaというのはちょっと大変なんじゃないですかね。javaでなければいけない理由はわかりませんが。 -
  • 結局はjavaでApacheのモジュールを作るか、javaで(サーブレットではなく)Apacheで動作する cgiを作るかといった事になると思います。
    軽く調べた感じ、java用のcgiのライブラリは一応はちらほらあるにはあるみたいです。ただ環境変数だとかの扱いも面倒だとおもうので割に合わない気がしますね。
    -
  • http://stackoverflow.com/a/23937616/2513010 の様に他のcgiからjavaコマンドで実行してしまうという荒業だとか、javaプログラムからドキュメントルートを返すphpをhttp経由で叩きにいくとか、苦肉の策はいくつかあるかもしれませんが、なぜjavaじゃないとだめなのかがわからないので目的に合うかまではわかりません。 -
  • javaで開発を進めているためjavaによる方法が知りたかったのです。結論からしまして、phpを叩きにいくことにしました。みなさんお力添えありがとうございました。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。