在Tapestry中,每一个应用程序使用一个Servlet:org.apache.tapestry.ApplicationServlet。在传统的servlet应用程序中有多种Servlet,每一种Servlet表现了应用程序中可能发生的不同操作,而每一个servlet都需要编写新的代码,并对代码进行测试和调试。
编写Servlet代码比编写其他大多数java应用程序困难的原因之一,就是Servlet应用于不同的环境。Servlet容器会为每一个Servlet创建一个实例。也就是说,可能单一的Servlet会处理十几个并发的请求,而每一个请求又是独立线程。任何当前客户端的信息都将被储存在Servlet实例的变量里面,而其他的线程肯定会马上重写那些变量。所有这些都发生的非常频繁,而一旦程序员违反基本原则,就很容易产生Bug。
Tapestry框架提供了ApplicationServlet类,并且不需要继承其他类。在Tapestry中应用程序Servlet仅仅是Tapesyry service与Servlet API之间的门户。
当web容器开启Servlet时,Tapestry的ApplicationServlet将会完成下一过程。
1.通过读取HiveMind配置文件实例化org.apache.hivemind.Registry类,该类用于启动Hivemind框架,并通过该类访问Hivemind框架的service;
2.Tapestry的webContextInitializer对象作为Hivemind服务之一被Register访问,初始化Global对象;
3.Tapestry的ApplicationSpecificationInitializer对象作为Hivemid服务之一被Register访问,加载Tapestry应用程序规范,并将其放入Global对象;
4.Tapestry的SetupServletApplicationGlobals对象作为Hivemind服务之一被Register访问,初始化Infrastructure;而Infrastructure初始化engine,各种service和Tapestry底层对象,并将它们放入Global对象;
5.然后将Register对象放入javax.servlet.servletContext。
6.初始化ServletRequestService对象,并初始化该对象的两个属性:WebRequestService对象用于响应请求;RequestGlobalsImpl用于储存请求,以便在需要的时候恢复请求。
分享到:
相关推荐
"tapestry学习入门资料" Tapestry 是一个开源的基于 servlet 的应用程序框架,它使用组件对象模型来创建动态的、交互的 web 应用。 Tapestry 使得 Java 代码与 HTML 完全分离,利用这个框架开发大型应用变得...
在这个“Tapestry学习文档”中,我们可以深入理解这个框架的核心概念和技术。 1. **组件化编程**: Tapestry的核心是组件,它将UI元素(如按钮、表单、列表等)封装为独立的、可重用的单元。每个组件有自己的状态...
【Tapestry笔记】 Tapestry是一个基于Java的Web应用框架,它采用了面向组件的开发方式,这使得它与其他如Structs、WebWork、SpringMVC等采用传统面向元素开发方式的框架有所不同。面向组件的开发模式旨在克服面向...
本压缩包包含了一系列的学习资源,帮助开发者深入理解和掌握Tapestry 4和5的关键概念和技术。 1. **Tapestry5最新中文教程.doc**: 这份文档可能是针对Tapestry 5的最新中文教程,旨在为初学者提供一个易懂的入门...
本压缩包包含了丰富的Tapestry学习资料,总计约25M,涵盖了各种教程、教材和实践案例,对于想要深入理解和掌握Tapestry的开发者来说,是一份非常宝贵的资源。 1. **Tapestry基础** Tapestry基于组件模型,每个网页...
9. **集成其他技术**: Tapestry可以与其他Java库和框架无缝集成,如Spring、Hibernate等,增强了其在大型项目中的适用性。 10. **学习资源**: 虽然Tapestry 4的中文文档较少,但提供的《Tapestry4 用户指南》和...
Tapestry是一款强大的Java Web应用程序框架,由Apache软件基金会维护,它提供了一种基于组件的模型...通过学习"Tapestry简单入门.rar"中的文档,你将能够掌握这个框架的基础知识,为进一步深入学习和实践打下坚实基础。
是一本由多本Tapestry资料整合而成。包括一些Tapestry的实例。
9. **Tapestry-test**: 为Tapestry应用提供了通用的测试支持,包括模拟组件、服务和事件处理。 10. **Tapestry-internal-test**: 内部测试套件,用于验证Tapestry框架的内部工作原理和功能,这对于理解Tapestry的...
发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf 前3章 ---------------------------- tapestry开发流程.docx -------------------...
本文档旨在提供一个全面且易于理解的 Tapestry 学习指南,帮助初学者快速上手并掌握 Tapestry 5.1 的核心功能。 #### 第一章:搭建 Tapestry 5.1 开发环境 ##### 1.1 安装 JDK - **原因**:Tapestry 5.1 使用了 ...
2. **获取Tapestry4**:下载Tapestry4的最新版本,当前为beta-9版,从其变更日志来看,框架已趋于稳定,官方正致力于完善文档。 3. **配置项目**:在Eclipse中创建新的Web项目,并配置项目以适应Tapestry4的运行...
Tapestry 3的开发指南是学习和理解这一早期版本框架的关键资源,而提供的jar包则是实际开发中的必要依赖。 **一、Tapestry 3 的核心概念** 1. **组件**:Tapestry 3的核心是组件,它将HTML元素与Java代码结合,...
《Tapestry学习资料》是一份综合性的资源集合,涵盖了Tapestry框架的三个主要版本:Tapestry 3、4和5。这份资料旨在帮助开发者深入理解和掌握Tapestry框架,提升Web应用开发的效率和质量。 Tapestry是由Apache软件...
Tapestry5.0.16文档和大家一起学习
**Tapestry 实例详解** Tapestry 是一个开源的Java Web 应用程序框架,由Apache软件基金会维护。...通过深入学习和实践Tapestry,开发者可以创建出高效、可扩展的Web应用程序,享受到组件化开发带来的诸多益处。
Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(Operation-centric) Servlet API.引用Tapestry网站上的一句话:"Tapestry用对象...
Apache Tapestry 5 是一个基于Java的Web应用开发框架,其设计目的是为了简化Web应用程序的构建,提供组件化的页面构建、输入验证...通过学习和实践Tapestry 5,开发者能够更好地理解和掌握现代Web应用开发的最佳实践。
9. **国际化与本地化**:Tapestry提供强大的i18n(国际化)和l10n(本地化)功能,允许开发者轻松创建多语言应用。它支持资源文件,用于存储各种语言的文本和格式。 10. **错误处理与调试**:Tapestry的错误处理...