0

Tomcat 5.0を実行していますが、Javaからtomcatsの「webapps」からリソースを取得する際に問題が発生します。サーバーの起動後に利用可能かどうかを確認するhtmlファイルがあります。

  tomcat_folder/webapps/myProject/site.html

Javaでは、サーバーの起動時に次のコードを実行します。

  URL url = new URL("http://localhost:8080/myProject/site.html");
  URLConnection con = url.openConnection();
  Object content = con.getContent();

getContent()はFileNotFoundExceptionをスローします。

しかし、「http:// localhost:8080 / myProject / site.html」をブラウザに入れると、問題なくサイトが表示されます。

また、4台のマシンでテストしました。2台ではすべてが正常で、他の2台ではFileNotFoundExceptionです。

フォルダのセキュリティアクセスの問題やユーザー権限の問題かもしれないと思いましたが、結局はわかりません。助言がありますか?

4

4 に答える 4

1

あなたが窓にいると仮定します。ウイルス スキャナ/ファイアウォールに java.exe を追加して、バインドされたネットワーク接続を確立できるようにする必要がある場合があります。

于 2012-12-07T10:09:21.547 に答える
0

コードがサーブレットにある場合は、サーブレットの実際のパスを取得して、それにファイル名を追加できます。

String servletPath = getServletContext().getRealPath("/");
URL url = new URL(servletPath+"site.html");

通常の Java アプリケーションでは、Tomcat インストールの webapps フォルダーへの完全なパスが必要になります。

于 2012-12-07T10:23:50.803 に答える
0

あなたのコードは正しいようです。
しかし、実際に接続するのを逃しました
con .connect();
getContent を試みる前に

于 2012-12-08T19:43:19.373 に答える
0

私の問題の解決策を見つけました。

原因は、Tomcat によっても使用されていたポート 8080 を使用する Windows サービスでした。リソースはブラウザから利用できましたが、Java コードからは利用できませんでした。競合するサービスを停止すると、すべてが正常に機能します。

于 2012-12-10T12:58:09.583 に答える