词条 | tapestry |
释义 | Tapestry并不是一种单纯的MVC框架,它更像MVC框架和模板技术的结合,它不仅包含了前端的MVC框架,还包含了一种视图层的模板技术,使用Tapestry完全可以与Servlet/JSP API分离,是一种非常优秀的设计。 通过使用Tapestry,开发者完全不需要使用JSP技术,用户只需要使用Tapestry提供的模板技术即可,Tapestry实现了视图逻辑和业务逻辑的彻底分离。 简介Tapestry框架是一个位于java servlet容器和Tapestry应用程序之间的层。Tapestry不是一个独立运行的服务器;它是一个servlet的扩展,它运行于servlet容器(例如Tomcat)或包含servlet容器的应用服务器中(如Jboss,Websphere,或者WebLogic). Tapestry应用其实是由一系列页面组成,而每个页面是由可以复用的组件构成。 Tapestry使用组件库替代了标签库,没有标签库概念,从而避免了标签库和组件结合的问题。Tapsetry是完全组件化的框架。Tapestry只有组件或页面两个概念,因此,链接跳转目标要么是组件,要么是页面,没有多余的path概念。组件名,也就是对象名称,组件名称和path名称合二为一。 Tapestry具有很高的代码复用性,在Tapestry中,任何对象都可看作可复用的组件。JSP开发者是真正面向对象,而不是URL解析。对于对页面要求灵活度相当高的系统,Tapestry是第一选择。精确地错误报告,可以将错误定位到源程序中的行,取代了JSP中那种编译后的提示。 因此,笔者一直对Tapestry情有独钟:如果技术允许,使用Tapestry会带给整个应用更加优雅的架构,更好的开发效率。 但是,在实际开发过程中,采用Tapestry也面临着一些问题必须考虑: — Tapestry的学习曲线相对陡峭,国内开发群体不是非常活跃,文档不是十分丰富。官方的文档太过学院派,缺乏实际的示例程序。 — Tapestry的组件逻辑比较复杂,再加上OGNL表达式和属性指定机制,因而难以添加注释。 最新版本情况2008-10-17日 Tapestry 4.1.6 Tapestry 5.0.15 2009-05-06 Tapestry 5.1 Tapestry 5.2 将支持Portal开发及Spring Web Flow Tapestry 5.3 概述1、Tapestry是一个全面web application框架,是使用JAVA写的。 2、Tapestry不是一个application server,Tapestry是一个使用在application server中的框架。 3、Tapestry不是一个application,Tapestry是一个用来创建web application的框架。 4、Tapestry不是JSP的一种使用方式,Tapestry和JSP只能够选择一种。 5、Tapestry不是一个脚本环境,Tapestry使用一种组件对象模式(component object model),这并不是一种简单的脚本,而是用于生成高动态性高互交性的web页面。 Tapestry基于Java Servlet API version 2.2,兼容于JDK 1.2以上版本,Tapestry通过变换多样的组件模式,将一个web application分离为一个联合组件。每一个组件都拥有其特殊的责任用于显示web页面或者响应HTML请求。 与Web应用的关系Tapestry在整个环境中的位置;应用程序由可复用组件构成的页组成。应用程序运行在应用服务器中。对应用服务器而言,Tapestry应用只不过是其他类型的servlet而已。 Web应用通常按照三个层面来实现,每一个层面都针对应用中不同的问题。 Ø 展现层的职责是负责接受请求和产生HTML的响应; Ø 应用层的职责是负责所有的业务逻辑;这一层通常用EJB来实现; Ø 数据库层的职责是负责持久地存储数据; Tapestry仅仅是展现层的应用,或者说Tapestry仅仅是将处理好的信息展现给终端用户,如HTML,以及处理来自链接和HTML表单输入。Tapestry不知道或者不关心应用层、域逻辑层、或者信息的来源。一个Tapagestry应用程序可以建立在平面文件数据库、可使用JDBC存取的关系数据库以及分布在世界上各个网络上的EJB之上。Tapestry对你的应用没有任何要求,它只是关注展现层是如何组织的。 Tapestry框架填充了web应用开发中隐藏的缝隙:它提供了一个与开发人员相关的一致的框架。通常,每个开发人员自行管理他或者她开发的部分取忽略了其他的工程纪律从而使得项目承担更大的风险。假如将建造一个大楼的工作分解成建造不同楼层并安排给工人们设计和建造单独楼层,最后将它们用吊机装配起来。每一个工人都给了一个完成后建筑的粗略的草图并告诉他们那一层该做什么:“我们将把财务部门安排在这里”,或者“这儿将是公司的自助餐厅。”。你能预测到会出现什么样的灾难性的问题;每一个工人将使用不同的材料和不同的布局。电梯轴不能垂直,一些工人忘了给电线和管道预留空间,更有甚者,忘记了安装窗户!! 可是,许多Web应用应用的开发仍然和上面描述的相似的混乱情况下被开发着。说明不完整;不同的开发人员以不同的方法处理类似的问题。一些开发人员不注意项目中的重要细节或者web开发中比较次要的细节。由于技术的不同,一些开发人员擅长些客户端的javascript,其他的则擅长于后台系统的交互开发-但是项目管理者常常认为这些人是完全可以互换的。最常见的是,项目的成功或失败担子在最后完全落在“全垒打团队“的肩膀上,他们不得不在剩余的时间里将所有的代码片断粘在一起。 继续以前边的比方为例。不管怎样,工人都是从管道和布线已经完成的空楼层开始工作。所有的事情都变成安装仅仅用于该层的固件的工作,项目的最后这些东西将会被正确的组装起来。把楼层看作页面,把固件看作组件,把安装看作配置,你就能理解了Tapestry给开发人员提供的东西了。 Tapestry在解决开发问题上不是一个万能药;然而,它提供了一个描述Web应用项目实现和由不同开发人员提供的元素之间交互的一致的方法。Web应用程序没有电梯轴线,但它们可以有,如统一的导航条,或嵌入的查询表格,或统一的登陆按钮。这些元素都能实现成Tapestry组件,单独地测试,并在每一个页面上重用,这样就能保证一致的外观和一致的交互行为。 Moya Brennan同名歌曲收录于专辑Signature 专辑歌手: Moya Brennan 专辑名称: Signature 唱片公司: Furious 发行日期: 2006年10月10日 资源类型: 192Kbps/mp3 爱尔兰家族乐团-克兰纳德合唱团(Clannad)女主唱莫雅的歌声潺潺流动着洁净、温柔、美丽、清幽、辽阔的感觉,搭衬着竖琴、键盘、吉他与弦乐所交构出的飘邈意境,细致融合世界音乐、爱尔兰民族音乐、新世纪音乐、圣乐、流行抒情曲风与电影音乐情境手法,把一段段来自爱尔兰的远古传说编织成仙境般的美丽意象,创造出忘情的感动听觉。身为恩雅姊姊的莫雅伴随着克兰纳德合唱团缔造全球1000万张销售传奇,"I Will Find You"(大地英豪)、"Harry’s Game"(爱国者游戏/也是福斯汽车广告歌)等电影主题曲以及与U2主唱Bono合唱的"In A Lifetime"都是莫雅脍炙人口的灵性美声之作。歌词 Weaving silver and gold Destinations crossing over Gentle music touching beauty Rising in harmony Teach us to listen, calling for wisdom Gracing a tapestry Weaving silver and gold Destinations crossing over Spinning a web of ribbons and color Colors of history Stories together, laughing and dancing Gracing a tapestry Weaving silver and gold Destinations crossing over Treasure secrets, stealing moments Phrases of poetry Setting in motion, loving forever Gracing a tapestry Weaving silver and gold Weaving silver and gold |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。