- PR -

JSP・Applet

投稿者投稿内容
kamicchi
会議室デビュー日: 2002/12/06
投稿数: 7
お住まい・勤務地: 東京都足立区
投稿日時: 2004-11-22 22:33
JSPにAppletを貼り付けて、JSPからAppletにデータを渡してやるところまでは、
うまくいったのですが、
AppletからJSPに値を渡してやる方法がわかりません。
一般的にはどうすればいいのか教えてください。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-11-22 23:54
"LiveConnect"っていう単語で調べてみるとヒントがでてくるかもしれません。
こんなの↓とか。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16313&forum=12
kamicchi
会議室デビュー日: 2002/12/06
投稿数: 7
お住まい・勤務地: 東京都足立区
投稿日時: 2004-11-23 02:40
ありがとうございます!!
Liveconnectですか。知りませんでした。

参考にしながらいろいろ試行錯誤してみたいと思います。
ありがとうございました。


[ メッセージ編集済み 編集者: かみっち 編集日時 2004-11-23 03:09 ]
kamicchi
会議室デビュー日: 2002/12/06
投稿数: 7
お住まい・勤務地: 東京都足立区
投稿日時: 2004-11-24 06:13
すみません。同じようなことですが、質問させてください。
Appletから、直接POSTして、
JSPに値を渡してやるということはできないのですか?
やはり、仲立ちにServletをおいてやらないと
いけないのですか?
影フリー
常連さん
会議室デビュー日: 2004/11/12
投稿数: 39
お住まい・勤務地: 東京都
投稿日時: 2004-11-24 12:02
JSPは結局Servletです。どちらでも同じです。

ただのサンプルです。
Appletの中でURLConnectionクラスを使えばできます。
参考にして下さい。

URL u = new URL(serverName);
connection = u.openConnection();
connection.setDoOutput( true );
connection.setDoInput ( true );
connection.setUseCaches(false);
connection.setRequestProperty("Content-type", "application/octet-stream");
ost__ = new ObjectOutputStream( new BufferedOutputStream(connection.getOutputStream()) );
ost__.writeObject( db );
ost__.flush();
ost__.close();

kamicchi
会議室デビュー日: 2002/12/06
投稿数: 7
お住まい・勤務地: 東京都足立区
投稿日時: 2004-11-24 22:48
引用:

影フリーさんの書き込み (2004-11-24 12:02) より:
JSPは結局Servletです。どちらでも同じです。



ありがとうございます。
Appletに入れてやっているのですが、
JSPには何も表示されない(空白が返る!?)のです。
オブジェクト(文字列)の渡し方が悪いのでしょうか?
それとも、JSPの受け取り部分の記述が悪いのでしょうか?

--//
Applet コネクション部分
URL url = new URL(getCodeBase(),"result.jsp"); //JSPにコネクト
URLConnection uc = url.openConnection();
uc.setDoOutput( true );
uc.setDoInput ( true );
uc.setUseCaches( false );
uc.setRequestProperty("Content-type", "application/octet-stream");
uc.connect();
ObjectOutputStream oos = new ObjectOutputStream(uc.getOutputStream());
oos.writeObject(cr_code); //String型データの送信
oos.flush();
oos.close();
getAppletContext().showDocument(url);

--// result.jsp JSPファイル データ受信部分
ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(request.getInputStream()));
c_res = (String)ois.readObject();
ois.close();



[ メッセージ編集済み 編集者: かみっち 編集日時 2004-11-25 00:49 ]
影フリー
常連さん
会議室デビュー日: 2004/11/12
投稿数: 39
お住まい・勤務地: 東京都
投稿日時: 2004-11-25 10:26
URLConnection uc = url.openConnection();よりすでにコネクトされています。
uc.connect();はなくても構いませんが・・
getAppletContext().showDocument(url);も要らないと思います。

文法は問題ないそうです。

私が持っているサンプル用全ソースをみながら比較してみてください。
こちらの会議室ではファイル添付機能がないため他のところへリンクします。

http://www.kico.co.jp/jforum/door.do?act=SERVLET.BOARD_VIEW&boardname=BOARD_SOURCE_TBL&seq=4


[ メッセージ編集済み 編集者: 影フリー 編集日時 2004-11-30 00:46 ]
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-11-25 11:16
「JSPに値を渡す」のと、「JSPを表示する」のが別々になっているからです。
アプレットからJSPへのPOSTで一回のリクエスト/レスポンスが行われ、続いてブラウザから
JSPへのGETで一回のリクエスト/レスポンスが行われているので、表示の際には最初に渡した
データを参照できません。

JSPをGUIのウィンドウオブジェクトのように考えているようですが、基本的にはHTTPによる
通信は1回のリクエスト/レスポンスで完結しているものです。もしこのような処理をおこない
たいのであれば、サーバ側で受け取ったデータをなんらかの手段で保管し、表示リクエストが
きたときにその保管したデータを使って表示するようにします。

スキルアップ/キャリアアップ(JOB@IT)