【发布时间】:2012-09-18 09:26:36
【问题描述】:
我有一些关于 Java EE Web 应用程序的部署模型问题。目前我们在Tomcat 6中将我们的Web应用程序部署为WAR文件。所有内容都与WAR文件打包在一起,包括静态内容,如图像、静态html页面等。但我想将这些静态内容部署在 HTTP 服务器中,并仅使用应用程序服务器来检索动态内容。我如何拆分这些东西?有没有人做过这种事情,并且对我的场景有一个很好的部署模型。我们将不胜感激。
将 2 个 WAR 文件制作成一个只有静态内容的文件并将该 WAR 部署在 HTTP 服务器中,其余作为不同的 WAR 文件并将其部署在应用程序服务器中是个好主意吗?但是这种方法会对当前引用静态内容的所有页面产生影响,并且需要更改代码,这非常麻烦,因为我们的项目很大,并且基于代码的代码非常大。
欢迎任何策略和想法。
【问题讨论】:
-
为什么要拆分静态和动态内容?这是组织考虑还是您想提高绩效?
-
感谢 cmets,感谢每一位 cmets。对我来说很好的学习曲线。我想同时使用 HTTP 服务器和应用程序服务器来提高我的 Web 应用程序的性能。一段时间以来,我一直在阅读一本名为“Java™ 网站性能分析”的书。它建议我将静态内容放在 HTTP 服务器中,将动态内容放在应用程序服务器中。但我不知道如何实际做到这一点。我所知道的是如何构建 WAR 文件并在 Tomcat 中部署,这是我们用于部署的应用服务器。
-
所以我的问题可以修改如下。如何在 HTTP 服务器中部署我的静态内容?如果我在这方面得到一些帮助,那么我可以继续从 WAR 文件中删除我所有的静态内容,并将其部署到 HTTP 服务器和应用程序服务器中 WAR 内的其余文件中。
-
您只需要设置一个 Apache 服务器或类似服务器,然后将所有图像/css/js/其他静态内容(不是 JSP/JSF)放在其配置的文件夹中。我不建议这样做,我非常怀疑任何性能提升都会显着,特别是如果它只是几个 css/js/image 文件。无论如何,这些都缓存在客户端 Web 浏览器上,所以这不是一个大问题,虽然您需要做更多的工作来设置和维护它。如果您提供大量大文件,我可以想象这可能是一个好主意。
标签: java jakarta-ee deployment web