[英]How many sessions can be managed by an Java Application in Struts 2?
我正在使用事務管理應用程序,並且正在使用Struts2。 我在內部使用了一個會話來設置和獲取諸如
ActionContext.getContext().getSession().put("string", string);
在應用程序中使用這樣的會話是否有任何限制或缺點?
沒有限制 Struts 2中的會話被實現為Map
以簡化對Servlet會話屬性的訪問。
我寫了這個答案:
如果您想訪問Servlet會話屬性,則
SessionMap
是專門為此目的而設計的。 因此,用戶能夠在會話中保留對象的同步集合,並直接使用它代替HttpSession
。
我只知道一個缺點,如果您從操作上下文獲取會話,則它可能會返回null
。 解決的辦法就是這個答案。
有兩種方法可獲取操作的會話映射:
- 實現
SessionAware
。 默認情況下,在操作調用中填充會話映射。 這是一種更好的方法。- 從操作上下文獲取會話映射。 這樣,您應該確保請求由Struts2過濾器處理。
如docs頁面中所述, 首選第一種方法,它允許您在測試中使用會話。
它是您系統內部/物理內存的大小。 該會話是在war文件中創建一個單例類.war文件存儲在您的服務器中。 服務器位於Windows的C:文件夾中。 因此,會話取決於您的物理內存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.