- - PR -
クリップボードの内容をサーブレットで受け取るには
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-11-30 15:54
初投稿です。みなさんよろしくお願いします。
知識が浅い為とんでもない質問になるかもしれませんが、その際はご容赦ください。 現在、電子印鑑ソフトで作成した判の画像データをサーブレットで受け取りたいと考えています。 想定している印鑑ソフトは判を一旦クリップボードに転送してから捺印するタイプです。 ↓これ http://hp.vector.co.jp/authors/VA002875/stampin/stampin.htm アプローチとしてはアップレットでクリップボードのデータをjavax.imageio.ImageIOでファイルに保存した後、サーブレット側ではJakarta-CommonsのFileUploadを使って受け取ろうと考えていました。 色々調べたのですが、このときのアップロードフォームの書き方としては <form action="/foo/uploader" method="POST" enctype="multipart/form-data"> ファイル:<input type="file" name="stamp"><br> <input type="submit" value="実行"> <input type="reset" value="リセット"><br> </form> と書くしかなさそうです。 これですとユーザにファイル選択の操作をさせなければなりませんが、アプレットで一意に書き出したファイルをそのまま送信したいと考えています。 type="hidden"でファイルを指定できればできそうなのですが・・・。 何か他のアプローチで解決できないものでしょうか? アドバイスお願い致します。 | ||||||||
|
投稿日時: 2003-11-30 18:49
Applet-Servlet間通信ではダメですかねぇ。
| ||||||||
|
投稿日時: 2003-11-30 19:49
win-winさん回答ありがとうございます。
Applet-Servlet間通信なんてのがあるんですね。 勉強になります。 この方法だと判の画像データ以外のテキスト項目もアプレットで受け付けるということになるんですよね。 少し調べてみたんですが、セッション管理なんかも実装する必要がありそうです。 Applet-Servlet間通信をもう少し調べてみようと思いますが、出来れば入力の受付画面はHTMLのフォームで実現したいと思っています。 他に解決策はありませんでしょうか? | ||||||||
|
投稿日時: 2003-12-01 10:11
>HTMLのフォームで実現したいと思っています。
フォームで実現するってことは Servlet も Applet も関係なくなりますよね。要件としては "JavaScript でクリップボードの値を拾えるか" という点になってくるのではないでしょうか? 少なくとも IE ではできたはずです。JavaScript でクリップボードの値をとってきて、Hidden フィールドに書き込めばいいのではないでしょうか? | ||||||||
|
投稿日時: 2003-12-01 10:37
unibon です。こんにちわ。
#あまり直接の回答ではありませんが。 Java から扱えるクリップボードには、 システムクリップボードとローカルクリップボードの2種類があります。 http://black.sakura.ne.jp/~third/system/java/Gjava56.html などに解説があります。
Windows のアプリケーションと Java の間でやりとりするためには、 システムクリップボードを使う必要がありますが、 Java Applet だとセキュリティの制約があり、 デフォルトだとアクセスが制限されています。 http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/spec/security-spec.doc3.html#20327 のような設定で許可することができたと思いますが、 この設定をクライアントごとにおこなったり、 署名付きアプレットにするなどの対処が必要になってきますので、 多少面倒かもしれません。 | ||||||||
|
投稿日時: 2003-12-01 11:26
インギさん、unibonさん回答ありがとうございます。
なるほどJavaScriptでそんなことも出来るのですね。 JavaScriptはまったく知らないので気付きもしませんでした。 やり方を調べてみます。
そうなんですよね。 セキュリティーのこと知らずにクリップボードの内容表示するだけのアプレットを作ったのですが、そのときに動作しなくて初めて知りました。 今はポリシーファイルを設定してデモ版を動かしています。 解決の糸口が解り、大変助かりました。ありがとうございました。 | ||||||||
1
