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

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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:ohmix1 No.1

回答回数235ベストアンサー獲得回数14

ポイント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ベストアンサー獲得回数1198

ポイント20pt

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

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

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

id:peugeot

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

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

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

回答回数562ベストアンサー獲得回数71

ポイント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

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

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

トラックバック

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

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

回答リクエストを送信したユーザーはいません