我必須避免以下情況。 我正在運行servlet。此會話在我的超時(WEB.XML)期限後將在瀏覽器中過期。得到這個超時後,我需要重新加載瀏覽器中的這個鏈接來激活這個servlet。我不想重新加載鏈接,它應該在超時後創建一個新的會話。一旦當前的servlet會話過期,我想創建一個新的會話。
0
A
回答
0
正確的解決方案是延長(session-timeout
)web.xml
。
您的客戶端,瀏覽器中的JS應用程序應連接到服務器以宣佈它仍然存在。
0
超時是會話被服務器終止之前的非活動時間段。如果你想保持會話活動 - 即使沒有活動 - 那麼你可以延長無活動超時。
或者,您可以編寫一個每隔幾分鐘向服務器發送一次心跳的Javascript AJAX keepalive。你可以寫一個簡單的專用servlet來接收這個keepalive併發回一個簡單的響應。心跳將被視爲活動 - 並因此保持活動。
This post給出了一個Javascript的例子(問題是C#相關但不應該)。
相關問題
- 1. 我的自定義session_start()是否創建一個全新的會話而不是恢復當前會話?
- 2. 創建一個會話
- 3. 爲什麼我登錄前創建了一個新會話?
- 4. 快遞路由器創建一個新的會話不想
- 5. 打開一個新窗口中創建一個新的會話
- 6. 指示StructureMap創建一個新的會話(配置只有當)
- 7. 會話無效並創建新會話
- 8. facebook api - 如何過期當前會話?
- 9. 我想爲登錄頁面創建一個會話
- 10. 有一個servlet不會更新用戶的java會話
- 11. 會話+另一個會話
- 12. 更新當前會話
- 13. ASP.NET Postback創建一個新線程和一個新會話
- 14. 如何在併發會話訪問中過期前一個會話
- 15. 返回當前會話的上一頁
- 16. 當會話超時時,Tomcat會創建一個jsessionid cookie
- 17. 新創建的會話不會保留會話內容
- 18. 我想創建一個對話框
- 19. 爲什麼刷新頁面後我得到一個新的會話(我在創建會話後保存())
- 20. 不想要的會話創建
- 21. 休眠會話工廠多個DAO的一個新會話
- 22. 無法創建一個會話對象
- 23. 做$ _SESSION [];創建一個會話
- 24. 創建一個會話保存在Python
- 25. 一個新的會話,會話變量返回的是空
- 26. NowJS當前會話
- 27. 會重新分配會話變量防止會話過期?
- 28. 如何創建新的會話替換舊的會話笨
- 29. @Transactional沒有創建會話 - org.hibernate.HibernateException:沒有找到當前線程的會話
- 30. Servlet:當cookie被禁用時爲每個請求創建的新會話
而不是增加超時。我想通過調用dopost/doget來對程序進行自動刷新。如果我需要添加dopost/doget,我需要添加哪裏?在哪個部分再次調用(創建新會話) – Arunjoshi
我認爲這是不可能的。你的客戶端(瀏覽器)應該處理這種情況,而不是服務器。 – MariuszS