- - PR -
アプレット-サーブレット間通信でのCache
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 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-07-10 11:28
ニシトミです
URLConnectionクラスの setUseCaches(true); としてもキャッシュ有効になりませんか? |
|
投稿日時: 2003-07-10 13:15
ニシトミさんありがとうございます。
setUseCashes(true)の設定も試してみましたが、キャッシュされませんでした。 また、JSP側のresponse設定でも Cache-Controlや Pragmaは試してみました。 |
|
投稿日時: 2003-07-11 15:03
ニシトミです。
私の場合はProxy側で、キャッシュが効いてしまって、良く悩んだりするのですが キャッシュが効いて欲しいのは、responseタイムの影響なのでしょうか もし差し支えなかったら理由も教えていただきたいです。 setUseCashes(true)ですが。Appletのコード側にも追加してみましたか? 私のスキルだとアドバイスも限界です。どなたかサポートお願いします。 |
|
投稿日時: 2003-07-15 11:57
返信が遅くなりなってしまいましたが。。。
Appletのコード側に追加しましたができませんでした。 キャッシュさせたい理由ですが、Appletの実行でキャッシュされた データを他のクライアントシステムで参照したいためです。 キャッシュできるかどうかの解決はできませんでしたが、 他システムからは、Appletと同様にURLリクエストを行って データを取得するよう対策することになりました。 この件について何か進展がありましたら報告したいと思います。 ニシトミさんありがとうございました。 |
1
