- PR -

アプレット-サーブレット間通信でのCache

1
投稿者投稿内容
mondo
会議室デビュー日: 2003/07/09
投稿数: 4
投稿日時: 2003-07-09 19:12
アプレットからURLConnection でサーブレットへ接続し、レスポンスでデータを返すのですが、
返す方法としてJSPでデータの作成を行いObjectOutputStreamを返しています。
それと同時にローカルにCacheさせたいのですが、うまくCacheされません。
アプレットと同じURLをブラウザから入力したらファイルのダウンロードが出てきてCacheもされます。
ブラウザのリクエストではないので、アプレットからの接続ではCacheすることはできないのでしょうか?

--- アプレット側 ---
// サーブレット接続
URL url = new URL(getDocumentBase(), "/app/mainservlet/applet");
URLConnection con = url.openConnection();
con.connect();

// データの受け取り
HashMap map = (HashMap) in.readObject();

--- JSP側 ---
<%@ page import="java.util.*, java.io.ObjectOutputStream" %><%
response.setContentType("application/octet-stream");
ObjectOutputStream oOut = new ObjectOutputStream(response.getOutputStream());

HashMap map = new HashMap();
// ---- HashMapへデータを作成

oOut.writeObject(map);
oOut.close();
%>
ニシトミ
ベテラン
会議室デビュー日: 2003/04/24
投稿数: 76
お住まい・勤務地: 千葉・東京
投稿日時: 2003-07-10 11:28
ニシトミです

URLConnectionクラスの

setUseCaches(true);
としてもキャッシュ有効になりませんか?
mondo
会議室デビュー日: 2003/07/09
投稿数: 4
投稿日時: 2003-07-10 13:15
ニシトミさんありがとうございます。

setUseCashes(true)の設定も試してみましたが、キャッシュされませんでした。
また、JSP側のresponse設定でも Cache-Controlや Pragmaは試してみました。
ニシトミ
ベテラン
会議室デビュー日: 2003/04/24
投稿数: 76
お住まい・勤務地: 千葉・東京
投稿日時: 2003-07-11 15:03
ニシトミです。

私の場合はProxy側で、キャッシュが効いてしまって、良く悩んだりするのですが

キャッシュが効いて欲しいのは、responseタイムの影響なのでしょうか
もし差し支えなかったら理由も教えていただきたいです。

setUseCashes(true)ですが。Appletのコード側にも追加してみましたか?
私のスキルだとアドバイスも限界です。どなたかサポートお願いします。
mondo
会議室デビュー日: 2003/07/09
投稿数: 4
投稿日時: 2003-07-15 11:57
返信が遅くなりなってしまいましたが。。。
Appletのコード側に追加しましたができませんでした。
キャッシュさせたい理由ですが、Appletの実行でキャッシュされた
データを他のクライアントシステムで参照したいためです。

キャッシュできるかどうかの解決はできませんでしたが、
他システムからは、Appletと同様にURLリクエストを行って
データを取得するよう対策することになりました。

この件について何か進展がありましたら報告したいと思います。
ニシトミさんありがとうございました。
1

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