2012-11-01 47 views
1

我们有一个Java Web应用程序(使用检票) 没有从我的网页其他网址 几个HTTP请求有时我们得到了第过期 页面过期出现在Firefox,但不会出现在镀铬 我们认为是因为地址的改变由检票口做可能出于安全原因 如果认为这是真的,如何防止检票口从地址改变检票页面过期

所以我的问题是:为什么我的网页的URL从“HTTP经常 变化:// IP地址: 8080/myApp/myPage“至”http:// IP地址:8080/myApp/myPage /?x = nLoy8Gx3J9W9GGieNNBndQ“至”http:// IP地址:8080/myApp /?x = a8T-eIw8IixNrgLDxszosg“等。 请注意,我的网页上有一个简单的提交表单。

我问这是因为我们认为我们的页面过期原因与网址更改有关。

+0

那么问题是什么? – biziclop

+0

为什么wicket会频繁更改我的网页的网址 – abozar

+1

由于您没有告诉我们实际的代码,我只能说这是因为Wicket的工作原理。你可以阅读更多关于它[这里](https://cwiki.apache.org/WICKET/pages.html)。 – biziclop

回答

2

当在页面存储中找不到当前页面时,会显示页面已过期页面。可能有不同的原因:

  • http会话已过期,因此会话的所有页面都已从页面存储中删除。检查会话到期时间间隔((HttpServletRequest)getRequestCycle().getRequest().getContainerRequest()).getSession().getMaxInactiveInterval()
  • 商店尺寸已超出且商店中的页面已被删除。 用getSession().getApplication().getStoreSettings().getMaxSizePerSession()检查大小。
  • 将页面保存到页面存储过程中发生了一些错误,现在无法从页面存储中检索页面。
+0

有没有像wicket 1.4中的getStoreSettings()? – abozar

+0

在Wicket 1.4中应该是这样的东西1.4 SecondLevelCacheSessionStore sessionStore =(SecondLevelCacheSessionStore)getSession()。getApplication()。getSessionStore(); DiskPageStore pageStore =(DiskPageStore)sessionStore()。getStore(); pageStore.getMaxSizePerSession(); – divanov