JAVAアプレットからshowDocumentにてページを表示しているのですが、引数がアドレスバーに表示されないようにしたいと思います。

(sample.cgi?param1=abc) ※ ユーザに任意に引数を変更されたくないため。
JAVAアプレットからPOSTにてHTML(CGI)を呼び出す方法を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/03/25 13:49:10
  • 終了:--

回答(3件)

id:ohmix1 No.1

ohmix1回答回数235ベストアンサー獲得回数142005/03/25 13:56:57

ポイント10pt

http://java-house.jp/ml/archive/j-h-b/013047.html

[JavaHouse-Brewers:13047] [Q] About showDocument

showDocument ではPOSTはできないみたい。


上記URLの「3.POST方式によるアプレットとCGIの連携」のあたりに参考になりそうなことが書いてあります。

id:peugeot

うーん無理ですかね。POST方式でCGIを実行して、応答内容をJAVAで取得する方法はわかるのですが、POSTにてとばしたいという意図からははずれます。

2005/03/25 14:53:01
id:taknt No.2

きゃづみぃ回答回数13539ベストアンサー獲得回数11982005/03/25 14:03:12

ポイント20pt

http://www.sm.rim.or.jp/~shishido/cgij.html

ソケット通信によるCGIとの連携

ソケット通信ができるようです。

id:peugeot

最後のページはなかなか分かりやすいですね。

でもソケット通信ではなく、ページを表示したい・・・

2005/03/25 14:55:31
id:quintia No.3

quintia回答回数562ベストアンサー獲得回数712005/03/25 14:22:33

ポイント50pt

Java(tm) House Mailing Listでも何度か話題に出ているようですが、これはできないと思われます。


GETメソッドで呼び出されたパラメータからPOSTメソッドで本来のCGIを呼び出す、様なJavaScript併用のCGIを作ることで、見た目的にだけ希望の様な動作をさせることは可能でしょう。


PHPっぽい疑似コードで書くと、


function reloadcgi(){

fm.hoge.value =”<?= $hoge ?>”;

//$hogeがGETで受け取ったhogeというパラメータ

fm.submit();

}

:

:

<body onload=”javascript:reloadcgi()”>

<form action=”realtarget.cgi” method=”POST” name=”fm”>

<input type=hidden” name=”hoge” value=””>

</form>


の様な感じでいけそうな気はします。

クロスサイトスクリプティングなどには重々注意する必要はありますが、こんな手段しかないかと思います。


……ここまでやる必要があるかどうか検討するべきでしょうね。

id:peugeot

なるほど!

JavaScriptでアドレスバーを隠す方法は考えたのですが、ポリシーに反するのでなんとかPOSTでと考えてました。

シンプルではありませんが、システム構成上どうしても対応しなければならない問題なので助かりました。

2005/03/25 15:06:21

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません