2011-11-09 12 views
1

これはうまくいきませんでしたが、なぜ動作しないのか、おそらくそれを修正する方法を見つけようとしています。java ftpアプレット

とにかく、私はアプレットでjava.io.Fileオブジェクトを使ってみましたが、すぐにエラーが発生しました。Anyywayは純粋に推測に基づいています。この問題は(少なくとも部分的に)アプレットが実行されるたびに2つのファイルシステムがあり、仮想マシンはローカルコンピュータのファイルシステムとサーバーのどちらかを選択できません。また、java.ioをインポートしようとすると、アプレット内で 'ファイル'を定義し、JVMに使用するファイルシステムを何らかの方法で指定した場合、問題のいずれかまたは両方が解決されるのでしょうか?

+1

StackOverflowへの移動の投票。 – RedGrittyBrick

答えて

1

Javaアプレットは「サンドボックス」内で実行されますが、gではありませんローカルファイルシステムへのアクセス

アプレットは「クライアント」上で実行されるので、サーバとクライアントのファイルシステムの間で混乱することはありません。サーバファイルシステムは完全にアクセスできません(ただし、 FTPやHTTPなどのプロトコルによって仲介されます)。

オラクルsay

アプレットの例を実行しようとした場合、あなたは私をクリックしてボタンをクリックしたとき、あなたは間違いなく、エラーを見ました。これは、Java 2 Platformセキュリティでは、アプレットが明示的な許可なしにファイルへの書き込みおよびファイルからの読み取りを許可しないためです。

アプレットには、アクセス権が明示的に与えられていない限り、ローカルシステムリソースへのアクセス権がありません。


更新:概念のいくつかの明確化:

A "JavaのFTPアプレットは、" それは提供することができ、サーバー上の.jarファイルに保存されているいくつかのJavaバイトコードであるJavaアプレットですInternet ExplorerのようなWeb-ブラウザへのApacheやIISなどのWebサーバによっては、Firefox、クロム、サファリなど

使用量がこの

  • Aのようになりますパーソナルコンピュータ上のウェブブラウザは、HTTPを使用してサーバからウェブページをロードする。
    • それはそれはそれはHTML「ページ」を解析して表示すると、ブラウザはそれでアプレット
    • ウェブを参照するタグを見つけHTMLレスポンスに
  • を受信HTTPリクエスト
  • を送信-browserはHTTPを使用してサーバーからアプレットのjarファイルを要求します。
  • web-serverは、jarファイルの内容のコピーを返します。
  • ブラウザは、Java仮想マシン(JVM)
  • を起動するブラウザは、アプレット
  • ブラウザディスプレイを実行しているパーソナルコンピュータ(未サーバ)上のJVM
  • JVMにアプレットのjarファイルの内容を手渡しますアプレットを呼び出し、マウスのクリックとキーの押下をJVMに戻します。
  • アプレットは、FTPデーモン/サービスを実行するサーバーにFTP接続要求を送信します。
  • サーバーが応答します。
  • アプレットは、ファイルのFTP要求を送信します。
  • サーバーはファイルを含むFTP応答を送信します。
  • アプレットは、そのファイルで役立つ何かを行います。

アプレットがパーソナルコンピュータで実行されている場合、アプレットが署名され、そのパーソナルコンピュータから許可を受けている場合、そのコンピュータ上のファイルへのアクセスのみが許可されます。

パーソナルコンピュータが、サーバー上のいくつかのディレクトリをパーソナルコンピュータ上のローカルディレクトリ(ドライブマッピングなど)のように見せるファイル共有プロトコル(NFSやSMBなど)を使用していた場合は、署名付きアプレット)は、通常の普通のファイルIOを使用してそれらのファイルにアクセスすることができます。これはおそらくそうではありません。

アプレットは、サーバー上のファイルに直接アクセスすることはありません。

アプレットは、ネットワークプロトコル(通常のファイルIOではなく)を使用してサーバー上のサービスと通信することがあります。これらのサービス(HTTPやFTPベースのサービスなど)によっては、サーバー上のファイル内容のコピー。

+0

ああ、それは意味がある、古いアプレットがあなたのコンピュータに行くことができればいいとは思えないが...私はコンピュータのファイルシステムを使ってみようとしていない...サーバのファイルシステムにアクセスする方法 " FTPやHTTPなどのいくつかのプロトコル? – FALL3N

+0

@ FALL3N:http://commons.apache.org/net/apidocs/org/apache/commons/net/ftp/FTPClient.htmlのようなものを使用して、サーバー上のファイルにアクセスします。 – RedGrittyBrick

+0

ああありがとう..うーん、クール、私はFTPServerのクラスを聞いたことがない..それは素晴らしいです!サーバーのファイルシステムを指定する方法と、システムにアクセスするための一時的なアクセス権を取得する方法がありますか? – FALL3N