gpt4 book ai didi

jboss6.x - 使用 Jboss6.1 设置 Http 头

转载 作者:行者123 更新时间:2023-12-04 05:56:00 25 4
gpt4 key购买 nike

有没有办法使用Jboss6.1的配置文件设置HttpHeader。这些配置适用于整个项目。

我想使用其配置文件在 Jboss6.1 服务器中设置波纹管属性。

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0);

我用 domain.xml 试过了,但没有任何效果。

最佳答案

不要让自己复杂化。如果您希望每个响应都具有此 header 配置,请创建您自己的过滤器来执行此操作。这样你就不会被耦合到 JBoss 并得到你想要的。

这里有一个过滤器示例:

package your.package;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;

public class NoCacheFilter implements Filter {

@Override
public void destroy() {
}

@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse hsr = (HttpServletResponse) res;
hsr.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
hsr.setHeader("Pragma", "no-cache");
hsr.setDateHeader("Expires", 0);
chain.doFilter(req, res);
}

@Override
public void init(FilterConfig arg0) throws ServletException {
}
}

那么你只需要将它配置到你的 web.xml 中或多或少这样:
<filter>
<filter-name>noCacheFilter</filter-name>
<filter-class>your.package.NoCacheFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>noCacheFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

此映射对所有请求都有效,但您可以对其进行调整。

希望能帮助到你!

关于jboss6.x - 使用 Jboss6.1 设置 Http 头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33168387/

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