2012-01-10 7 views
2

私たちはアプリケーションでストラット1.2.4を使用しています。 現在、アプリケーションでは安全な(https)ページのキャッシュが可能です(キャッシュ制御は強制されません)。私はその動作を変更し、すべてのレスポンスにキャッシュ制御:no-cacheを追加したい。ストラットのレスポンス1

strutsはキャッシュポリシーをグローバルに設定するためのフレームワークを提供していますか?

どうすればいいですか?

更新日: ボンエスプレッソからの以下の回答が働いた。 "キャッシュコントロール"、 "no-cache、no-store、must-revalidate"を追加する必要がありました。 とDateヘッダーをフィルタに追加しました。

答えて

2

使用フィルター、私はこれを試してみましたweb.xmlに

<filter> 
    <filter-name>cacheControlFilter</filter-name> 
    <filter-class>com.package.CacheControlFilter</filter-class> 
    </filter> 
    <filter-mapping> 
    <filter-name>cacheControlFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

そして、あなたのフィルタクラス

import javax.servlet.*; 
import javax.servlet.http.HttpServletResponse; 
import java.io.IOException; 
import java.util.Date; 

public class CacheControlFilter implements Filter { 

    public void doFilter(ServletRequest request, ServletResponse response, 
         FilterChain chain) throws IOException, ServletException { 

     HttpServletResponse resp = (HttpServletResponse) response; 
     resp.setHeader("Expires", "Tue, 25 Dec 1993 23:59:59 GMT"); 
     resp.setHeader("Last-Modified", new Date().toString()); 
     resp.setHeader("Cache-Control", "no-cache"); 
     resp.setHeader("Pragma", "no-cache"); 

     chain.doFilter(request, response); 
    } 

} 
+0

をあなたのフィルタを設定。ヘッダーが設定されています。しかし、私は戻るボタンを押してページを見ることができます。私は設定する必要がある他のヘッダーはありますか? –

関連する問題