0

特定のフォルダー (「データ フォルダー」と呼びます) からデータ ファイルを読み取るアプレットに取り組んでいます。ファイルの数とその名前は時間の経過とともに変化する可能性があるため、コードに厳密に追加したくありません。そのフォルダーに保存されているすべてのファイルを一覧表示できるようにしたいと思います (注: フォルダーはアプレットと同じサーバーに保存されます)。Files.walkFileTree メソッドを使用してそれを実行しようとしました。Eclipse で実行すると問題なく動作しましたが、AccessControlException が発生しました。

java.security.AccessControlException: access denied ("java.io.FilePermission" "Data folder" "read")

ブラウザで実行しようとしたとき。

jvm がローカル コンピューター上のファイルをリストするアプレットを制限したい理由はわかりますが、サーバーに保存されているファイルをリストすることは可能ですか?

4

1 に答える 1

2

クライアント側とサーバー側のコードを区別する必要があります。アプレットはクライアント側で実行されるため、 を使用してサーバーのファイル システムに直接アクセスすることはできませんFiles.walkFileTree()。できることは、サービス (REST サービスや単純なサーブレットなど) を実装し、Tomcat または Jetty サーブレット コンテナーのサーバー側で実行してから、アプレットからこのサービスを呼び出すことです。ただし、サーバーのファイル システム全体を誰からも見られないように、サービスを安全にするように注意してください。

于 2013-02-08T17:05:38.740 に答える