什么是ejb,什么是jsf,两者又有什么区别

小编 516

ejb是基于分布式事务处理的企业级应用程序的组件模型,它定义了一个用于开发基于组件的企业多重应用程序的标准;而jsf是一个基于服务器端组件的用户界面框架,它简化了Java服务器端应用程序的开发。两者有着定义和作用上的区别。

1.什么是ejb

ejb是Enterprise Java Beans技术的简称, 又被称为企业Java Beans,它是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单理解,ejb是生成业务应用的主要分布式组价模型。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。

ejb包含以下主要内容:数据持久化;事务处理;并发控制;基于JMS的事件驱动;基于JNDI的名字和空间管理;基于JCE和JAAS的安全管理;应用服务器端的软件组件部署;将业务方法暴露为Web服务。

2.什么是jsf

jsf是JavaServer Faces的简称,它是一种用于构建Java Web应用程序的标准框架,提供了一种以组件为中心的用户界面(UI)构建方法,简化了Java服务器端应用程序的开发。jsf的主要优势之一就是它既是Java Web应用程序的用户界面标准又是严格遵循模型-视图-控制器(MVC) 设计模式的框架。

jsf主要由两个部分组成:一是,功能强大的API函数,用来表示UI组件、管理组件状态、处理事件、进行输入有效性验证,以及对国际化和可访问性的支持;二是,包含各种页面元素的并允许自定义的JSP标签库,用来在JSP页面中显示JSF的界面。

3.ejb和jsf的区别

(1)两者定义不同

Sun公司发布的文档中对ejb的定义是:EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。

按照JavaServer Faces官方的定义,JSF是Java Web应用的用户界面(User Interface,UI)框架。此定义有三种含义:名列前茅,JSF是一种框架;第二,JSF的应用范围是Java Web应用;第三,JSF是专门针对应用界面编程的。

(2)两者的作用不同

ejb定义了一个用于开发基于组件的企业多重应用程序的标准。它以一个标准方式自动处理了诸如数据持久化,事务集成,安全对策等不同应用的共有问题,使得软件开发人员可以以专注于程序的特定需求而不再饱受那些非业务元素的困扰。

而jsf为Web提供了覆盖面较广的UI组件,并为其提供状态管理,同时还提供服务端验证、数据转换、页面导航、多种拓展机制等服务。通过使用jsf,任何开发人员都可以快速轻松地开发Web应用程序。

延伸阅读

常用的Java框架有哪些

除上述的jsf外,常用的Java框架有:Spring框架、Apache Struts框架、Grails框架、Wicket框架、ATG框架、Play框架、Apache Hadoop框架。

1.Spring框架

Spring是一个开源框架,主要用于Web和移动企业应用程序的开发。它包括不同的组件,如Spring Core、Spring Web MVC、Spring AOP、Spring DAO、Spring 上下文、Spring ORM 和Spring Web Flow。它也可以与Kotlin 和Groovy 一起使用。

2.Apache Struts框架

Struts 是一个免费的开源Java 框架,用于开发引人注目的Web 应用程序。Struts 可以很容易地与其他Java 框架集成。例如,它可以用作依赖注入的Spring 插件或用作对象关系映射的Hibernate插件。

3.Grails框架

Grails 是Java 虚拟机(JVM) 的开源框架。它建立在Spring Boot之上,并使用Groovy 编程语言运行。它与JDK、Java EE 容器、Hibernate、Spring 和Quartz 兼容。Grails可用于开发各种应用程序。Oracle、IBM、Netflix、Cisco 和Google 等公司正在使用Grails 进行应用程序开发。

4.Wicket框架

Wicket是Apache基金会提供的全栈基于组件的Web应用Java框架。该框架从其第11个版本和Servlet API3.1或更高版本开始支持Java。基于最近的Java和Servlet API版本,该框架允许构建出色的Web解决方案并通过内容安全策略确保强大的数据保护。该框架使用纯Java,简单地与HTML集成,有效地分离了标记层和逻辑层,并允许对前端代码进行单元测试。

5.ATG框架

ATG 是Oracle开发的用于构建电子商务解决方案的Java框架。由于Oracle的支持,这个框架可以运行在它的服务器——Oracle Weblogic 上。最重要的是,它还使用IBM Websphere 和JBoss,或者可以在本地实施。

6.Play框架

Play是一个高性能且高效的框架,用于使用Java和Scala创建Web 和移动应用程序。该框架对开发人员友好,因为它允许仅使用浏览器和文本编辑器进行更改和刷新代码。Play还提供了一套强大的工具,例如Akka工具包确保了最小的资源消耗,并使得构建高度可扩展的应用程序和内置的测试支持变得容易。

7.Apache Hadoop框架

Apache Hadoop 是一个开源Java 框架,专注于处理大型数据集,处理千兆字节到PB级的数据。它使用简单的编程模型在计算机集群之间分配数据,并且可以轻松地从单个服务器扩展到数千台机器。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部