0

「C:\Program Files\apache-tomcat-7.0.27」
にTomcatがインストールされています「C:\Program Files\eclipse」にEclipseがインストールされ
ており、「C:\workspace」にワークスペースがあります

「Java パースペクティブ」を使用して、デフォルトの出力フォルダーを「helloWorld/web/WEB-INF/classes」として「Java プロジェクト」を作成しました。プロジェクトの構造は次のようになります。

-helloWorld
---src
-----servlets
-------hello.java
-------world.java
---web
-----WEB-INF
-------jsp
---------hello.jsp
---------world.jsp
-------lib
-------web.xml
---helloWorld.xml
---record.txt

hello.java の doPost() で乱数を生成し、テキスト ファイル「record.txt」に書き込みます。
world.java の doPost() は、テキスト ファイル「record.txt」を開き、数値を読み取ります。

システムは動作していますが、最初に eclipse プロジェクトの record.txt ファイルに入れたものは決して変更されず、world.java がファイルから読み取ったものは、hello.java が生成したものとまったく同じであると確信しています。
「C:\Program Files\apache-tomcat-7.0.27\work\Catalina\localhost\helloWorld」を確認したところ、jsp ファイルしかありませんでした。
次に、Tomcat を再起動してリロードし、さらに展開を解除して再度展開しようとしましたが、以前に生成された番号がまだ残っています。コンピューターを再起動しようとしませんでした。

私の質問は、record.txt ファイルはどこにありますか? それは間違いなく日食プロジェクトのものではありません。

4

3 に答える 3

1

Javaコードで相対ファイルパスを使用する場合、それはWebアプリケーションに対して相対的ではなく、Tomcatを実行しているプロセスが開始された場所に対して相対的です。したがって、Tomcatのbinディレクトリまたは同様の場所にファイルが見つかる可能性があります。

Webアプリケーションに関連するファイルを作成する場合は、Webアプリケーションへのパスを取得する必要があります。これは、サーブレットでgetServletContext()。getRealPath( "")を呼び出すことで実行できます。

于 2012-05-18T07:57:10.903 に答える
0

プロジェクトと同じ名前のフォルダーの webapps フォルダーを確認します。

C:\Program Files\apache-tomcat-7.0.27\webapps

ここでは、正確なフォルダー構造とrecord.txtファイルも確認できます。

お役に立てれば!

于 2012-05-18T07:46:52.860 に答える
0

Eclipse でデプロイされたプロジェクトは一時フォルダーで実行されます。パスは次のようになります...サーバーの tmp0/conf/catalina/localhost/projectname.....context.xml がこれに役立つ場合があります..

絶対パスを使用することをお勧めします....Eclipseの使用中に同じ問題に直面しました...その時、ユーザーにリンクを提供する必要さえありました...

于 2012-05-18T07:35:35.967 に答える