`
jd20800991
  • 浏览: 40105 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

Tapestry4.1工作原理

阅读更多

      Tapestry代表着新生代的表现层框架,又结合了新生代的业务层框架HiveMind,已经给人们带来了很多的惊喜。4.1版本的推出又完全的整合了dojo,使得表现层框架又向外延伸了一块。也许每个人都再打造着自己的完美框架,正是这种不断探索不断发现的精神推动着软件产业的发展。同时也解决了大部分人的就业问题,也给社会带来了新的体验。工程师永远是重要的角色……

 

      简单描述下tapestry工作原理,要从客户端请求周期说起。客户端请求服务器的servlet,servlet将请求移交给tapestry框架处理,tapestry自己定义了一套处理web请求的模式,接着根据这套模式将请求发给WebRequestService其将实例化引擎管理对象、调用tapestry引擎、处理tapestry基础结构(保存到request),就是在做处理请求前的准备工作逻辑。最终由引擎管理对象从引擎池中取到或创建一个引擎来处理请求。创建出来的引擎叫AbstractEngine其能在request对象中得到之前所做的所有准备工作对象。并创建了自己管理请求模式中的cycle对象,之后我们要找请求中的信息就得麻烦他了。其中主要的就是在cycle对象中要知道请求者想要应用帮助他解决什么问题。把这些问题归下类,大概就那么几种。例如最常见的请求某页面。这些归类有个新名词叫做引擎服务。可以说引擎服务是解决用户提出问题的答案库。想要完善新的问题就可以在答案库中相应的增加新的答案。tapestry4.1就对应新的问题ajax技术做了新的答案库DirectEventService。正所谓魔高一尺道高一丈啊。扩展性不错。有了专门解决请求问题的引擎服务剩下的事就不用多说了,组织页面内容,返回答案给展现给客户就行了。具体可以好好研究一下什么是component

 

     与新的引擎服务配合的必然是新的组件。而多出的无非是request response新的形式。窗口中总有事件,而从事件模型角度看也无非两种形式,自我触发和主动触发。主动触发事件比较常见,ajax技术通过dojo的一些封装使得表现层似乎有了面向对象的javascript函数。能更清晰的让人们看到他们是怎么控制表现层让其自我触发请求服务器内容。这些事件都被tapestry4.1监听着。被BrowserEvent记录着。由强大的引擎服务去在后台无声的处理着。最后我们只编写着少量的代码,告诉服务器要用什么样的话语回答客户端。服务器则把我们的意思通过xml静悄悄的传达给客户端表现层。这些都是组件、监听和引擎的力量。诠释出一个不错的新生代框架。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhaowenchao/archive/2006/11/23/1406653.aspx

分享到:
评论

相关推荐

    Tapestry用户手册

    - 解释Tapestry中URL的工作原理。 - **12.2 使用友好的URL** - 如何配置和使用更人性化的URL结构。 #### 13. 页面事件 - 页面事件是Tapestry中处理用户交互的重要机制。 #### 14. 配置Tapestry - **14.1 Web配置...

    P2P网络技术原理与C++开发案例 源代码和第五章电子书 Peercast(王浩聪注释版)

    4.1 P2P应用面临的安全问题 69 4.1.1 P2P应用引发的版权问题 69 4.1.2 P2P应用对现有网络应用的威胁 71 4.1.3 P2P网络病毒与蠕虫 71 4.1.4 结构化P2P网络的隐患 72 4.2 P2P应用与安全技术 76 4.2.1 P2P...

    spring 的权限管理框架 中文参考手册

    在深入了解后续章节之前,尝试这些示例可以帮助你更好地理解框架的工作原理。 #### 五、构建项目资源 除了指南之外,还可以通过访问Spring Security的项目网站获取更多有用的构建信息,包括链接到相关的文档、视频...

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.2. 容器和bean的基本原理 3.2.1. 容器 3.2.1.1. 配置元数据 3.2.2. 实例化容器 3.2.2.1. 组成基于XML配置元数据 3.2.3. 多种bean 3.2.3.1. 命名bean 3.2.3.2. 实例化bean 3.2.4. 使用容器 3.3. 依赖 3.3.1. 注入...

    spring chm文档

    3.2. 容器和bean的基本原理 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean 3.2.4. 使用容器 3.3. 依赖 3.3.1. 注入依赖 3.3.2. 构造器参数的解析 3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on...

    Spring中文帮助文档

    3.2. 基本原理 - 容器和bean 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean 3.2.4. 使用容器 3.3. 依赖 3.3.1. 注入依赖 3.3.2. 依赖配置详解 3.3.3. 使用depends-on 3.3.4. 延迟初始化bean 3.3.5. 自动...

    Spring API

    3.2. 基本原理 - 容器和bean 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean 3.2.4. 使用容器 3.3. 依赖 3.3.1. 注入依赖 3.3.2. 依赖配置详解 3.3.3. 使用depends-on 3.3.4. 延迟初始化bean 3.3.5. 自动...

    Spring 2.0 开发参考手册

    3.2. 容器和bean的基本原理 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean 3.2.4. 使用容器 3.3. 依赖 3.3.1. 注入依赖 3.3.2. 构造器参数的解析 3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on...

    webx3框架指南PDF教程附学习Demo

    2.2. SpringExt原理 ......................................................................................... 16 2.2.1. XML Schema中的秘密 ...............................................................

Global site tag (gtag.js) - Google Analytics