- 締切済み
JAVAアプレットで、ある命令が発動したらHSP側でHSPのプログラムを実行したい。
たとえば、JAVAアプレットである命令が実行したとします。 そしたら、HSPでJAVAと違うプログラムを実行させたいのです。 HSPはクライアント側です。分かりにくいかもしれませんがお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Bonjin
- ベストアンサー率43% (418/971)
とりあえず、外部プログラムを実行させるにはjava.lang.Runtime#exec()を使います。 アプレットで実行させるにはクライアント側でポリシーを設定するか、jarに署名を入れて配布するかしなければなりません。 #1さんの回答の補足ですが、 >しかるべき機関からデジタル証明書を発行してもらわないといけないので と書かれていますが、仲間内や社内など利用範囲が限定されているならば自己署名で全然かまいません。また、電子署名をつけたところで実行を許可するかはユーザ次第ですので証明書が信頼されているかいないかはあまり関係ありません。ただし、インターネット上に公開などをする場合は配布元を証明するためにちゃんとした証明書を発行してもらった方がよいでしょう。
- PecoPlus
- ベストアンサー率76% (144/188)
こんばんは。 通常、Javaアプレットは、クライアントのハードディスクやクリップボード、アプレットを発行したサーバー以外のコンピューターへのネットワーク接続などは、できなくなっています。 これは、通常のアプリケーションが、ユーザー自身の意思で信頼できるところから買ってきたり、ダウンロードして、インストールするという手順を踏むのに対し、アプレットはホームページを見ただけで、勝手に動いてしまうためです。 このようなアプレットにアクセスを自由にさせてしまうと、勝手にハードディスクが初期化されたり、大事のデータが盗まれたりと、悪用されかねません。 ですので、Javaアプレットには、そういうアクセスを制限する仕組みになっています。 当然、HSPのプログラムファイルにもアクセスできないので、質問にあるようなことは、不可能ということになります。 ただ、このアクセス制限を解除する方法もあります。 しかし、それには、アプレットにデジタル署名をしなくてはいけません。 これは、しかるべき機関からデジタル証明書を発行してもらわないといけないので、個人では、大変だと思います。 現実的には、何か別な方法を考える必要があると思います。