使用 Jboss6.1 设置 Http header
Set Http header using Jboss6.1
有什么方法可以使用 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.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>
此映射对所有请求均有效,但您可以对其进行调整。
希望对您有所帮助!