从Jersey

时间:2017-10-04 10:06:34

标签: java jersey

我开始使用泽西岛,而且我一直在玩这些例子。获取起始页面提到了3个不同的Maven原型 - 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原型与JavaEE原型非常相似。是否可以混合搭配,例如使用Grizzly进行更快的开发,然后将其作为JavaEE Web应用程序进行实际部署?

如果我提出的问题不清楚,我道歉,我似乎有点不知所措,因为这些选择看似前瞻性,而不是理解每种选择的差异和含义。提前感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

我今天开始并有同样的问题。

如果您使用Grizzly,则不需要应用服务器或servlet容器。 Grizzly框架使用Java NIO来支持HTTP并公开您的REST服务。因此没有web.xml。您应该能够在AWS或Heroku上部署应用程序。这就是我实际想要的。使用Jersey和Grizzly for REST支持的REST API将部署在Amazon AWS EC2实例上

我相信Heroku原型必须在应用程序中嵌入服务器(猜测)并使部署包符合Heroku要求

我想,

这个原型的网络应用版本是显而易见的。您需要一个应用服务器来部署和运行您的应用程序