0

我正在创建一个在vaadin其中运行的项目Tomcat,但问题通常涉及 java web 应用程序。该应用程序由许多模块组成,这些模块共同构成了该应用程序。我想对其进行调整,以便应用程序运行的方式由 url 确定。因此我在 url 上附加了一个参数,url 看起来就是:

http:myproject/anything/foo?mode=sth.

我在方法中提取参数onRequestStart()

String param = request.getParameter("mode");

我根据参数构建应用程序。即参数a1仅显示模块a1,仅参数a2模块a2,...并normal为整个应用程序提供参数。但是我browser cache对参数“ normal”有疑问。使用此参数第一次运行后,浏览器下一次都不会“实现”新请求并从缓存中显示应用程序,这意味着最后一个模块显示。奇怪的是其他参数我还没有注意到这个问题。尽管如此,它仍然不可靠,为了确保它确实可靠,我必须避免浏览器缓存。有什么解决办法?我发现一种解决方案是添加一个timestamp在 url 上,每次都必须更改,以便它总是读取一个新的 url 并发出一个新的请求。我怎么能在java应用程序中附加它?

4

1 回答 1

1

HttpServletResponse.

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

如果您需要对所有页面执行此操作,最好将其实现为Filter.

于 2013-08-22T21:48:57.723 回答