3 回答

TA貢獻1772條經(jīng)驗 獲得超5個贊
您不應該共享HttpSession;但您可以共享其他對象。例如,您可以通過JNDI注冊對象,并在所有應用程序中訪問同一對象(數(shù)據(jù)庫使用此對象來池化連接)。

TA貢獻1777條經(jīng)驗 獲得超10個贊
要注意的一件事是,兩個Web應用程序?qū)⑹褂貌煌念惣虞d器。如果要共享對象,則它們需要使用來自相同類加載器的相同版本的類(否則,您將獲得LinkageErrors)。這意味著要么將它們放入兩個Web應用程序共享的類加載器中(例如,系統(tǒng)類路徑),要么使用序列化有效地消耗并使用正確版本的類在正確的類加載器中重構對象。

TA貢獻2039條經(jīng)驗 獲得超8個贊
如果to webapp是如此緊密地耦合在一起,以至于它們需要共享對象,那么為什么要將它分成兩部分?即使您稍微獨立地管理它們,任何體面的構建管理系統(tǒng)都應該能夠創(chuàng)建一個用于部署的WAR文件。
像Aaron這樣的解決方案建議使用JNDI起作用,但前提是兩個Web應用程序都在同一服務器上運行。如果這些單元緊密耦合,并且無論如何您將在同一臺服務器上運行它,那么可能還需要一個WAR
如果您確實希望他們獨立站立,那么我將認真檢查兩者之間的數(shù)據(jù)交換。理想情況下,您希望他們僅彼此共享相關數(shù)據(jù)??梢酝ㄟ^POST(或者更合適的話是GET)參數(shù)來回傳遞這些數(shù)據(jù),您甚至可以考慮使用cookie。
添加回答
舉報