在Struts2中,如何为未放置在标准/struts/、/template/目录中的静态内容设置缓存头

在Struts2中,如何为未放置在标准/struts/、/template/目录中的静态内容设置缓存头,struts2,cache-control,Struts2,Cache Control,我有一个Struts2(版本2.2.6)web应用程序,我想为Struts2的传统静态相关文件夹中不存在的静态资源设置Expires响应头。例如,它们位于根目录下的/images/、/css/、/js/下。我希望所有资源都有一个自定义的Expires响应头 如何在Struts2中执行此操作?使用过滤器;一旦确定它们不是S2服务的资源,Struts 2无论如何都不应该处理它们;一旦确定它们不是S2服务的资源,Struts 2无论如何都不应该处理它们。因此根据@Dave提供的提示,我提出了以下方法

我有一个Struts2(版本2.2.6)web应用程序,我想为Struts2的传统静态相关文件夹中不存在的静态资源设置
Expires
响应头。例如,它们位于根目录下的
/images/
/css/
/js/
下。我希望所有资源都有一个自定义的
Expires
响应头


如何在Struts2中执行此操作?

使用过滤器;一旦确定它们不是S2服务的资源,Struts 2无论如何都不应该处理它们;一旦确定它们不是S2服务的资源,Struts 2无论如何都不应该处理它们。

因此根据@Dave提供的提示,我提出了以下方法

在web.xml设置中,遵循过滤器及其映射

<filter>
    <filter-name>StaticContentCacheHeaderFilter</filter-name>
    <filter-class>management.filters.StaticContentCacheHeaderFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>StaticContentCacheHeaderFilter</filter-name>
    <url-pattern>/images/*</url-pattern>
</filter-mapping>
这将设置缓存头在一个月后过期


让我知道是否有更好的方法来处理这个问题。

因此根据@Dave提供的提示,我想出了以下方法

在web.xml设置中,遵循过滤器及其映射

<filter>
    <filter-name>StaticContentCacheHeaderFilter</filter-name>
    <filter-class>management.filters.StaticContentCacheHeaderFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>StaticContentCacheHeaderFilter</filter-name>
    <url-pattern>/images/*</url-pattern>
</filter-mapping>
这将设置缓存头在一个月后过期

让我知道是否有更好的方法来处理这个问题