WEB开发网
开发学院WEB开发Jsp 用Tea简化Web开发 阅读

用Tea简化Web开发

 2008-01-05 10:12:40 来源:WEB开发网   
核心提示:在开发基于java的网站的视图层时,JavaServer Pages 被广泛地认为是自然而然的(或唯一的)选择,用Tea简化Web开发,事实上,每个建立在 Java 平台上的站点实际上都用到了 jsp 技术,不过我在本文中不讨论 Kettle, 下载了 TeaServlet.zip 文件之后,JSP技术非常有

  在开发基于java的网站的视图层时,JavaServer Pages 被广泛地认为是自然而然的(或唯一的)选择。事实上,每个建立在 Java 平台上的站点实际上都用到了 jsp 技术。JSP技术非常有名,大多数应用程序服务器都支持它,J2EE 计划也认可了它。为什么还要选择其它技术呢?在这篇由两部分组成的文章的第一部分中,向您介绍了 Tea 模板语言,还向您演示了Tea是如何能够成为JSP技术的一种可行的替代方案。在第二部分中,您将探索如何将 Tea集成为模型-视图-控制器(Model-View-Controller (MVC))2 体系结构(尤其是 Struts 应用程序)中的视图。

不宜使用 JSP 技术的情形

尽管JSP技术广受欢迎,但它却不是唯一选择。而且,也有一些充分的理由不使用这项技术。在 Servlets.com 上的一篇文章中,Jason Hunter 指出了 JSP 环境的七个问题(参阅参考资料)。总结起来,那些问题是:

· 将(原始 Java 代码形式的)业务逻辑置于页面上的诱惑很大。

· 大多数普通任务的性能需要 java 代码。

· 简单的任务很难,因此,非 Java 设计者无法执行这些任务。

· JSP 环境中的循环很笨拙 — 定制标记令人信服地解决了这一问题。

· 会出现无用的错误消息。

· JSP 编程需要 Java 编译器。

· 生成的中间servlet浪费了空间。

注:自 Jason 最初写这篇文章以来,JSP技术规范已经经历了两次修订,上面的一些问题已经得到了部分解决。然而,JSP 技术仍然有其不足。

除了 Jason 列举的那些问题之外,我也想补充 JSP 技术的另一个问题:

· 很轻易由于部署一个带有错误的 JSP 页面而无意中破坏网站中的某个页面(或多个页面)。

· 一些模板引擎已经被开发出来以替代 JSP 技术。它们包括 WebMacro、Velocity、Enhydra xmlC 以及本文的主题——Tea。

介绍 Tea

Tea 是一种简单的模板语言,它已由 Walt Disney Internet Group(WDIG)作为开放源码发布。Tea 是 Disney 的许多网站背后的技术选择,这些网站包括 ESPN.com、Disney.com 和 ABCNews.com。

Tea 的目标是提供简单安全的模板引擎以便用最少的错误构建高度动态的网站。这一目标是通过最少的编程构造和更简单、更不易混淆的语言机制来实现的。Tea 留给我们的是类似于 Html 但动态性一样高的语言。由于 Tea 的简单性,Web 开发团队可以聘请专业性不太强的程序员——WDIG 称这样的人员为技术制作者——来制作站点的表示层。

使用 Tea 构建的网站有三种主要组件:

· TeaServlet

· 一个或多个 Tea 模板

· 一个或多个 Tea 应用程序

TeaServlet 是 Tea 模板编译器和执行引擎。它对于 Tea 模板就象 Tomcat 的 Jasper 对于 JSP 页面。TeaServlet 编译 Tea 模板(假如必要的话),在收到请求时执行它们。

Tea 模板是JSP页面的 Tea 等价物。然而,和 JSP 编程不一样,Tea 模板不经过到 Java Servlet 代码这一中间转换。相反,Tea 编译器直接将 Tea 模板编译成类文件。这是一项重要的差异,它直接解决了 Jason Hunter 的 JSP 问题列表中的第六和第七个问题,间接地解决了第五个问题(随后您将看到)。

Tea 应用程序是一种机制,通过这种机制使得业务逻辑可为 Tea 模板所用。Tea 应用程序通过 Tea 应用程序的上下文实现的 public 方法来暴露业务逻辑。这些方法可以作为可从任何 Tea 模板调用的函数获得。Tea 模板和 Tea 应用程序之间的交互类似于 JSP 环境中 JSP 技术和 JavaBeans 之间的交互。

安装 Tea

Tea 和 Tomcat

在为本文编写代码时,我使用 Jakarta Tomcat 4.0.4 作为我的 servlet 容器。这些安装指示信息假定您正在使用 Tomcat 4.0.4 作为您的 servlet 容器,还假定 Web 应用程序名为“teademo”。您的安装可能会有些变化,这取决于您对服务器的选择以及 Web 应用程序名称。

可以从网址为http://opensource.go.com 的 WDIG 网站下载 Tea,它可以以 Apache 样式许可证获得。除了其它内容以外,分发版中包含 TeaServlet.jar 文件,它组成了 Tea 引擎。您也可以在 WDIG 的网站上找到一个名为 Kettle 的用于 Tea 的 IDE,不过我在本文中不讨论 Kettle。

下载了 TeaServlet.zip 文件之后,将其解压缩然后把 TeaServlet.jar 文件移到 Tomcat 的webapps/teademo/WEB-INF/lib 目录。


Tags:Tea 简化 Web

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接