0

我有一个 Apache Tomcat 服务器正在运行。如果我有类似的东西:

webapp/
    image1.png

然后,我可以使用以下方法简单地访问它:

example.com/image1.png

这是完美的,除了我无法控制发送的标头。我希望Expires为某些 MIME 类型(例如 for image/png)发送特定的标头。这些标头将是静态的,所以我不介意是否必须在某些 XML 文件中指定它并且不能是动态的。

Apache Tomcat可以吗?另一种明显的方法是从文件中读取并使用适当的标题将其输出到浏览器,但我认为这可能是一种矫枉过正。

4

2 回答 2

2

使用 Tomcat 过滤器来应用此标头。

<web-app ...>
    ...
    <filter>
       <filter-name>ExpiresFilter</filter-name>
       <filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
       <init-param>
          <param-name>ExpiresByType image</param-name>
          <param-value>access plus 10 minutes</param-value>
       </init-param>
       <init-param>
          <param-name>ExpiresByType text/css</param-name>
          <param-value>access plus 10 minutes</param-value>
       </init-param>
       <init-param>
          <param-name>ExpiresByType application/javascript</param-name>
          <param-value>access plus 10 minutes</param-value>
       </init-param>
    </filter>
    ...
    <filter-mapping>
       <filter-name>ExpiresFilter</filter-name>
       <url-pattern>/*</url-pattern>
       <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    ...
 </web-app>

Tomcat 过滤器文档中的更多信息

于 2012-06-05T11:22:21.313 回答
0

您可能使用的不是 Tomcat 7,而是旧版本。在我的 Tomcat 7 安装中,我发现过滤器打包在 catalina.jar

于 2012-06-19T22:02:09.407 回答