如何在Jetty中设置动态Expires标头?

如何在Jetty中设置动态Expires标头?,jetty,rewrite,servlet-filters,expires-header,jetty-8,Jetty,Rewrite,Servlet Filters,Expires Header,Jetty 8,Jetty允许使用Jetty重写功能设置标题,但它似乎不是很智能,只接受固定字符串 我如何告诉Jetty发送“8小时后过期”标题 使用Apache.htaccess和mod_expires,您可以这样做,但Jetty当然不理解.htaccess文件,我也无法在Jetty-rewrite.xml中找到类似构造的任何信息 <Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewri

Jetty允许使用Jetty重写功能设置标题,但它似乎不是很智能,只接受固定字符串

我如何告诉Jetty发送“8小时后过期”标题

使用Apache.htaccess和mod_expires,您可以这样做,但Jetty当然不理解.htaccess文件,我也无法在Jetty-rewrite.xml中找到类似构造的任何信息

<Call name="addRule">
    <Arg>
        <New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
            <Set name="pattern">*.png</Set>
            <Set name="name">Expires</Set>
            <Set name="value">access plus 8 hours</Set>
        </New>
    </Arg>
</Call>


但似乎没有为动态设置标题提供类似的功能。

这可能是一个不错的功能

在RT/Jetty下的bugs.eclipse.org上为它打开一个增强。补丁是受欢迎的,可以附加到bug上,也可以推送到gerrit实例中

也就是说,jetty xml实际上是java上的一个xml层,所以我想如果您能找到它的APi,您实际上可以在java中这样做。我认为有一个joda时间库,它有一个方法,您可以连接一些东西,调用new DateTime().plusHours(8)来填充该值


不过,最好将其作为一项功能添加。

我真正想要的是能够在.htaccess文件中直接处理这些规则(这样我就可以使用熟悉且简洁的语法),但我猜,打开一个增强请求来添加htaccess支持没有什么意义?去吧,如果我们有一个资源处理程序来处理该格式,那就太好了……我不能说我们会很快找到它,但如果它在那里,可能会有人来实现它并做出贡献:)