nid*_*hin 5 cache-control jboss6.x
有没有办法使用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);
Run Code Online (Sandbox Code Playgroud)
我尝试使用domain.xml,但没有任何作用.
不要让自己复杂化.如果您希望每个响应都有此标头配置,请创建自己的过滤器来执行此操作.这样你就不会加入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 {
}
}
Run Code Online (Sandbox Code Playgroud)
那么你只需要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>
Run Code Online (Sandbox Code Playgroud)
此映射对所有请求都有效,但您可以对其进行调整.
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
788 次 |
| 最近记录: |