簡體   English   中英

如何在java Web應用程序中同時使用http服務器和應用程序服務器

[英]How to use both http server and application server in a java web application

我有一些Java EE Web應用程序的部署模型問題。 目前,我們正在將我們的Web應用程序部署為Tomcat 6中的WAR文件。所有內容都與WAR文件一起打包,包括靜態內容,如圖像,靜態html頁面等。 但我想在HTTP服務器中部署這些靜態內容,並僅使用Application服務器來檢索動態內容。 我如何拆分這些東西? 是否有任何人做過這種事情,並為我的場景提供了良好的部署模型。 幫助將不勝感激。

制作2個僅包含靜態內容的WAR文件是一個好主意,並將該WAR部署在HTTP服務器中,其余部分作為不同的WAR文件部署並部署在應用服務器中? 但是這種方法會對當前引用靜態內容的所有頁面產生影響,並且需要更改代碼,因為我們的項目是巨大的,並且基於代碼非常大。

任何策略和想法都是受歡迎的。

出於性能原因,這可能是有趣的事情。

您應該有單獨的部署腳本/部署文件來執行此操作。 為一個項目部署多個文件/ WAR /文件夾/腳本不是問題。 當您必須部署WAR並更新數據庫時,我們會有同樣的事情。

我將有一個WAR文件和一個包含靜態內容的文件夾進行部署。


編輯

在HTTP服務器中部署靜態內容取決於服務器。 如果要在Linux服務器上使用Apache ,則必須設置虛擬主機

<VirtualHost *:80>
  # This first-listed virtual host is also the default for *:80
  ServerName www.example.com
  DocumentRoot /www/domain
</VirtualHost>

在此示例中,您擁有一個偵聽80端口的虛擬主機,任何IP地址和服務器名稱www.example.com 然后將其重定向到/www/domain路徑。

您將在文檔中找到更多示例和配置選項。

您無法將WAR文件部署到HTTP服務器。 WAR用於Java Web應用程序,它必須部署到應用程序服務器或servlet容器(如Tomcat )中。 我不認為在單獨的Web應用程序中分離靜態內容是個好主意。 如果這是一個項目,它應該是一個Web應用程序,除此之外:

WAR文件具有特殊的文件夾結構,除JSP頁面,Java servlet,Java類,HTML頁面等外,還包含特殊文件,這些文件組合成Web應用程序。

您可以在一個應用程序中保存靜態內容,並且實際上沒有什么不好的。

如果你的項目非常龐大並且有很多文件就沒問題,你只需要使用這樣的項目結構,它應該易於理解和讀取,應用程序服務器或servlet容器將負責部署盡可能多的文件。有的內容。

直到版本4,Tomcat在提供靜態內容方面一直很慢。 這就是為什么經常建議將動態從靜態內容中分離出來並使用常規Web服務器為后者服務(你提到的那本書是在2002年發布的......)。 最近的Tomcat版本沒有遇到這個問題,因此你可以免除劈開,這可能是組織和安全的噩夢。

對於靜態資源,您可能更關注配置正確的緩存,因此不會更頻繁地傳輸它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM