用 Apache Derby、Apache MyFaces 和 Facelets 开发应用程序

习如何使用 Apache Derby、Apache MyFaces 和 Facelets 来开发 Java™Server™ Faces (JSF) 应用程序。本文中示例应用程序(可下载)使用了 Model-View-Controller (MVC) 架构,用来说明 MyFaces 组件的强大功能以及使用 Apache Derby 和最新视图技术 Facelets 进行开发的简单性。
什么是 JSF、Facelets 和 Apache Derby?

本文中所演示的用于 Web 应用程序的三种技术是 JSF、Facelets 和 Java™ Database Connectivity (JDBC™)。JDBC 用于访问关系数据库 Apache Derby 中的数据。JSF 是用于构建用户界面(user interface,UI)的 Web 应用程序框架,Facelets 是专门为 JSF 而设计的表示技术。Apache Derby 是与纯 Java JDBC 兼容的数据库。这三种组件的综合使用为开发基于 Java 的 MVC Web 应用程序提供了理想的环境。

首先介绍 JSF,它解决了控制器和 MVC Web 应用程序视图层之间更清晰地分离这种需求。它还与服务器端的事件有关,而不是完全依赖客户端用于事件处理的 JavaScript™。但是,JSF 的主要贡献是其基于组件的模型,它促进了可重用性和可扩展性。使用 JSF 的缺点之一是用于呈现层的技术,默认情况下由 JavaServer Pages™ (JSP™) 提供。JSP 不是基于组件的系统,因此无法利用 JSF 模型的所有功能。JSF 应用程序中的 JSP 标记呈现了视图,并表示组件,但无法更改 JSF 组件的状态。

Facelets

这就是使用 Facelets 的地方。Facelets 是专门为考虑 JSF 的基于组件的技术而设计的,产生 Web 应用程序视图中所使用的组件树。对 JSP 进行编译以创建 servlet,且使用 JSP 来呈现动态内容,但此内容并不是始终与 JSF 所产生的组件树保持同步。Facelets 与 JSF 组件树相结合而运行,因此对呈现的输出不必感到奇怪 —— 在 JSF 中使用 JSP 进行呈现时会出现这种情况。

本文中所讨论的示例应用程序(可在本文结尾的下载部分获取)使用了 Facelets 的模板化功能,并且演示了应用改进的错误消息的示例,这些错误消息在 Facelets 开发中可捕获。还有许多可以使用的 Facelets 功能,在本文中没有进行讨论(如果您想学习更多有关内容,请参阅本文结尾的参考资料部分)。

使用 Apache MyFaces 的 JSF

Apache 的 MyFaces 项目提供了 JSF Web 应用程序框架规范 JSR 127(请参阅参考资料以获取链接)的开放源码实现。MyFaces 提供了规范所要求的全部类,以及被称为 Tomahawk 的其他 JSF 组件。其中一些组件提供了新功能,多于规范所要求的那些功能,还有一些组件提供了增强的功能。

您应该已经熟悉 JSF 的背景知识,想从本文获取更多知识。一个很好的开端是从参考资料部分中所列出的系列文章(由 Rick Hightower 提供)开始学习。 

。。。。。。

                                                                                                     点击此处查看全文

 

你可能感兴趣的:(用 Apache Derby、Apache MyFaces 和 Facelets 开发应用程序)