2010-10-13 68 views
2

我有一個用GWT和GAE編寫的應用程序,每個受支持的城市都有自己的應用程序。顯然,這不是管理地圖的最佳方式,因此我想將它們合併到一個應用程序中。目前我的應用程序在網址爲sub1.myapp.com,sub2.myapp.com,sub3.myapp.com等,我希望它們在myapp.com/sub1myapp.com/sub2等等。所有支持的城市都共享通用代碼,所以我將把所有代碼放在一個模塊中,併爲每個獨特的代碼塊有一個不同的模塊。這是否正確?不同模塊如何交互?將大型GWT應用程序拆分爲幾個模塊

此外,我目前有sub1.myapp.com/listofsomesort的JSP,我想將它們移動到​​。有沒有簡單的方法來完成這個?

+0

你知道App Engine支持通配符子域名嗎?沒有必要更改您的網址結構。 – 2010-10-13 08:10:07

+0

我現在在使用通配符子域,但這不是問題。我想完全擺脫子域名,因爲他們不會集中他們的頁面權限,而且人們通常會鏈接到我的網站的不同城市(例如nyc.myapp.com和losangeles.myapp.com)。將網址結構更改爲更適合搜索引擎優化的能力是我爲重構我的應用的動機之一。 – 2010-10-13 16:51:41

回答

3

通過爲每個舊應用程序創建一個帶有EntryPoint的模塊,在同一個應用程序中。每個模塊都有一個「歡迎頁面」,您可以將它放在不同的目錄中。所有的共享代碼可以進入另一個模塊。共享代碼可以被其他模塊中的inherit設置使用。

我碰到的唯一情況是,當您部署到GAE時,所有模塊都應該有一個入口點,也是庫模塊。我通過向他們添加一個虛擬的EntryPoint來解決這個問題,它什麼都不做,但仍然在尋找更好的解決方案。在How to deploy GWT Project containing GWT modules without entry points with Eclipse GAE plugin?看到我的問題。

+0

我還沒有機會開始,但這正是我需要的建議類型。謝謝。 – 2010-10-14 05:05:21

+0

我有幾個特定的​​問題:您是否修改了web.xml?如果歡迎文件設置爲MyApp.html,那麼是否可以將該文件複製到目錄/ nyc中並將其另存爲index.html,如果我更改了nocache路徑,則希望應用程序能夠正常工作? – 2010-10-16 07:43:51

+0

我沒有更改web.xml。我做了類似的項目只包含了war文件夾中的所有歡迎文件,其中一個是默認情況下加載的「歡迎頁面」。其他頁面可通過此處的鏈接訪問。你可以從任何html文件加載GWT模塊,所以我相信你必須能夠在你的情況下解決它。另請參閱:http://code.google.com/intl/nl-NL/webtoolkit/doc/latest/DevGuideOrganizingProjects.html#DevGuideHostPage – 2010-10-16 08:44:51

0

這看起來像是Code Splitting的工作:)但是,它可能需要對代碼結構進行一些更改 - 但取決於您的類的耦合程度。一個compile report應該告訴你,如果你的代碼很好地分裂,或者如果不是,連接在哪裏。

+0

當我有機會時,我會進一步研究這一點,但我認爲它不適合我,因爲我需要更改的大部分代碼都在服務器端。我在尋找的是更好地理解如何轉換我的代碼,以便在sub1.myapp.com和sub2.myapp.com上訪問的兩個完全不同的應用程序中的前兩個入口點現在可以通過單個條目進行訪問指向myapp.com/sub1和myapp.com/sub2上的同一應用程序。對於sub1和sub2,RPC幾乎相同。唯一的區別是來自不同城市的查詢數據。 – 2010-10-13 17:08:36

相關問題