人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JAVAアプレットからshowDocumentにてページを表示しているのですが、引数がアドレスバーに表示されないようにしたいと思います。
(sample.cgi?param1=abc) ※ ユーザに任意に引数を変更されたくないため。
JAVAアプレットからPOSTにてHTML(CGI)を呼び出す方法を教えてください。

●質問者: peugeot
●カテゴリ:コンピュータ
✍キーワード:ABC CGI HTML Java アドレスバー
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ohmix1
●10ポイント

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

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

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


http://www.gremlin.jp/yada/j_java_cgi_r.htm

untitled

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

◎質問者からの返答

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


2 ● きゃづみぃ
●20ポイント

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

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

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

http://homepage2.nifty.com/S_HIASA/kotohazime/perlpro.htm

Perlプログラミング

http://www.ipc.hokusei.ac.jp/~z00104/java/network.html

Java入門

◎質問者からの返答

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

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


3 ● quintia
●50ポイント

http://java-house.jp/cgi-bin/namazu.cgi?max=50&query=showdoc...

Java House: Search Results

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>


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

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


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

◎質問者からの返答

なるほど!

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ