我正在开始使用 Jersey,并且一直在研究这些示例。入门页面提到了 3 种不同的 Maven 原型(prototype),从 - one using Grizzly 开始,一个代表 making a JavaEE Web Application ,以及类似的一个,但用于部署在 Heroku 上。
我已经玩过 Grizzly 了,看起来很简单,但我觉得我不明白它们之间的区别。如果我理解正确的话,制作 JavaEE Web 应用程序需要打包为 WAR 并使用 servlet 容器,例如 Jetty 或 Tomcat。
使用 Grizzly 似乎更好,因为它不必每次都打包,但我认为制作 JavaEE Web 应用程序有一些我所缺少的优点。 Grizzly 示例没有 web.xml 文件,但其他示例有。这是使用 Grizzly 的限制还是没有必要?如果我以后想使用 Heroku 或 AWS 部署我的服务器,我只能将其设为 JavaEE Web 应用程序吗? Heroku 原型(prototype)与 JavaEE 原型(prototype)如此相似似乎暗示了这一点。是否可以混合搭配,例如使用 Grizzly 来加快开发速度,然后将其制作为 JavaEE Web 应用程序来实际部署?
如果我的要求不清楚,我深表歉意,我只是对这些看似预先的选择感到有点不知所措,并且不理解每个选择的差异和含义。预先感谢您提供的任何帮助!
最佳答案
我今天开始也有同样的问题。
如果您使用 Grizzly,则不需要应用程序服务器或 servlet 容器。 Grizzly 框架使用 Java NIO 来支持 HTTP 并公开 REST 服务。因此没有 web.xml。您应该能够在 AWS 或 Heroku 上部署应用程序。这就是我实际上正在尝试的。使用 Jersey 和 Grizzly 提供 HTTP 支持的 REST API 部署在 Amazon AWS EC2 实例上
我相信 Heroku 原型(prototype)必须在应用程序中嵌入服务器(猜测)并使部署包符合 Heroku 要求
我想,网络应用程序版本的原型(prototype)是显而易见的。您需要一个应用程序服务器来部署和运行您的应用程序
关于java - 推荐从 Jersey 开始的 Maven 原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46562176/