tomcat不是应用程序服务器的原因是什么

时间:2016-04-06 05:15:34

标签: java tomcat

我知道Tomcat是一个Web服务器,但为什么它不是应用程序服务器?

任何服务器都需要遵循一些规范。那个规格是什么?

apache是​​否可以创建tomcat应用程序服务器?

此外,我在博客中读到tomcat没有一些lib作为应用程序服务器。什么是libs?

由于

2 个答案:

答案 0 :(得分:4)

我曾经听过以下解释,我倾向于同意:

有一个JEE(Java企业版)的规范。

在形式上你可以把它想象成一堆pdf-s来描述构成JEE堆栈的各种技术的行为( 例如:JMS,EJB,JPA,JPA,JSF,CDI等等)以及部署模型(例如EAR)。

应用程序服务器的实现者必须实现所有这些技术并提供可供应用程序开发人员使用的接口。 因此,支持WildFly(前JBoss),Geronimo,WebSphere,WebLogic等的团队已经阅读了这些规范,并在那里实现了所有内容。

现在,tomcat没有这样做,他们只关注(主要)Servlets / JSP。这些是WEB技术,因此Tomcat不能被视为实现整个JEE堆栈的应用程序服务器。

一般来说,tomcat(以及jetty,btw)应该比完全符合JEE的应用服务器更轻量级,它应该更快启动,内存占用应该更小。所以Tomcat / Jetty称自己为Web服务器。

我知道这个答案可以被视为猜测,但对我来说这很有道理,所以 希望这个解释可以帮助你

答案 1 :(得分:2)

贝娄是我的感知:

  

知道Tomcat是一个Web服务器,但为什么它不是一个应用服务器?

此处, Application Server 专门用于 Java EE服务器 Java EE Enterprice的巨大specific collections应用程序开发,所以 Application Server 应该实现其中的大部分细节,而 Tomcat (或 Jetty )只是 Web服务器(更确切地说, Servlet容器),它们只实现了关于 Web 的具体信息(例如 Servlet规范(JSR340) , JSP (JSR245))。因此, Application Server 强于 Web Server ,但 Web Server 更轻量级,足以满足大多数Web应用程序。

  

任何服务器都需要遵循一些规范。那个规格是什么?

当然,这取决于您的服务器想要提供哪些服务(功能),这些规范可以查看here

  

apache是​​否可以创建tomcat应用程序服务器?

我认为apache不会让tomcat成为应用服务器。现在,有一些流行的 Java EE服务器JbossWebLogic等。相反,并非所有的商家都需要重量级的 Application Server ,相反,大多数只需要一个轻量级的 Web服务器

  

此外,我在博客中读到tomcat没有一些lib作为应用程序服务器。什么是libs?

Tomcat 只需关注 Web 的规范,并实施它们。

希望得到你的帮助。