2011-03-11 91 views
3

我正在開發基於Spring 3.0的Web應用程序,要求所有用戶都要登錄才能查看數據。登錄後,屏幕的某些部分將使用AJAX輪詢機制來更新後臺中的屏幕內容。目前,我們的會話不會超時,因爲每個到服務器的ajax請求都會更新Web應用程序的超時值,並且會話永遠不會超時。在Spring Web應用程序中使用Ajax輪詢的會話超時

我需要修改應用程序,以便當用戶登錄時,控制器將響應數據輪詢,但不會更新會話超時,以便會話在其預定時間超時。如果用戶沒有活動會話,則控制器不會返回任何內容。

我該怎麼做呢?

+0

你能告訴我你是怎麼處理這件事的? – user1707141 2016-07-25 13:38:41

回答

-1

你將不得不在你的servlet容器的內部搞砸。

這就是我將盡

  • 谷歌搜索「XHR的XmlHttpRequest servlet容器會話訪問」,看看什麼有趣的東西來了(我懶得做現在這個右)
  • 與任何servlet意味着你正在使用,在本地拉下代碼並查看會話實現。具體來說,你想知道什麼是設置javax.servlet.http.HttpSession.getLastAccessedTime返回的值。當你找到這個時,向後找出你如何定製這個。我很肯定你可以通過擴展它的一個內部類來使用Tomcat來實現這一點,並通過在你的XML配置文件中設置它來使用你的自定義類。
0

如何使用使用<%@ page session =「false」%>來傳遞ajax數據的頁面。由於這些頁面不會綁定到會話,所以會話超時可能不會更新。