JSP牵手JSF打造完美的Web应用 |
Java在近期几年逐步升温,随着Java SE 5和Java SE 6的推出,Java的
将来更显得无比辉煌 。但以Java为
根底的JSP在Java SE 5推出之前却向来抬不起头来,这最主要的缘由便是JSP
固然
性能非常
壮大,但最大的
长处也是它的最大缺陷,
性能
壮大就
象征着复杂,尤其是设计前端界面的可视化工具不多,也不够
壮大 。
因此,设计JSP页面就变得非常复杂和繁琐... 一、什么是JSF JSF和JSP是一对新的搭档 。JSP是用于 后盾的逻辑 解决的技术,而JSF 偏偏相反,是使开发人员 可以 快捷的开发基于 Java 的 Web 利用程序的技术,是一种 体现层技术 。当前,JSF1.2已经正式作为一个 标准加入了Java EE 5中 。 作为一种高度组件化的技术,开发人员 可以在一些开发工具的 支撑下,实现 拖沓式编辑操作,消费者 惟独求 容易的将 JSF 组件拖到页面上,就 可以很容易的进行 Web 开发了 。这是其作为一种组件化的技术所 存在的最大 好处,我们能用的组件不光是一些 比较 容易的输入框之类,还有更多复杂的组件 可以 使用的, 比方 DataTable 这样的表格组件, Tree 这样的树形组件等等 。 作为一种 标准的技术,JSF还得到了相当多工具提供商的 支撑 。同时我们也会有众多很好的免费开发工具 可以 使用,前不久 Sun Java Studio Creator 2 和 Oracle JDeveloper 10g 作为免费的 支撑 JSF 的开发工具公布,给 JSF 带来了不小的 怄气 。另外我们也有一些很优异的商业开发工具可共 取舍,BEA Workshop (原 M7 NitroX),Exadel,MyEclipse 这样的基于 Eclipse 的插件开发工具,为现在 辽阔的 Eclipse 消费者带来了不小的 便捷,IBM 的 Rational Application Developer 和 Borland 的 JBuilder 也是很不错的 支撑 JSF 可视化开发的商业开发工具 。 JSF和传统的Web技术有着 性质上的差异,在传统的Web技术需求消费者自己对阅读器 申请进行 捉拿, 保留客户端状态,而且手工操纵着页面的转向,等等 。而JSF的浮现,无疑给我们带来了 硕大的 便捷,JSF 提供了事件驱动的页面导航模型,该模型使 利用程序开发人员 可以设计 利用程序的页面流 。与 Struts 的 模式向 类似的是,全部的页面流信息都定义在 JSF 配置 XML 文件 (faces-config.xml) 中,而非硬编码在 利用程序中 。这很大程度简化了开发人员开发难度,简化了 利用程序的开发 。 同时JSF也是一种遵照模型-视图-操纵器 (MVC) 模式的框架 。实现了视图代码(View)与 利用逻辑(Model)的 彻底 拆散,使得 使用 JSF 技术的 利用程序 可以很好的实现页面与代码的 拆散 。全部对 JSF 页面的 申请都会通过一个前端操纵器 (FacesServlet) 解决,系统自动 解决消费者的 申请,并将 后果返回给消费者 。这和传统的 MVC 框架并没有太大的区别 。 在JSF中不只 使用了 POJO 技术,而且还 使用了 类似 Spring 的操纵反转(IoC) (或称为依赖注入-DI) 技术,在 JSF 的 Backing Bean 中,我们 可以把视图所需求的数据和操作放进一个 Backing Bean 中 。同时得益于 JSF 使用的 DI 技术,我们 可以在配置文件中初始化 Managed Bean,同时我们也 可以通过这样的技术很容易的和 使用 类似技术的 Spring 进行整合 。 |