JSP でヘッダーExpires
を追加するにはどうすればよいですか? Cache-Control
画像、CSS、JavaScript ファイルなどの静的コンポーネントのインクルード ページに、遠い将来の有効期限を追加したいと考えています。
90908 次
4 に答える
73
JSP ページのブラウザ キャッシュを無効にするFilter
には、 にマップされる をurl-pattern
作成し、メソッド*.jsp
で基本的に次のことを行います。doFilter()
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1
httpResponse.setHeader("Pragma", "no-cache"); // HTTP 1.0
httpResponse.setDateHeader("Expires", 0); // Proxies.
こうすれば、これをすべての JSP ページにコピーペーストしてスクリプトレットで乱雑にする必要がなくなります。
CSS や JS などの静的コンポーネントのブラウザー キャッシュを有効にするには、それらすべてを or のような共通フォルダーに配置し、/static
orにマップされる を/resources
作成し、メソッドで基本的に次のことを行います。Filter
url-pattern
/static/*
/resources/*
doFilter()
httpResponse.setDateHeader("Expires", System.currentTimeMillis() + 604800000L); // 1 week in future.
以下も参照してください。
于 2010-06-16T16:29:36.520 に答える
10
<%
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
%>
于 2010-06-16T16:29:14.713 に答える
2
<%
response.setHeader("Cache-Control", "no-cache"); //HTTP 1.1
response.setHeader("Pragma", "no-cache"); //HTTP 1.0
response.setDateHeader("Expires", 0); //prevents caching at the proxy server
%>
于 2014-04-30T04:32:18.167 に答える
1
Tomcat のようなサーブレット コンテナーには、一連の定義済みフィルターが付属しています。たとえば、Expires Filterを参照してください。独自の同様のフィルターを作成するよりも、既存のものを使用する方が簡単な場合があります。
于 2013-01-20T01:07:23.310 に答える