应用程序服务器和 servlet 容器之间的区别?

我试图理解一个完整的应用程序服务器(例如Weblogic,JBoss等)和servlet容器(Tomcat,Jetty等)之间的区别。

它们有何不同,何时使用哪种?

谢谢


答案 1

servlet 容器仅支持 servlet API(包括 JSP、JSTL)。

应用程序服务器支持整个JavaEE - EJB,JMS,CDI,JTA,servlet API(包括JSP,JSTL)等。

可以在 servlet 容器上运行大多数 JavaEE 技术,但您必须安装特定技术的独立实现。


答案 2

从广义上讲,servlet 容器或多或少地将自己限制在 J2EE Servlet 规范的实现中。此外,它的重点是运行时环境,而不是提供其他工具。

相比之下,一个成熟的应用程序服务器实现了整个J2EE堆栈;此外,它还配备了所有企业工具和集成可能性。应用程序服务器通常具有高级管理接口,它支持集群和其他主要用于高端系统开发的功能。

对于初学者来说,最好使用一个简单的servlet容器,因为那里的学习曲线要陡峭得多。


编辑

@Apache Fan:这取决于您的具体情况,例如现有系统和未来计划等。我不认为通用的流程图方法在这里适用。

平台选择通常是通过将特定要求与所考虑系统的第一手知识进行权衡来完成的。

然而,这个问题没有提供关于评估标准是什么的线索。它应该是开源的吗?是否需要全天候供应商支持?系统应该与什么样的企业环境集成?许可费是一个问题吗?任何必备的技术或工具?等。

在不知道上面的情况下,它几乎是在黑暗中拍摄的。