2012-03-04 109 views
0

我們有幾個Java Web應用程序,它們用於不同的目的(一個用於公衆,一個用於內部管理),但是在同一個數據庫上工作。我們將大部分業務和數據庫邏輯保存在一個項目中,包含在兩個項目中的第三個項目中,這很好。在不同的Java Web項目之間共享表示邏輯

但是,現在我們想要在應用程序之間共享表示邏輯。 (換句話說,我們希望在每個應用程序中出現相同的操作類來控制相同的頁面。)

完成此目標的最佳方法是什麼? JSP可以存儲在jar中並使用嗎?兩個Web應用程序可以引用常見的jsps嗎?兩種應用程序共享會話數據的好方法是什麼,以便用戶可以在應用程序之間來回切換?

回答

1

下面就可以做,以實現您打算什麼:

  1. 創建具有您的應用程序的多個Web/EJB項目共同EAR。因此,所有WebApp都可以駐留在通用的EAR文件中,並且可以使用保持在EAR級別的常見JAR。
  2. 就像一個java項目可以依賴另一個Java項目一樣,Web項目也可以依賴於其他Web項目。因此,使用JSP和實用程序類創建一個通用Web項目。將此通用Web項目添加到其他Web項目的構建路徑。他們會繼承JSP和Java類,並且也可以擁有自己的自定義JSP。

以上內容將爲您提供基本框架。 Web Apps沒有共享數據的標準方式。如果您希望用戶使用普通會話,則可以使用基於SSL或令牌的會話維護。來自一個應用程序的會話數據不能被複制到另一個應用程序,但是您可以將一些邏輯放在一個EJB中,通過將它們以一種乾淨的方式鏈接起來,可以從這兩個應用程序中調用它們。

1

您希望在這兩個應用程序之間共享表示邏輯和會話數據的事實表明,這兩個應用程序應該合併到一個應用程序中,管理員只需擁有比簡單用戶更多的權限。

+0

大多數應用程序不會共享。我簡化了三個以上的應用程序。 – Joe 2012-03-05 14:14:31

0

我們有類似的問題。我們想在幾個項目之間共享JSP。 JSP可以存儲在maven war包中的一個基本web項目中。然後,您可以將來自基礎項目(JSP,CSS,Javasripts等)的這些資源作爲maven依賴項共享,並且您可以覆蓋依賴項目中的特定JSP,CSS等。它對我們非常有用,我們不需要在很多項目中修復一個相同的JSP。

有關詳細信息,請參閱:maven overlays