View Javadoc

1   package com.atlassian.core.filters.cache;
2   
3   import org.apache.commons.lang.StringUtils;
4   
5   import javax.servlet.http.HttpServletRequest;
6   import javax.servlet.http.HttpServletResponse;
7   
8   /**
9    * Applies caching headers to ensures JSP responses are not cached by the client. A JSP request is
10   * one that has the string ".jsp" somewhere in the request URI.
11   *
12   * @since 4.0
13   */
14  public final class JspCachingStrategy implements CachingStrategy
15  {
16      public final boolean matches(HttpServletRequest request)
17      {
18          final String uri = request.getRequestURI();
19          return StringUtils.indexOf(uri, ".jsp") > 0;
20      }
21  
22      public final void setCachingHeaders(HttpServletResponse response)
23      {
24          response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // http 1.1
25          response.setHeader("Pragma", "no-cache"); // http 1.0
26          response.setDateHeader("Expires", 0); // prevent proxy caching
27      }
28  }