0

顧客用のJavaアプレットを作成していますが、Webサーバー上のファイルの読み取り/書き込みが必要な問題が発生しましたが、どのような状況でも、そのファイルに一般公開することはできません。

Javaアプレットとファイルは両方とも同じサーバー上にあり、必要に応じてファイルと.jarファイルを同じフォルダーに配置できますが、同じフォルダーに配置してアクセスするなど、いくつかの異なる構成を試しました。でファイル

test = WorkbookFactory.create(new File("test.xlsx"))

ファイルへのフルパスを書き出そうとしましたが、何も機能しないようです。

私が得ているエラーは次のとおりです。

Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "test.xlsx" "read")

公開されていない同じサーバー上のファイルの読み取り/書き込みを行うための最良の方法は何でしょうか。

4

2 に答える 2

1

Java アプレットがどのように機能するかについて根本的な誤解をしているようです。それらはサーバー上では実行されず、Web ブラウザー内のクライアント上で実行されます。クライアントの Web ブラウザがファイルにアクセスできない場合、アプレットもアクセスできません。

于 2012-07-12T01:41:57.970 に答える
0

Java コードはクライアント上(つまり、Web ブラウザ自体) で実行されるため、アプレットはサーバー上のファイルを読み書きできません。探しているものを実装する最良の方法は、ファイルに書き込み、何らかのセキュリティを適用するサーブレット(または他のサーバー側コード モジュール) を作成することです。その後、アプレットはそのサーブレットと通信できるようになり、ファイルへのアクセスは任意の方法で保護されます。たとえば、アプレットが埋め込まれているページに生成された一意のキーが含まれている場合、アプレットはそのキーを使用してサーブレットにアクセスします。

于 2012-07-12T01:46:49.380 に答える