Tapestry
Tapestry是一个开源的基于Servlet的应用程序框架.
源码概况[ ]
授权协议:免费软件
运行环境:Apache
官方网站:http://tapestry.apache.org/
源码下载:官方下载
概述[ ]
Tapestry是一个强有力、开放源码、基于Java的用于开发高端WEB应用的框架。它是JSP的一种替代方法,使用Tapestry,可以让你的页面看不到一句JSP代码,这使页面看起来非常干净。它可以用很少的代码来构造一个极端复杂的WEB应用。
Tapestry使用组件对象模型来创建动态的,交互的Web应用。一个组件就是任意一个带有jwcid属性的HTML标记。其中jwc的意思是Java Web Component。Tapestry使得Java代码与html完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易维护和升级。Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用Javabean和XML技术进行开发。
一个Tapestry组件一般称作JWC(Java Web Component),它能与其它JWC一起组合,生成实例,进行配置。Tapestry自带了很多的JWC组件,这些组件不仅仅只是GUI组件,还有可能是带控制功能的组件,比如foreach组件能够提供循环的功能,同时tapestry还提供了一个简单的方法来制作用户自定义的组件,所有的Tapestry应用的表示层都是由这些JWC构成的。
特点[ ]
- Tapestry使用了类似于传统C/S的开发方法:基于组件的开发
- 非常高的代码复用性,因为在tapestry中,任何事物都可以看作一个可复用的组件。
- 将JSP开发者从繁琐的JSP代码中解脱出来,取而代之的是真正面像对像方法,而不是URL解析。
- 对页面国际化的充分支持
- 精确地错误报告,可以将错误定位到源程序中的行,取代了JSP中那些莫名奇妙地错误提示。
- 充分支持团队开发,美工人员和JAVA开发人员可以融洽地相处,互相都不依赖于对方。
- 由一个定义文件(以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> <servlet-name>Registration</servlet-name> <servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet>
那么Tapestry会自动寻找一个名为Registration.application的配置文件,如果用户没有定义此文件,Tapestry将不能正常启动。