0

私はJavaEEアプリケーションを持っており、そのサーブレットの1つで使用しています

System.getProperty("user.dir")

しかし、これはプロジェクトディレクトリではなく私の日食ディレクトリを返します!

これをテストするために、私はテストプロジェクトを作成しました。EclipseでスタンドアロンのJavaアプリケーションプロジェクトを作成し、同じコードを使用すると、プロジェクトディレクトリのパスが返されます。(これが私が欲しいものです)

質問:なぜ動作が異なるのですか?サーブレットでプロジェクトディレクトリのパスを取得するにはどうすればよいですか?

4

2 に答える 2

4

サーブレットからプロジェクトディレクトリのパスにアクセスするには、次のことを試してください。

request.getSession().getServletContext().getRealPath("/")

それ以外System.getProperty("user.dir") 、実際には期待どおりに機能しており、ユーザーの作業ディレクトリ(必ずしもプロジェクトのディレクトリと同じではありません)を返します。最初にドキュメントをお読みください。

于 2012-05-30T01:43:30.940 に答える
2

あなたが実際にドキュメントを読んだ場合、それはこれを言います:

user.dirプロパティが初期化されたときの現在の作業ディレクトリ

期待どおりに機能しているようです...

ここから:http://www.mindspring.com/~mgrand/java-system-properties.htm

于 2012-05-30T01:40:57.557 に答える