CSDN博客

img JasonSeaver

Tapestry简介

发表于2004/7/5 21:51:00  1068人阅读

Tapestry简介
efly 原创  (参与分:730,专家分:980)   发表:2003-7-2 下午2:10   更新:2003-7-8 上午11:16   版本:1.0   阅读:5452

  • 你熟悉组件编程吗?
  • 你想要高性能的网站吗?
  • 你想要网页脱离杂乱的脚本语言吗?

    是,我要关注并学习Tapestry!


    Tapestry是一个新的针对Web的应用框架(Application Framework)。今年初它刚从SourceForge转移到ASF(Apache Software Foundation)著名的Jakarta项目组(名下的项目都是基于Java的)。与其它的应用框架不同的是,Tapestry是基于组件(Component),跟Struts,Velocity不同,它不是面向脚本语言(比如JSP和Velocity)的。Tapestry的行为模式跟Swing差不多,组件可以被套嵌(embeded)和包裹(wrap)其它组件。组件的行为模式为Web页面编程提供了很大的方便,事件处理也方便很多。更大的好处是不必在页面中嵌入大量的脚本语言,实现了表现层(View)与模型(Model)和控制层(Control)的真正分离。

    Tapestry是一个高效能的Web应用框架。它使用独立的引擎(IEngine)提供服务(IEngineService),代理Servlet的请求(将ServletRequest移交给IRequestCycle),并负责渲染(Render)页面。生成页面都在容器池(Pool)里面,只有在渲染的时候才把页面实例(Instantiation Object)从Pool中调出来与页面特性(Properties)结合(Attached)通过渲染后发送到远程客户端。完成后页面实例把页面特性恢复成默认(Detached to default)送回容器池,这个过程是非常短时间的。容器池维护了很少量的页面实例,页面在第一次请求的时候才被实例化,其它客户端的请求可以共用相同的页面实例。超过十分钟没有被请求的页面实例将被destroy掉,占用的内存将被垃圾回收。
     

    页面特性与远程客户端的会话(Session)有关。
    Tapestry提供检查器Inspector调试运行中的tapestry应用程序。我暂时提供一个Tapestry自带的例子Web服务,里面有运行的例子和Tapestry展示功能的工作台(Workbench)。
    http://61.48.212.111:8080/tutorial

    注意,我每次重起机器的时候IP地址都会被自动分配,所以我提供的这个服务只是暂时的。想深入了解和学习的朋友请参考Apache或SoureForge网站。


    版权声明   给作者写信
    本篇文章对您是否有帮助?  投票:         投票结果:     4       0


  •   评论人:javamonkey    参与分: 515    专家分: 520    来自: 北京海淀区三里河
    发表时间: 2003-7-4 上午10:11
    前端已经有不少框架了
    能比较一下同struct,jface的区别么?他们为了什么目的来制定的框架

      评论人:efly    参与分: 730    专家分: 980 发表时间: 2003-7-4 上午10:51
    我认为框架是面向组件的架构,选择特定的框架会减轻开发的难度并使各方面的因素(比如系统效能,安全性,可利用的资源,实施的规范)有了保障。所以好的框架是多多益善。
    struts,velocity,jetspeed,tapestry都是java web框架。struts是基于jsp taglib的组件框架,velocity本身就是一个脚本语言,jetspeed是portal driven。而tapestry是面向web组件的框架,从结构上来讲它更简洁和直接,JFace也是面向组件的(基于swt),这一点它们有相似之处,只不过一个是Web框架,一个是IDE的框架。
    我相信以后还有很多开源的框架出现,或许更好,值得我们选择。

      评论人:efly    参与分: 730    专家分: 980 发表时间: 2003-7-4 上午11:15
    另外Tapestry有一些很吸引人的特性:
    不用掌握任何脚本语言(jsp或javascript,简单的html除外);
    它是面向web组件的,开发web application就跟普通的appliation差不多,开发模式跟swing一样;
    只有一个servlet入口,并且设计得相当诡秘,充分考虑了效能。网页相应和渲染(把页面最终转化成浏览器可识别的脚本语言,swing是直接画在screen上)的速度相当快。

      评论人:pawa    参与分: 39    专家分: 30    来自: http://pawa.blogone.net/
    发表时间: 2003-7-4 上午11:52
    这位同学是以前的efly么?我以前的同事,现在在哪里呢?

      评论人:efly    参与分: 730    专家分: 980 发表时间: 2003-7-4 上午11:57
    我在家,明天去学车。有空跟我联系efly2008@163.com过来玩。

      评论人:pawa    参与分: 39    专家分: 30    来自: http://pawa.blogone.net/
    发表时间: 2003-7-4 下午12:11
    转到哪里工作了?你走真可惜哦

      评论人:efly    参与分: 730    专家分: 980 发表时间: 2003-7-4 下午12:22
    no job。以后还有合作的机会,可以多交流嘛。有时候商业化太浓了会使人失去兴趣。我现在是现代素食主义者,也是开源文化的受益者。推荐一个好的OS,BeOS。另外听说新的Mac OS X也不错,可惜只有ppc版本。

      评论人:rautinee    参与分: 49    专家分: 40    来自: Chengdu Sichuan
    发表时间: 2003-7-10 上午10:39
    我现在也正在看这方面的内容,有谁可以提供tapestry中文方面的内容?

      评论人:efly    参与分: 730    专家分: 980 发表时间: 2003-7-10 上午10:57
    Tapestry基于servlet,所以国际化是固有的,而且它的组件本身就带有繁体的properties文件,只要把后缀从zh_TW改为zh_CN就可以用了。有一些组件的汉化要修改组件js或源码的内容,汉化以后的效果是不错的,不过复杂的Table组件的Header换成汉字后不支持sort。

      评论人:robornet    参与分: 441    专家分: 90    来自: 阳光岛
    发表时间: 2003-7-27 下午6:31
    欢迎交流!
    QQ:172051172

      评论人:cafecat    参与分: 36    专家分: 10 发表时间: 2003-10-30 下午1:09
    我觉得框架类似于中间件,每一种框架都有它固有的优点和缺点,没有必要对所有的框架精通。
    0 0

    相关博文

    我的热门文章

    img
    取 消
    img