Java EE 5.0能取代Struts,Spring和Hibernate吗?

Java EE 5.0能取代Struts,Spring和Hibernate吗?
 
作者 : Allen文章来源 : www.operamasks.org

<o:p> </o:p>

         20065 月, Java EE 5 规范正式发布。 Java EE 5 的出现,可能是 J2EE 诞生以来比较重量级的一次震撼 ,规范发布至今已有半年之多,业界对 Java EE 5 的关注也变得越来越热烈, google 一下“ java ee ”关键字,可以得到 500 多万条相关纪录,而从 Sun 网站上进行检索( http://java.sun.com/javaee/overview/compatibility.jsp ),也可以看到专业厂商已经迅速跟进,除 Sun 公司本身外,包括全球闻名的 SAP 、金蝶 Apusic 等另三家,已经推出全面支持 Java EE 5 规范的应用服务器产品。 <o:p> </o:p>  <o:p> </o:p>

Java EE 5 包含 JSF 1.2EJB 3.0JAX-WS 2.0 等新功能,试图解决 Java 企业级应用开发的简便性、灵活性及易用性问题。在 Java EE 5 出现之前,很多开源框架( Open Source Framework )如雨后春笋般涌现,尝试从某种角度或某些方面去解决“委员会”规范所未能顾及的应用开发问题,如 Web 开发中的关注分离问题( MVC )、业务模型实现问题( ORM )等等。很多开源 framework 都非常出名,为人们喜爱并广泛使用,如 StrutsSpringHibernate 等,这些“江湖派”作品曾经一定程度上成为 Java 企业级应用开发事实上的标准。 Java EE 5 的出现,是否会改变这种状况?或者说,人们在重新选择应用框架时,是否会优先考虑全新的 Java EE 5 技术?带着这种疑问,笔者试图进行简单的技术比较,并辅于肤浅的评论,希望能够抛砖引玉、借花献佛,以娱大众。 <o:p> </o:p>

<o:p>   </o:p>

Struts vs. JSF<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

Struts<o:p></o:p>

JSF<o:p></o:p>

MVC<o:p></o:p>

支持 <o:p> </o:p>

支持 <o:p> </o:p>

POJO<o:p></o:p>

<o:p> </o:p>

支持 <o:p> </o:p>

页面流( Page Flow <o:p> </o:p>

支持 <o:p> </o:p>

支持 <o:p> </o:p>

UI 组件( UI Component <o:p> </o:p>

<o:p> </o:p>

支持 <o:p> </o:p>

<o:p>   </o:p>

MVC 是模型( Model )、视图( View )、控制( Controller )分层的结构,通过分层来实现关注分离,减少传统开发中常见并重复的工作。 StrutsJSF 均支持 MVCStrutsMVC 支持的核心是 Controller ,通过 Controller (一个共同的入口 Servlet )获得 HTTP 请求,将 HTTP 参数传入 ActionForm ,然后将 ActionForm 传给 Action 类 。 StrutsHTTP 请求只有一个事件处理 handler ,当请求过来时,由相应 Action 返回结果给前端 Controller ,并据此选择如何进行导航。 JSF 一般也采用一个前端 Controller (有些商用 JSF 能够智能识别 JSF 请求,无需额外的 controller ),不过在 Controller 中做的工作跟 Struts Controller 截然不同,它负责触发 JSF 页面组件中的事件,用 Render 工具生成组件的展现,绑定来自 Model 的数据到组件等。可以看到, JSF 在在控制层更灵活,在视图层支持 Render 工具的变换而生成灵活的展现,在模型层实现与框架的彻底分离,因而具有更高的灵活性。 <o:p>   </o:p>

<o:p> </o:p>  

POJO 是无格式 Java 对象( Plain Old Java Object )。 POJOAOP 结合被广泛用于快速业务模型。 Struts 设计的初衷主要是解决视图和控制问题,并无过多关注模型的灵活性问题。 Struts 中的 ActionForm 模型必须继承自框架类,虽然可以通过定制类库提供一些帮助类实现模型与框架无关,但本质上还是紧耦合于 JSP- and HTTP-centric 方法 。 JSF 提供了对 POJO 天然的良好支持,并支持通过 RAD 工具实现快速的业务模型生成,从而具有更高的生产力。 <o:p> </o:p>

<o:p> </o:p>

页面导航的最大意义是帮助实现页面的可视化开发,在 UI 界面上快速定义页面流向。页面导航分静态导航和动态导航两种,静态导航是页面直接流向另一页面,动态导航是由特定动作或逻辑决定页面的流向。 StrutsJSF 均支持静态和动态页面导航。不过 Struts 中的导航规则是绑定到 Action 中的,那意味着可能需要对同一页面中不同的 Action 做重复性的导航规则制定,而 JSF 导航可以跟 Action 无关,可以在页面中不同组件的不同 Action 间共享相同的导航规则。 <o:p> </o:p>

<o:p>   </o:p>

Struts 本身并不提供 UI 组件机制,而 JSF 则提供了完整的 UI 组件机制。通过 UI 组件的定制和重用,能够极大地简化开发,提升用户体验。商业化的产品则往往更进一步,提供强大易用的开发工具,实现 drag-and-drop 方式所见即所得的 Web UI 开发。 <o:p> </o:p>

<o:p>   </o:p>

Spring vs. EJB 3.0<o:p></o:p>

<o:p>   </o:p>

<o:p> </o:p>

<o:p> </o:p>

Spring<o:p></o:p>

EJB3<o:p></o:p>

标准( Standard <o:p> </o:p>

<o:p> </o:p>

是, Java EE 5 标准组成部分 <o:p> </o:p>

持久( Persistence <o:p> </o:p>

JDBC, Hibernate, JDO, iBatis and JPAongoing spring 2.0 <o:p> </o:p>

JPA<o:p></o:p></spa>

随着信息技术在管理上越来越深入而广泛的应用,作为学校以及一些培训机构,都在用信息化战术来部署线上学习以及线上考试,可以与线下的考试有机的结合在一起,实现基于SSM的小码创客教育教学资源库的设计与实现在技术上已成熟。本文介绍了基于SSM的小码创客教育教学资源库的设计与实现的开发全过程。通过分析企业对于基于SSM的小码创客教育教学资源库的设计与实现的需求,创建了一个计算机管理基于SSM的小码创客教育教学资源库的设计与实现的方案。文章介绍了基于SSM的小码创客教育教学资源库的设计与实现的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计数据库设计。 本基于SSM的小码创客教育教学资源库的设计与实现有管理员,校长,教师,学员四个角色。管理员可以管理校长,教师,学员等基本信息,校长角色除了校长管理之外,其他管理员可以操作的校长角色都可以操作。教师可以发布论坛,课件,视频,作业,学员可以查看下载所有发布的信息,还可以上传作业。因而具有一定的实用性。 本站是一个B/S模式系统,采用Java的SSM框架作为开发技术,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SSM的小码创客教育教学资源库的设计与实现管理工作系统化、规范化。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值