欢迎来到天天文库
浏览记录
ID:17870508
大小:43.99 KB
页数:12页
时间:2018-09-07
《tapestry入门(2)new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Tapestry Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带有jwcid属性的html标记。其中jwc的意思是JavaWebComponent。Tapestry使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易维护和升级。Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用javabean和xml技术进行开发。 Tapestry把在建立Web应用程序容易出错的工作交由框架本身来完成,接管了大量手工完成的任务,如分发
2、用户请求,创建和解释URL信息,操作本地化和国际化等等大量的工作。 Tapestry也是由“对象、方法、域”这些面像对象元素构成,但是它更关注于开发者关心的ServletAPI的请求,回复,会话,属性,参数,URLs等等开销。Tapestry关注的重点在对象(包括页,组件,也包括系统的域对象),和这些对象的方法,这些对象的JavaBean属性。在一个Tapestry应用系统里,用户动作(点击Link,提交表单)的结果是通过用户组合的方法(在应用程序的逻辑里包含了它)改变了对象的属性,Tapestry关心的是如何联系用户的动作和这些动作所引响到的对象。 这些可以适合你的
3、使用习惯。你不可以在Tapestry里写Servlet。你可以写你自己的监听方法。你也不可能建立Servlets的URL地址,但你可以使用现有的组件(像DirectLink),配置它的监听参数来调用你自己的监听方法。监听方法能做些什么呢?它可以与另外的系统(经常是无状态,有状态的会话Bean)相联系,或者做与请求相关的动作,或者选择一个新的页来响应用户的请。。。。。。。。,一般来说Servlet的核心代码都可以在监听方法中写。在Tapestry里,你只要写很少的代码,因为所有的机械而重复的核心代码(如创建URL,分发请求,管理服务器状态等等)都由框架统一管理了。不是说Se
4、rvletAPI做不到这些管理,只是因为它些东西对Tapestry的用户关联不大。 Tapestry当前是3.0版本,它是一个成熟的框架,它一直关注的是产生动态的HTML页面,它也支持了大量的XHTML,WML和其它类型的标签。几乎所有的Tapestry的API都是用接口来描述的,它们提供默认的实现。最后,Tapestry值的夸耀的是它的JavaDocAPI文档。 相关站点/下载地址:http://jakarta.apache.org/tapestry/一、概述 由于internet技术的广泛流行,越来越多的程序开发模式正在从C/S向B/S转换,由于B/S模式具有瘦
5、客户端的优点——无须安装客户端程序,这就大大减轻了软件升级的费用,所有的业务逻辑和数据库存储都放在服务端,从而提高了系统的可维护性。而且由于HTTP协议是一个开放式的标准,因此只要是支持HTTP协议的浏览器都可以运行,再结合目前的XML技术,可以方便地实现跨平台的分布式应用。 但B/S架构有其天生的缺点:无状态性。这其实并不是B/S程序的错,而是由于B/S程序是建立在http协议的基础上的,因此程序无法维护各个客户端的状态,不过所幸的是这个问题现在已经解决了。 现行的B/S开发的另一大缺陷是:代码和HTML页面揉和在一起了,对程序员和美工非常不利,而且对代码的维护简直
6、是一场恶梦,这相信是许多Web开发者的一种体会。而C/S结构就没有这种缺陷,因为它是基于组件的,比如VB,你有多得数不清的ActiveX控件来完成一些复杂的界面。 也许你看到这里,心里在盘算着:还是用C/S算了,省得这么多麻烦,但是一个不敢于尝试新技术的公司往往是一个被新技术淘汰的公司。 为了解决上述问题,apache组织开发了一个基于JSP的MVC模式的实现:struts。它将WEB表现层分为model-view-controller几个部分,通过一个servlet来对web的流程进行控件,这与单纯的JSP或ASP相比确实进步了不少,因为利用struts能清楚地界定
7、web的流程,而且不提倡使用<%….%>语句,转而代之的是taglib技术。但它始终没有摆脱代码和HTML页面揉和的问题,而且它的原理对于JSP初学者来说比较复杂,taglib库不够丰富,而且taglib也不像组件那样能够继承。 于是,新一代的WEB开发方法应运而生,它们最典型的就是开发方法是基于组件的,其中最具代表性的就是Tapestry。二、为什么要用Tapestry? Tapestry现在已经属于Apache的Jakarta项目下了,你可以访问http://jakarta.apache.org/tapestry
此文档下载收益归作者所有