我已经阅读了一些关于Web Server和Application Server之间差异的帖子和答案......主要是,应用服务器可以提供除HTTP以外的其他协议并提供EJB。问题是,我从未理解实际上是什么EJB。我读的越多,我似乎就越不了解......
总而言之,我无法理解EJB带来的不可能用简单的Java类做到的另一种方式?
而且,由于我无法理解这一点......我无法理解何时需要应用服务器。 Apache Tomcat(例如)何时不足以满足我的需求?什么会迫使我使用应用程序服务器?
答案 0 :(得分:0)
好吧,你实际上可以使用tomcat进行Java EE开发,但是你需要携带很多库(.jar)来使用它,这也取决于规范的实现(例如:redhat jpa vs oracle jpa)你可以混合一些库,最终得到一个难以维护的系统。
Application Server是代表具有高度集成(且经过测试)的完整Java EE堆栈的服务器的术语。例如,根据规范,Tomee,Wildfly和Glassfish足以编写和运行使用jpa,ejb,jsf(以及所有Java EE规范)的应用程序。此外,只需最少的努力,您就可以在应用服务器之间进行迁移(嗯,这说起来容易做起来)。
Web服务器(álatomcat)更面向servlet,你只需要运行最少的规范,因此,你需要自己添加接口和实现(是的,.jars,.jars,相信我,你不希望这个项目)。我会推荐tomcat用于不依赖于java ee基础设施的网站,除非!,你喜欢使用Spring(一些罐子可以添加,但更容易和集成)。
如果您需要Java EE应用程序,请保持简单并使用App Server,另一方面,如果您是Spring,请使用Tomcat + Spring,但是,对于上帝的爱,不要在同一个应用程序的同一时间。
答案 1 :(得分:0)
如果你使用tomcat,你可以使用springframefork。如春天所说,只有一件事不能用spring做,但可以用EJB做。并且它是在不同应用服务器之间进行远程调用的两个fase分布式事务。