首页 > OOP语言 > 其它 > 正文

用Apache Derby、Apache MyFaces和Facelets开发应用程序
2012-08-22 18:12:45   来源:www.bianceng.cn   评论:0 点击:

暂时无描述信息

什么是 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 的背景知识,想从本文获取更多知识。

Apache Derby

Apache Derby 在本文示例应用程序中的 Model 层使用,该示例应用程序是一个虚拟的航班预订系统。Apache Derby 是零管理、纯 Java 关系数据库,由于其可嵌入能力及对 JDBC 标准的兼容性,它完全适合基于 Java 的 Web 应用程序开发。

本文的重点是如何 综合使用 MyFaces、Facelets 和 Derby 来构建 Web 应用程序;假定您已了解 Web 应用程序开发、JSF 以及通过 JDBC 访问数据库的基础知识。

Web 应用程序的组件

航班预订应用程序使用了以下软件组件和技术;列表还包括了此应用程序中所使用的一些特定功能。

Apache MyFaces JSF Implementation 1.1.4 Core 和 Tomahawk 1.1.3

Validators —— 包括正则表达式、Equals 及 Credit Card 验证。

updateActionListener —— 此侦听器可与 ActionSource UIComponent 相关联(通过链接或按钮),将值与属性联系起来。

Extended DataTable —— 将使用页眉对标准 JSF datatable 进行扩展,允许进行按列排序。

JavaScript Menu —— JSCookMenu 组件使用 CSS 和 JavaScript 来创建菜单项,从而创建动态菜单。

Apache Derby database engine 10.1.3.1

使用 Derby EmbeddedDataSource

通过 ServletContextListener 来启动和停止 Derby

JDBC Callable Statement 用于执行存储的过程,将 SQL 语句写入 Derby 的消息日志文件

JDBC Prepared Statements 用于插入或删除 Derby 记录。

Facelets —— JSF View Definition Framework 1.1.11

模板化 —— 能够创建用于页面代码重用和取代的模板。

改进的错误消息 —— 更易于调试。

相关热词搜索:

上一篇:EJB 3.0在WAS V7上开发部署的最佳实践
下一篇:使用Apache Lucene和Solr进行位置感知搜索

分享到: 收藏