首页 > 编程 > JSP > 正文

JSP牵手JSF打造完美的Web应用

2024-09-05 00:19:51
字体:
来源:转载
供稿:网友


收集最实用的网页特效代码!

  java在最近几年逐渐升温,随着java se 5和java se 6的推出,java的未来更显得无比辉煌。但以java为基础的jsp在java se 5推出之前却一直抬不起头来,这最重要的原因就是jsp虽然功能十分强大,但最大的优点也是它的最大缺点,功能强大就意味着复杂,尤其是设计前端界面的可视化工具不多,也不够强大。因此,设计jsp页面就变得十分复杂和繁琐...

  java在最近几年逐渐升温,随着java se 5和java se 6的推出,java的未来更显得无比辉煌。但以java为基础的jsp在java se 5推出之前却一直抬不起头来,这最重要的原因就是jsp虽然功能十分强大,但最大的优点也是它的最大缺点,功能强大就意味着复杂,尤其是设计前端界面的可视化工具不多,也不够强大。因此,设计jsp页面就变得十分复杂和繁琐。不过,在java se 5推出的同时,sun为了简化jsp的开发难度,推出了新的javaserver faces(简称jsf)规范。从而使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 进行整合。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表