2011-12-20 5 views
0

現在、私のappspotに再度表示するために、URLからデータをダウンロードしてコンテンツを分割しています。 URLからのデータは1日に数回変更されます。しかし、私のappspotは、同じままです。 私はこれは私のコードは次のように見え、それがどのように動作するかで0GAE JavaがリクエストされたURLの最新データをダウンロードしていません

に「キャッシュなし」のプラグマとヘッダの日付を設定することで、問題を解決することを考えた:

public void doGet(HttpServletRequest req, HttpServletResponse resp) 
      throws IOException { 
     resp.setHeader("Pragma", "no-cache"); 
     resp.setDateHeader("Expires", 0); 

コンテンツの長さ:15983 - コンテンツタイプ:text/html - 日付:火曜日、2011年12月20日 14:06:53 GMT - 有効期限:1970年1月1日00:00:00 GMT - プラグマ:no-cache サーバー:Googleフロントエンド

しかし、私のappspotはまだURLからリフレッシュされたデータを取得する必要はありません。私はここで何が欠けていますか?何も変わっていないので、私はヘッダーの応答を変更して以来、私は他に何をすべきかわからない。

+0

一つのオプションRFCセクション14.9を参照したいここで参考のために

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setHeader("Cache-Control", "no-cache"); } 

はわずか要求URLを変更することです - 例えばを'?'を追加します。および乱数 - を使用してGAE側のキャッシュを防止します。 – sje397

+0

リクエストURLを少し変更してそれにアクセスするにはどうすればよいですか?これが私のURLだとしましょう: URL url =新しいURL( "http://www.google.com"); BufferedReader reader .... リクエストの例でこのURLはどのように見えますか? – DoDu

+1

@dodinvents - 通常、使用されていないパラメータを追加しても、それが停止されるわけではありません。 '?n = 123'を追加するか、既にパラメータがある場合は '&n = 123'を追加します。だから '新しいURL(" google.com?n = 123 ");' – sje397

答えて

0

私はwebappsを書いていましたが、私は常にサーブレットとJSPに "Cache-Control"ヘッダーを使用しました。あなたは2616

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

+0

ありがとうございました。私はそれを試みたし、それは動作しませんでした。 GAEがresp.setHeaderを気にしないようです...私はsje397メソッドを試してみます。 – DoDu

関連する問題