//****************************************************************************** //** //** APPLET-SERVLET間データ送受信 テスト用アプレット //** //** 概要:SERVLETへストリームを送信し、SERVLETからストリームを受信する。 //** //** 作成:株式会社システムインフィニティ //** //****************************************************************************** import java.awt.*; import java.awt.event.*; import java.applet.*; import java.io.*; import java.net.*; import java.util.*; public class TESTAPPLET extends JApplet { //アプレットの構築 public TESTAPPLET() { } //************************************************************** // アプレット基本構成 //************************************************************** //アプレットの初期化 public void init() { try { //サーブレットとの送受信処理 SNDRCVRTN(); } catch(Exception e) { e.printStackTrace(); } } //アプレットの開始 public void start() { } //アプレットの停止 public void stop() { } //アプレットの破棄 public void destroy() { } //************************************************************** // サーブレットとの送受信処理 // 送信:Object[] objout // 受信:Object[] objin //************************************************************** private void SNDRCVRTN() { try { //送信用オブジェクト配列 Object[] objout = {"データ1","データ2"}; //サーブレットへストリームを送信する //サーブレットのURLでURLクラスをインスタンス化します URL url = new URL("SERVLET-URL" + "SERVLET-NAME"); //サーブレットへの接続を表すURLConnectionオブジェクトを生成します URLConnection uc = url.openConnection(); //URL接続に書きこみを行うための設定を行います uc.setDoOutput(true); //プロトコルにキャッシュ内のデータを無視するための設定を行います uc.setUseCaches(false); //Content-typeの指定を要求プロパティに設定します。 uc.setRequestProperty("Content-type","application/octet-stream"); //送信ストリームの準備 ObjectOutputStream oout = new ObjectOutputStream(uc.getOutputStream()); //オブジェクト配列を送信ストリームへ書きこみ oout.writeObject(objout); //送信ストリームの送り出し oout.flush(); ////////////////////////////////////////////////// //この時点でサーブレットがストリームを受信します// ////////////////////////////////////////////////// //送信ストリームを破棄 oout.close(); //サーブレットからのストリームを受信する //受信ストリームの準備 ObjectInputStream oin = new ObjectInputStream(uc1.getInputStream()); //受信したストリームからオブジェクト配列へ格納 Object[] objin = (Object[])oin.readObject(); //受信ストリームを破棄 oin.close(); } catch (Exception ex) { ex.printStackTrace(); } } }