- - PR -
JSP・Applet
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-11-22 22:33
JSPにAppletを貼り付けて、JSPからAppletにデータを渡してやるところまでは、
うまくいったのですが、 AppletからJSPに値を渡してやる方法がわかりません。 一般的にはどうすればいいのか教えてください。 | ||||
|
投稿日時: 2004-11-22 23:54
"LiveConnect"っていう単語で調べてみるとヒントがでてくるかもしれません。
こんなの↓とか。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16313&forum=12 | ||||
|
投稿日時: 2004-11-23 02:40
ありがとうございます!!
Liveconnectですか。知りませんでした。 参考にしながらいろいろ試行錯誤してみたいと思います。 ありがとうございました。 ![]() [ メッセージ編集済み 編集者: かみっち 編集日時 2004-11-23 03:09 ] | ||||
|
投稿日時: 2004-11-24 06:13
すみません。同じようなことですが、質問させてください。
Appletから、直接POSTして、 JSPに値を渡してやるということはできないのですか? やはり、仲立ちにServletをおいてやらないと いけないのですか? | ||||
|
投稿日時: 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(); | ||||
|
投稿日時: 2004-11-24 22:48
ありがとうございます。 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-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 ] | ||||
|
投稿日時: 2004-11-25 11:16
「JSPに値を渡す」のと、「JSPを表示する」のが別々になっているからです。
アプレットからJSPへのPOSTで一回のリクエスト/レスポンスが行われ、続いてブラウザから JSPへのGETで一回のリクエスト/レスポンスが行われているので、表示の際には最初に渡した データを参照できません。 JSPをGUIのウィンドウオブジェクトのように考えているようですが、基本的にはHTTPによる 通信は1回のリクエスト/レスポンスで完結しているものです。もしこのような処理をおこない たいのであれば、サーバ側で受け取ったデータをなんらかの手段で保管し、表示リクエストが きたときにその保管したデータを使って表示するようにします。 |