2013-06-04 57 views
0

設置- 我有一個JSP - index.jsp和一個servlet indexController。 indexController將請求轉發給index.jsp。不需要執行indexController而執行index.jsp。如何將主頁映射到Java EE中的「應用程序的根」?

要求 -

  1. 'www.mysite.com' 應該由indexController的服務/ index.jsp的
  2. 無效URL的請求應該重定向到 'www.mysite.com'。
  3. 'www.mysite.com/index.jsp'應該被重定向到'www.mysite.com'。

我的解決方案 -

  1. 地圖indexController的以 「/」 - 我看,這是壓倒一切的 '默認的servlet',我想避免這種情況。
  2. 在welcome-file-list中映射'index.jsp':我不需要明確映射science'index.jsp'在那裏,它會被自動作爲歡迎文件。這樣做不會執行indexController。此外,無效的網址「轉發」不會重定向到歡迎文件。
  3. 將錯誤頁面映射到主頁 - 這是與自己作弊。我不想隱藏錯誤。
  4. 使用兩個servlet。一個帶有「/ *」映射,將所有內容重定向到「mysite.com」。其次映射到實際服務請求的「」(空)。 - 這裏有一些神祕的問題(還沒有弄清楚)

我認爲,每個人都想爲他們的主屏幕實現相同的功能,並且在類似問題的stackoverflow上有很多問題。

是否有任何標準的解決方案,一勞永逸地解決問題。


編輯: - 超過30分鐘只有7個意見。刪除GAE標籤,以吸引更多觀點。

回答

0

只需在應用程序服務器之前放置一個Web服務器,您就可以將任何URL映射到任何應用程序/頁面。也不要直接發佈應用服務器。 您是否使用Tomcat我認爲,所以您可能已經部署了ROOT應用程序,對不對? (無論如何,你應該去網絡服務器)

+0

此外,你可以使indexController過濾器,而不是一個servlet,所以你可以過濾/ *請求,你可以在那裏做重定向。 –

+0

謝謝@Balint Bako。我使用的是GAE,所以沒有任何不同的App Server。只有一臺服務器。我已經解決了這個問題。我會發布最終解決方案(目前很忙)。 –

相關問題