Tag: http caching

如何在struts2中禁止缓存?

在我的Web应用程序中,当用户注销时,他不应该访问他以前在登录时查看的页面。但是,由于浏览器缓存,他可以在单击后退按钮时查看这些页面。 我定义了一个Interceptor来处理这个: public String intercept(ActionInvocation invocation) throws Exception { // TODO Auto-generated method stub final ActionContext context = invocation.getInvocationContext(); HttpServletResponse response = (HttpServletResponse)context.get(StrutsStatics.HTTP_RESPONSE); if(response!=null){ response.setHeader(“Cache-control”, “no-cache, no-store”); response.setHeader(“Pragme”, “no-cache”); response.setHeader(“Expires”, “-1”); } return invocation.invoke(); } 在struts.xml : 添加此内容后,我运行应用程序时出现404错误。 我尝试在页面中添加响应标头: 但是,必须逐个将它添加到所有页面,这将是乏味的。 此外,用户可以始终重新提交表单,并且无需实际输入登录凭据即可再次访问这些页面。 理想情况下,我应该做些什么来阻止浏览器缓存?

如何使用CXF,JAX-RS和HTTP缓存

CXF文档提到缓存为高级HTTP : CXF JAXRS通过处理If-Match,If-Modified-Since和ETags标头提供对许多高级HTTPfunction的支持。 JAXRS Request上下文对象可用于检查前提条件。 还支持Vary,CacheControl,Cookies和Set-Cookies。 我真的很想使用(或至少探索)这些function。 然而,虽然“提供支持”的声音非常有趣,但它在实现这些function方面并不是特别有用。 有关如何使用If-Modified-Since,CacheControl或ETags的任何帮助或指示?

如何在applet中禁用http缓存

如何在我的japplet中禁用所有http连接的http缓存? 我不希望我的任何http(请求/响应)被缓存。无论控制面板\ java \ Temporary File Settings中的用户设置如何。 Applet使用java1.6进行签名和编译。 我正在使用URLConnection.class,我正在缓存我对第三方Web服务的请求。 即: 我可以在Java Cache Viewer中看到我的请求URL。 http://www.service.com?param1=232&param2=2323232 此外,我可以在应用程序…. users \ data \ sun \ java \ deployment \ cache中找到响应 responseline1 responseline2

我正在尝试使用Java的HttpURLConnection来执行“条件获取”,但我从未获得304状态代码

这是我的代码: final HttpURLConnection conn = (HttpURLConnection) sourceURL.openConnection(); if (cachedPage != null) { if (cachedPage.eTag != null) { conn.setRequestProperty(“If-None-Match”, cachedPage.eTag); } conn.setIfModifiedSince(cachedPage.pageLastModified); } conn.connect(); if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { newCachedPage.eTag = conn.getHeaderField(“ETag”); newCachedPage.pageLastModified = conn.getHeaderFieldDate(“Last-Modified”, 0); } else if (conn.getResponseCode() == HttpURLConnection.HTTP_NOT_MODIFIED) { // Never reaches here } 我似乎永远不会得到HTTP_NOT_MODIFIED响应代码,甚至连续几次点击同一个服务器 – 页面肯定没有变化。 此外,conn.getHeaderField(“ETag”)似乎总是响应null,有时conn.getHeaderFieldDate(“Last-Modified”,0)返回0.我已经尝试过针对各种Web服务器。 谁能告诉我我做错了什么?

是不支持meta http-equiv值缓存控件?

我在这个页面上有这个代码: 当我转到其他页面并点击浏览器的按钮(返回到此代码编写的页面)时,它仍然具有页面的缓存状态。 选项是,添加PhaseListener,但他们告诉我添加PhaseListener是一个额外的代码来维护。 问题是: 1.是元标记属性http-equiv值在所有浏览器的html中仍然支持cache-control? 因为当我在w3school登记时,属性http-equiv没有值缓存控制,编译指示和过期。 2.如果我添加了phaseListener,那么在每个页面中添加元标记会有什么好处。 谢谢你