快速业务通道

WEB开发模式Tapestry简介 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23

WEB开发模式Tapestry简介

时间:2010-12-10

前言

由于internet技术的广泛流行,越来越多的程序开发模式正在从C/S向B/S转换,由于B/S模式具有瘦客户端的优点——无须安装客户端程序,这就大大减轻了软件升级的费用,所有的业务逻辑和数据库存储都放在服务端,从而提高了系统的可维护性。而且由于HTTP协议是一个开放式的标准,因此只要是支持HTTP协议的浏览器都可以运行,再结合目前的XML技术,可以方便地实现跨平台的分布式应用。

但B/S架构有其天生的缺点:无状态性。这其实并不是B/S程序的错,而是由于B/S程序是建立在http协议的基础上的,因此程序无法维护各个客户端的状态,不过所幸的是这个问题现在已经解决了。

现行的B/S开发的另一大缺陷是:代码和HTML页面揉和在一起了,对程序员和美工非常不利,而且对代码的维护简直是一场恶梦,这相信是许多Web开发者的一种体会。而C/S结构就没有这种缺陷,因为它是基于组件的,比如VB,你有多得数不清的ActiveX控件来完成一些复杂的界面。

也许你看到这里,心里在盘算着:还是用C/S算了,省得这么多麻烦,但是一个不敢于尝试新技术的公司往往是一个被新技术淘汰的公司。

为了解决上述问题,apache组织开发了一个基于JSP的MVC模式的实现:struts。它将WEB表现层分为model-view-controller几个部分,通过一个servlet来对web的流程进行控件,这与单纯的JSP或ASP相比确实进步了不少,因为利用struts能清楚地界定web的流程,而且不提倡使用<% …. %>语句,转而代之的是taglib技术。但它始终没有摆脱代码和HTML页面揉和的问题,而且它的原理对于JSP初学者来说比较复杂,taglib库不够丰富,而且taglib也不像组件那样能够继承。

于是,新一代的WEB开发方法应运而生,它们最典型的就是开发方法是基于组件的,其中最具代表性的就是Tapestry。

为什么要用Tapestry?

Tapestry现在已经属于Apache的Jakarta项目下了,你可以访问http://jakarta.apache.org/tapestry 来访问更多的信息。

Tapestry是一个强有力、开放源码、基于Java的用于开发高端WEB应用的framework。它是JSP的一种替代方法,使用Tapestry,可以让你的页面看不到一句JSP代码,这使页面看起来非常干净。它可以用很少的代码来构造一个极端复杂的WEB应用。

Tapestry使用了类似于传统C/S的开发方法:基于组件的开发。使用tapestry,你就可以得到以下好处:

1、非常高的代码复用性,因为在tapestry中,任何事物都可以看作一个可复用的组件。

2、将JSP开发者从繁琐的JSP代码中解脱出来,取而代之的是真正面像对像方法,而不是URL解析。

3、对页面国际化的充分支持

4、精确地错误报告,可以将错误定位到源程序中的行,取代了JSP中那些莫名奇妙地错误提示。

充分支持团队开发,美工人员和JAVA开发人员可以融洽地相处,互相都不依赖于对方。

你也许会问:如果tapestry是基于组件的,那么它的组件是怎样构成的呢?它是由一个定义文件(以XML的格式)、一个HTML模板、一个JAVA类。Tapestry的组件可以组合在一起形成一个更大的组件或逻辑页面。

Tapestry的工作原理如下:在web.xml文件中定义一个名为ApplicationServlet的servlet来进行处理所有的http请求,这和struts有点相似,不过它主要职责是负责引导整个tapestry核心,启动日志功能,读取配置文件,创建工作引擎来指派客户请求。ApplicationServlet主要是通过它的配置文件来进行自身管理的,你可以通过在web.xml中定义一个名为org.apache.tapestry.specification-path的初始参数来指定这个配置文件,当然如果你觉得这样麻烦,那你也可以不指定配置文件,但tapestry会自动寻找与此servlet同名的配置文件,例如在web.xml中的定义如下:

<servlet> &

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号