gpt4 book ai didi

java - struts 1 中的响应过滤器

转载 作者:行者123 更新时间:2023-11-30 09:41:58 24 4
gpt4 key购买 nike

我们在我们的应用程序中使用 struts 1.2.4。该应用程序当前允许缓存安全 (https) 页面(不强制执行缓存控制)。我想更改该行为并向所有响应添加 cache-control:no-cache。

struts 是否提供了一些框架来全局设置缓存策略?

我该怎么做?

更新:Bon Espresso 的以下回答有效。我不得不补充“缓存控制”,“无缓存,无存储,必须重新验证”和过滤器的日期标题。

最佳答案

使用过滤器,在 web.xml 中配置过滤器

<filter>
<filter-name>cacheControlFilter</filter-name>
<filter-class>com.package.CacheControlFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>cacheControlFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

还有你的过滤器类

import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;

public class CacheControlFilter implements Filter {

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {

HttpServletResponse resp = (HttpServletResponse) response;
resp.setHeader("Expires", "Tue, 25 Dec 1993 23:59:59 GMT");
resp.setHeader("Last-Modified", new Date().toString());
resp.setHeader("Cache-Control", "no-cache");
resp.setHeader("Pragma", "no-cache");

chain.doFilter(request, response);
}

}

关于java - struts 1 中的响应过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8799699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com