`
Lincoln
  • 浏览: 80484 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Tapestry学习笔记(10)

阅读更多
理解Tapestry引擎
Tapestry的核心是一个引擎对象,这个对象支撑和组织了应用程序的所有层面。引擎将所有的子系统绑定在一起形成了Tapestry应用程序。引擎主要涉及对服务器端状态的管理。引擎管理Infrastructure对象,而Infrastructure对象储存了大多数应用程序范围的状态(Infrastructure 对象中存放了多大39种Tapestry底层对象)。引擎同时也是管理持久页面属性的重要组成部分,当请求转移的时候,持久化页面属性允许页面拥有独立的内部状态。
每一个Tapestry应用程序都拥有一个独立的Servlet,用于连接Servlet容器和应用程序engine对象。应用程序servlet是ApplicationServlet类的一个实例。
Servlet的主要工作是找到并创建应用程序引擎对象的实例,引擎对象被储存在HttpSession中。然后代理所有进程应用程序引擎对象发出请求,引擎对象作为Tapestryservice的代理完成真正的请求响应。
引擎对象是应用程序中枢对象,它掌管着应用程序中的所有功能。它管理各种资源,如页面加载器,页面记录器,以及在请求周期内,为各种页面和组件提供服务。
引擎对象的一个重要工作是指定Tapestry service响应请求,这些service通常被用来创建URL和响应请求。应用程序引擎对象创建和管理请求周期,并捕捉和报道异常。
应用程序引擎对象提供页面记录器给请求周期使用。通过这种方式,它制定了整个应用程序的持久化策略。
在默认情况下,Tapestry使用org.apache.tapestry.engine.BaseEngine类作为默认的引擎对象。如果我们需要实现自己定义的引擎对象,可以创建一个子类继承与BaseEngine类,并在应用程序规范文件中进行配置。
<application name=”MyTapestry4” engine-class=”com.tapestry4.engine.MyEngine”>
引擎主要是通过service()方法,这个方法处理传递进来的请求,并将处理结果打印到客户端浏览器。
在传统的Servlet应用程序中,一个很大的挑战就是对应用程序产生和解析URLs的管理非常复杂。Tapestry通过引擎服务来处理这个问题。引擎服务实际上是请求与组件之间的真实纽带。


传统应用程序的URL有什么问题?
应用程序URLs表现了应用程序中的各种操作。最普遍的方式就是每个操作都拥有一个独立的Servlet,并使用质询参数获取请求中的客户端数据。
对于小型的应用程序,或者大型应用程序的初期阶段,对URL和质询参数的管理并不显得非常复杂,顶多会受到一些命名空间的限制。但是,随着应用程序规模的增大和改变就会产生一个很大的风险。因为JSP与Servlet之间只有非常细小的联系,JSP构造和表现应用程序URL,而Servlet解析那些相同的URL。如同我们前面讨论的那样,JSP与Servlet之间的弱绑定,如果Servlet的映射改变,则每个引用Servlet的JSP都必须被手工检查或修改,以确保产生新的正确的应用程序URL。同样,任何质询的改变将会产生连带影响。
分享到:
评论

相关推荐

    Tapestry笔记

    Tapestry的学习笔记,全都是从网上整理的

    tapestry学习入门资料

    强大的tapestry框架的学习入门资料,详细介绍了tapestry的常用开发文档。

    Tapestry 学习文档

    Tapestry~需要学习资料的进来看看 纯英文原版

    tapestry4和5学习资料

    该包包含: Tapestry5最新中文教程.doc tapestry.pdf tapestry开发流程.docx Tapestry开发指南0.8.pdf tapestry用户手册.pdf

    史上最全面Tapestry学习教程

    很不错的tapestry入门手册,安装教程学习后,基本可以熟练使用tapestry,极大提示开发效率。史上最全面Tapestry学习教程,Tapestry学习资料,适合入门

    tapestry学习资料汇总

    本人搜集的tapestry学习资料,压缩后25M左右。其中很多资料很难得。应该说对tapestry开发者有很大帮助。

    Tapestry5.1学习全集多本书整合

    是一本由多本Tapestry资料整合而成。包括一些Tapestry的实例。

    tapestry教程资料文档合集

    Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...

    深入浅出Tapestry

    使读者在学习如何使用Tapestry框架技术的同时,还能够获得在J2EE Web应用程序中应用Tapestry框架的先进经验。本书详细介绍了Hivemind框架的原理与应用,使读者不但可以通过Hivemind来重构Tapes 资源太大,传百度网盘...

    Tapestry5.0.16_API文档

    Tapestry5.0.16文档和大家一起学习

    tapestry5以上的帮助事例,帮助文档与spring衔接文档

    Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(Operation-centric) Servlet API.引用Tapestry网站上的一句话:"Tapestry用对象...

    tapestry官方中文文档

    Tapestry 4 官方文档中文版本,现在中文资料比较少,和大家共享一下

    tapestry 实例

    tapestry 实例tapestry 实例tapestry 实例tapestry 实例

    深入浅出tapestry

    使读者在学习如何使用Tapestry框架技术的同时,还能够获得在J2EE Web应用程序中应用Tapestry框架的先进经验。, 本书详细介绍了Hivemind框架的原理与应用,使读者不但可以通过Hivemind来重构Tapestry的官方实现,还...

    Maven + Tapestry5.3.8 + Spring4.0.5 + Oracle10g

    这是Tapestry5.3.8 版本的一个大Demo,集合Spring4.0, 采用Maven 项目管理工具,没有集合...学习Tapestry 可以关注网址 http://jumpstart.doublenegative.com.au/jumpstart/,一定有利于你的进步。 最后 欢迎留言!

    tapestry3开发指南,带tapestry3所有jar包

    tapestry3开发指南,带tapestry3所有jar包

    Tapestry4开发指南

    Tapestry4开发指南

    tapestry5.2.6 jar包

    tapestry5.2.6 最新jar包,Tapestry框架是一个位于java servlet容器和Tapestry应用程序之间的层

    tapestry技术

    tapestry技术 Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带有jwcid属性的html标记。其中jwc的意思是Java Web Component。Tapestry使得...

Global site tag (gtag.js) - Google Analytics