首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

1.4  CaveatEmptor应用程序

正如本章开始时提到的,CaveatEmptor应用程序是《Hibernate in Action》一书的基础,而本书的大部分示例程序都源于Web版的CaveatEmptor应用程序。CaveatEmptor是一个模拟的在线拍卖程序,它包含的域模型,例如Item、Bid和User,都是我们在本书中所要关注的内容。

在《Hibernate in Action》一书中讲述的CaveatEmptor程序并没有Web界面。基于本书的目的,我们通过部分Web界面的实现展示了WebWork的大部分特性。要了解本书的例子,你并不需要熟悉Hibernate,因为所有与Hibernate相关的代码都已经完全被抽离出来,放到了一个名为PersistenceManager的组件中(这将在第6章详细讲述)。与此相类似,你也不需要原始版本CaveatEmptor的源代码,甚至不需要熟悉它。当然,如果你有这两本书,你将会发现在示例和域对象上存在着一定的连贯性。

说到CaveatEmptor应用程序中的域对象,我们将会用绝大部分的时间来讨论User这个域对象,同时还讨论与它交互的各个action及Web用户界面。User对象并不特殊,它只是一个有着像firstName、lastName、email、age、birthDate等属性的简单JavaBean。这些属性虽然简单,但是它代表着最常见的域属性,这在你所开发的Web应用程序中会经常用到。

我们将关注各种运行用例,譬如更新一个用户的个人信息,注册一个账号,登入和注销,以及一次创建多个用户(批处理)。我们也将关注一些与用户无关(non-user-specific)的运行用例,例如分页显示,在后台进行搜索工作时显示等候页面,以及form重复提交问题的解决方案。从本书的网站可以下载CaveatEmptor程序,里面包含了所有action和视图文件(在这里是JSP页面)。接下来,让我们来看一下CaveatEmptor程序是如何组织的,这将加快你对本书例子的理解。

      CaveatEmptor是如何组织的

由于本书大部分篇幅都关注这个应用程序,那么当你下载了这个应用程序之后,你会发现什么呢?由于所提供的下载是压缩的.zip文件,你需要使用工具来解压缩。常用的是Winzip、Windows XP的压缩工具、Java的jar工具,或者Mac OS的StuffIt Expander。当你从压缩包中取出具体的内容后,你将看到如下所示的目录结构。

CaveatEmptor

所有在本书出现的代码都可以在src目录下找到。如果例子是一个Java文件,那么它会在src/java目录下或者在org.hibernate.auction.web包的某一个分支中;JSP和Velocity模板及另外与Web相关的文件都会在src/webapp目录中;配置文件,像xwork.xml和webwork.properties则被放在src/java目录下,在整个应用程序被打包为WAR文件的时候,这些配置文件会被打包至一个JAR文件中,而该JAR文件将会被放置于WEB-INF/lib目录下。

应用程序所需的所有JAR文件都可以在lib/core目录下找到。除了这些JAR包之外,存于lib/resin目录下的README.TXT还提供了说明。这份说明文档告诉你如何快速地发布应用程序而不需要运行Ant或者将应用程序打包为一个WAR文件。同时,文档还解释了如何下载附加的Resin JAR以加快应用程序的发布。这将让你可以一边看书,一边打开这些例子,并随意地修改它们尝试不同的想法。当你需要将应用程序打包成一个WAR文件的时候,可以使用存于下载根目录的build.xml,在命令行环境下调用ant war来完成这项工作。

在本书出版之后,我们还将继续更新CaveatEmptor应用程序,你可以从Manning的网站下载到最新的版本。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论