
クライアント側に対する、スタティックドキュメントのキャッシュについて

【概要】
  クライアントに、静的ドキュメントをキャッシュさせることで、レスポンス向上を
  図ります。

  ここでは、『"Cache-Control","private, max-age=86400"』 を設定することで、
  『プロキシ等にはキャッシュさせず、２４時間のキャッシュ、リロード時は、再読み込みする。』
  を実現します。（パラメータではなく、直接指定とします。）

【方法】
  レスポンスヘッダーのキャッシュコントロールで制御可能です。
  この場合、フィルターなどの方法でも可能ですが、すべてのリクエストに対して、
  判定も含めて通過するため、もっとTomcatに近い箇所で処理を行わせます。

  具体的には、静的ドキュメントを処理する、DefaultServlet をオリジナルの処理に
  置き換えます。

【ソース他】
  C:\opengion\apps\src\tomcat_7.0.29_CacheControl フォルダに、ソースを準備します。
  org.opengion.tomcat パッケージに、CacheDefaultServlet.java クラスを用意します。

  このクラスは、org.apache.catalina.servlets.DefaultServlet を継承し、
  serveResource( HttpServletRequest ,HttpServletResponse ,boolean )メソッドを
  オーバーライドします。

  コンパイル後、ogCache.jar ファイルを作成します。

【設定】
  ogCache.jar ファイルを、TOMCAT_HOME の lib にコピーします。
  (例:C:\opengion\apps\tomcat7.0.29\lib)
  このクラス(JAR)は、tomcat7.0.29\endorsed や、jdk170u5\jre\lib\ext などの
  フォルダでは認識されません。
  (なぜか原因は不明。できれば、endorsed で管理したいのだが・・・)

  tomcat7.*.*/conf/web.xml の <servlet-name>default</servlet-name> の設定で、
  servlet-class クラスを、DefaultServlet から CacheDefaultServlet に
  置き換えます。
  具体的には、パッケージ名も含めた、
  <servlet-class>org.opengion.tomcat.CacheDefaultServlet</servlet-class>
  に、書き換えます。

  init-param の debug を、0 以上 にすると、デバッグ情報が出力されますので
  指定のメソッドを通過したかどうか、判断できます。

