Servlets EJB和Servlet之间的区别?

Servlets EJB和Servlet之间的区别?,servlets,ejb-2.x,Servlets,Ejb 2.x,我们使用EJB2.1使用ApacheAxis2作为Web服务公开。我在codebranch网站上读到,这两个组件都是服务器端组件,ejb可以在多个服务器上运行,这与Servlet不同。但我没有清楚地了解它们之间的区别。我得到了确切的答案,它们都是服务器端实体。ejb是通过包装RMI API设计的。ejb是企业级服务。EJB可以作为Web服务部署在世界任何地方的主要优势。EJB是servicelayer enity,它甚至可以被servlet使用。 我们可以在服务层中使用普通java,但EJB的不

我们使用EJB2.1使用ApacheAxis2作为Web服务公开。我在codebranch网站上读到,这两个组件都是服务器端组件,ejb可以在多个服务器上运行,这与Servlet不同。但我没有清楚地了解它们之间的区别。

我得到了确切的答案,它们都是服务器端实体。ejb是通过包装RMI API设计的。ejb是企业级服务。EJB可以作为Web服务部署在世界任何地方的主要优势。EJB是servicelayer enity,它甚至可以被servlet使用。
我们可以在服务层中使用普通java,但EJB的不同之处在于,它(EJB)可以单独部署在任何服务器上,而不是普通java服务层。

让我引用古老(但很好)的比较

企业JavaBean是用来封装业务逻辑的组件。他们不处理演示文稿,并且有一系列必须遵守的严格限制。EJB可能无法管理线程、使用java.io包访问文件、拥有GUI、接受套接字连接或加载本机库。施加这些限制是因为EJB在EJB容器中执行,大致类似于servlet在servlet容器中执行的方式。在servlet可用于执行许多任意任务(包括生成HTML页面)的地方,EJB几乎完全用作业务对象。会话bean表示会话或事务的客户机,实体bean表示通常存储在数据库中的持久业务对象。与servlet不同,每个客户端可能存在一个会话bean。一个servlet可以服务于多个客户机。会话bean通常调解客户机对实体bean的访问,使客户机不受管理状态细节的影响