再会,
我正在使用CacheFilter过滤到我的服务器的某个路径(它将图像流输出到响应流)。我已经在我的 web.xml 中对其进行了如下配置:
<filter>
<filter-name>imagesCache</filter-name>
<filter-class>com.samaxes.cachefilter.presentation.CacheFilter</filter-class>
<init-param>
<param-name>privacy</param-name>
<param-value>public</param-value>
</init-param>
<init-param>
<param-name>expirationTime</param-name>
<param-value>2592000</param-value>
</init-param>
</filter>
...
<filter-mapping>
<filter-name>imagesCache</filter-name>
<url-pattern>/my/path/*</url-pattern>
</filter-mapping>
使用我的 Firefox,如果我通过地址栏访问我的 url,它会第一次访问服务器,但在后续调用期间使用缓存。但是,如果 url 在我的页面内( ie <img src="..."/>
),它似乎一直在访问服务器。
[编辑] 经过几次测试后,通过地址栏访问我的图像并不总是有效。但缓存似乎确实比 . 至于是不是真的,我不确定。
附加信息:我的路径类似于 /my/path?then=some&query=strings。请注意,它没有扩展名(即 gif、png、jpeg),但它的 mimetype 设置正确(image/gif、image/png、image/jpeg)。我不确定缺少扩展名或查询字符串的存在是否有任何影响。(另外,另一个注意事项。虽然我的 url 有查询字符串,但我在测试中一遍又一遍地使用相同的 uri + 查询字符串)。
任何想法为什么?
谢谢