2012-11-01 31 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