你熟悉组件编程吗? 你想要高性能的网站吗? 你想要网页脱离杂乱的脚本语言吗?
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网站。
|
|