首页 / 软件开发 / JAVA / 了解Tapestry,第1部分 - 启动Tapestry并在Java环境中运行
了解Tapestry,第1部分 - 启动Tapestry并在Java环境中运行2011-01-31 IBM Brett McLaughlin如果想出售产品,那么拥有在线设施是很重要的,不论是运作一家数百万美元的公司,还是只是想在假日处理几千个线手镯。在某些情况下,修补一些 Web 页面,并采用一些像 PayPal 或 eBay 这样的预先打包好的支持系统处理销售事务,也可以做得足够好。但是一个全面的、设计良好的Web 应用程序应当能把在线销售从小打小闹提升到专业的、动态的在线商店的层次。每个人都知道,消费者在商店中买的东西比从跳蚤市场买的东西多。问题在于,在进入大多数 Web 开发框架时 —— 特别是在使用 Java™ 作为编程语言的时候 —— 会发现复杂性太高。Struts、JSF和Spring 都是优秀的Web 开发框架,但是它们中没有一个是适合胆小的人。(如果您曾经试着向新 Java 开发人员解释控制反转,您就会知道我谈的是什么了!)幸运的是,还有更容易的选择。Tapestry 是在Apache 软件许可下发布的一个开放源码的、基于 Java的框架,它是专门为了简化 Web 开发设计的。它有以下关键特性:易于安装:不需要是 Web 应用程序高手,就可以让 Tapestry 启动并运行。易于使用:只需要基本的Java和HTML(是的,确实是 HTML,而不是 servlet)技能就可以编写 Tapestry 应用程序。易于扩大规模。当站点增长超过 10、50 或 100 个页面时,也不必抛弃 Tapestry。对于多数 Web 应用程序来说,Tapestry 都足够健壮。在这篇文章中(系列的前半部分),我会带您入 Tapestry的世界。我将带您一起经历下载和安装这个框架的每一步,然后运行一些示例应用程序,让您理解它的工作方式。在下一篇文章中,我将介绍更高级的示例,让您更好地掌握 Tapestry的核心框架。在了解核心框架之前,您将完全适应了 Tapestry 环境。简化的安装您很快就会了解到 Tapestry的口号是简单。这种简单不代表原始 或不成熟,而是代表易于理解、易用 和直观。因为安装是任何一项新技术的入门,所以毫不夸张地说,安装 Tapestry 非常容易。对于入门者来说,只有很少的前提要求,而这些要求对于 Web 开发人员来说,都是相当标准的,所以它们可能已经安装了。Tapestry 中的标注Java 5.0 中的一项新特性是标注语法。使用标注,可以用一种与内联注释非常相似的样式对代码进行标记,标注以 @ 符号开始。可以使用标注为类添加元数据,然后编译器或 Tapestry 这样的框架可以使用元数据。具体来说,Tapestry 允许使用标注,直接在代码中描述原本需要在额外页面或组件中定义的行为。前提条件 1:Java 5.0显然,使用 Tapestry的第一个要求是,在机器上要有 Java 平台正在运行。虽然 Tapestry 几乎可以和任何相对较新的Java 版本合作(Java 1.3 及以上版本),但最好是使用 Java 5.0。Tapestry的几个可选特性只能在Java 5 下工作。而且,现在真的是没有什么理由不 转换到 Java 5:它是稳定并经过良好测试的,已经经过了最初始的发展痛苦。前提条件 2:构建工具有了 JVM和servlet 引擎,还需要 Apache Ant 这样的构建工具。虽然下载 Ant 很容易,但需要确定在路径中有 Ant的二进制代码(对于 Linux/Mac OS X 系统是 ant,对于 Windows 系统是 ant.bat)。如果在空目录中输入 ant,可能会看到下面这样的输出:Buildfile: build.xml does not exist!
Build failed前提条件 3:微内核最后需要安装一个微内核,叫作 HiveMind,用它为 Tapestry 应用程序登录对象。我不会在这篇文章中详细讨论 HiveMind —— 它本身就值得用几篇文章讨论!—— 但是您会看到 Tapestry 如何使用它。在从 Jakarta Web 站点下载了 HiveMind 之后,请把它放在与 Tapestry 相同的目录中;例如,可能使用 /usr/local/java/hivemind-1.1 或 C:/java/hivemind-1.1。任何位置都可以,只要记住把它放在哪儿了!Tapestry 实际上还有许多依赖项,但是安装了 HiveMind、Ant和Java 5.0 之后,就能让 Tapestry 自己处理剩下的依赖项。因为 Tapestry 是一个 Web 应用程序框架,所以在准备运行应用程序时,还需要一个 servlet 引擎,例如 Apache Tomcat。 Tapestry 应用程序打包成 WAR 文件(Web 应用程序档案),这样就可以把它们放进 servlet 引擎的Web 应用程序目录中。这篇文章的所有示例都使用 Tomcat,但是可以很容易地把 Tapestry 用于您选择的其他 servlet 引擎。