EJB和Servlet之间的区别?

时间:2014-05-03 05:59:43

标签: servlets ejb-2.x

我们正在使用ejb 2.1使用apache axis2作为web服务公开。我已经在codebranch网站上读到这两个都是服务器端组件,其中ejb可以在多个服务器上运行,而不像servlets ..但我没有清楚地了解差异。

2 个答案:

答案 0 :(得分:1)

让我引用this旧(但很好)的比较。

  

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

答案 1 :(得分:0)

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