我對Java EE相當新穎。我正在瀏覽CDI和EJB材料,並且遇到了@SessionScoped和@Stateful註釋。@SessionScoped/@Stateful - 他們如何管理會話/狀態
查看定義: @SessionScope:維護用戶與跨多個HTTP請求的Web應用程序的交互。
@Statfeful:看起來像它具有相同的功能@SessionScope
因此,這裏有我的疑惑:
1)不要兩者達到同樣的目的? 2)我有一些Node和Python的經驗。在那些用於維護客戶端狀態的語言中,我總是使用與HTTPSession對象綁定的cookie,該對象進一步綁定到內存緩存(redis/memcache),以便在所有服務器上分發。
所以我可以在這裏使用相同的技術以及...正確嗎?那我爲什麼要用這些符號呢?另外,如果我打算使用它們,那麼如何讓它們分佈在所有服務器上? 我的意思是來自客戶端的請求可以來到server1,然後下一個請求可以去server2 ..在這種情況下,如果這個SesssionScoped對象沒有分佈,那麼事情將如何正確工作?
這些註釋的目的是什麼?
@sessionScope將對象綁定到HTTP會話......您能解釋一下嗎?如果我的sessionScoped對象沒有分配,那麼這將如何工作?這個綁定是如何完成的?在此之前,我使用cookie將我的http請求綁定到http會話對象(在node.js中) – JackSparrow
我的意思是任何意圖保持客戶端狀態的對象都必須分佈在所有應用服務器上,不是嗎? – JackSparrow
你是什麼意思沒有分配?我認爲你混淆了集羣和http會話。 –