Tapestry的service(转)

这是Tapestry框架的核心部分。Tapestry框架面向组件的开发方式,使得我们不再操心Servlet底层细节和URL中质询参数的结构。

Tapestry用于Servlet的底层对象

为了更好地理解Tapestry的service运作过程,我们首先需要熟悉一下Tapestry service中常用的核心对象。
1. IRequestCycle对象
该对象用于控制一个单一的请求周期。一旦客户段浏览器发出请求,Tapestry将做以下处理。
通过IEngineService对象响应URL;
决定响应页面;
释放所有资源。
在这个过程中,IRequestCycle对象还会处理:
异常操作;
加载页面模板;
跟踪页面属性的变化并储存页面状态;
缓存页面对象。
2.IRageRecorder对象
该对象用于观察一个页面及该页面Tapestry属性(页面属性和组件属性)的变化,在请求周期内储存页面状态,并在下一个请求周期到来之前,将页面已经发生变化的状态回复到初始值。
通过实现IRageRecorder接口,可以自定义页面状态持久化策略,可以将页面状态存储内存,客户端cookies文件系统或数据库中。
3.IPageSource对象
通过页面规范从缓存池中加载页面对象,如果IPageSource对象在缓存池中找不到页面对象,或者加载的对象不可用,那么IPageLoader对象的实例就会创建页面对象的实例(包括页面所调用的组件)。
4.IPageLoader对象
创建页面对象的实例。
5.IEngine对象
Tapestry应用程序的核心对象的生命周期与HttpSession相同,每个单一客户端拥有自己的engine对象。Engine对象用于向页面和组件提供Tapestry的核心service.
6.IEngineService对象
Tapestry 的核心service通过IEngine对象相页面和组件提供Service.service的作用是构建URL编码以响应请求,或解析请求中包含的URL。
7.WebRequest对象
包含了当前请求的所有信息。这个对象本质上是对HttpServletRequest的封装。
8.WebResponse对象
控制客户端响应,并创建输出流。这个对象本质上是对HttpServiceResponse的封装。
9.WebContext对象
对ServletContext的封装。
10.WebSession对象
对HttpSession的封装。

关于Tapestry的一些个人总结 Tapestry简述: Tapestry是一个servle的扩展,它运行于servlet容器(Tomcat)或包含servlet容器的服务器(如Jboss) 通过使用Tapestry,开发者完全不需要使用JSP技术,用户只需要使用Tapestry提供的模板技术即可, Tapestry实现了视图逻辑和业务逻辑的彻底分离。 立即下载

相关推荐

参考线平滑-FemPosDeviation-SQP

使用SQP(顺序二次规划)对离散点进行平滑

mpt0816的博客 2439

Tapestry学习笔记(8)

Tapestry的service 这是Tapestry框架的核心部分。Tapestry框架面向组件的开发方式,使得我们不再操心Servlet底层细节和URL中质询参数的结构。 Tapestry用于Servlet的底层对象 为了更好地理解Tapestry的service运作过程,我们首先需要熟悉一下Tapestry service中常用的核心对象。 1. IRequestCycle对...

javabeyond的专栏 209

QGIS实战:5分钟搞定谷歌地图、高德、天地图等多源地图加载(附最新图源URL)

本文详细介绍了如何在QGIS中快速加载谷歌地图、高德、天地图等多源地图,提供2023年验证可用的最新图源URL和配置步骤。从环境准备到高级技巧,涵盖国内外主流地图服务的完整解决方案,帮助用户提升GIS工作效率。

weixin_29210759的博客 1207

Tapestry 5 页面生命周期方法

页面生命周期方法   本文根据http://tapestry.apache.org/tapestry5/tapestry-core/guide/lifecycle.html翻译整理过来,请高手指正,转载请注明出处!     这里有一些有益于组件执行操作的情况,通常是一些基于页面生命周期的初始化与缓存。   页面生命周期非常简单,当第一次被请求时,页面被装载,装载一个页面包括初始化页面中的组件及将...

天天向商! 270

本地部署gradle

在部署CAS构建执行包时,如果按照CAS的官方命令gradlew clean build,如果系统没安装过gradle,这个步骤将会从网上下载gradle,但是进度非常慢,耗时很长。为了更快地完成项目构建,我们可以直接在本地部署好gradle,节省一点时间。

益添的博客 779

STM32独立实现CANOpen主机功能:从零构建轻量级控制方案

本文详细介绍了如何在STM32上不依赖CanFestival库,从零构建一个轻量级的CANOpen主机方案。文章深入剖析了CANOpen主机的三大核心功能——NMT网络管理、SDO参数配置与PDO过程数据交换,并提供了从硬件准备、驱动层构建到协议实现的完整代码实战。该方案代码精简,资源占用低,特别适合在资源受限的STM32平台上实现工业控制、电机驱动等场景的稳定通信。

potato的博客 1072

Tapestry属性生命周期(关于persist)

Tapestry属性可能拥有持久化状态,在各个请求周期之间保存用户指定的Tapestry属性。当应用程序的某一部分请求一个页面时候,将会获得一个 页面实例和用户先前存入持久化页面属性中的值。(当页面的属性比如抽象的getter setter没有被标明持久化的时候,请求只会拿到一个空的页面对象)如果这个页面中调用的组件包含有持久化的组件属性,那么请求也将获得持久化组件属性的值。 页面实例不是ses

deadswan000的专栏 2598

硬全桥副边钳位管Vds电压凸台揭秘——寄生参数引发的导通异常

本文深入分析了硬全桥副边钳位管Vds电压凸台现象,揭示了寄生参数如何引发导通异常。通过波形分析和工程实践,详细解析了走线电感的蓄能效应和体二极管的接力作用,并提供了PCB布局优化、元件选型和驱动电路调整等解决方案,帮助工程师有效应对这一常见问题。

weixin_30825581的博客 429

Tapestry内部工作原理

【IT168 技术文档】     tapestry的URL形如/examples/app?service=page/Admin 能够保证有效运行的一个非常重要的原因是,用有状态的javabean代替无状态的servlet构建一个tapestry应用。page是有状态的,他只能在一个线程里为一个用户处理一个request,而一个servelet,没有用户的状态,可以在并发线程中为任何数量同时发生的r...

gongshijun2005的专栏 484

农业杂草检测——棉花杂草数据集

然后将本层13×13的特征图谱经过×2上采样扩充到26×26,并与上层中26×26的特征图谱拼接,得到新的26×26的特征图谱,在该特征尺度上进行第二次预测,此时得到的特征图谱是相对输入图像16倍下采样,具有中尺度感受野,适合检测中等尺度对象;通过目标检测,能够及时清除杂草,减少病虫害的滋生和传播,保障棉花的健康生长,并有助于降低生产成本。对于地膜覆盖的棉田,由于膜内耕作层土温高、底墒好,杂草出苗早而集中,一般覆膜后5 - 7天杂草陆续出土,在墒情好的情况下,15天左右即形成出土高峰。

qq_38220914的博客 1245

【RT-DETR涨点改进】全网独家创新,卷积细节涨点改进篇 | TCSVT 2025 | 引入DGBM差分专家引导双向调制模块,利用双向仿射调制实现特征分布对齐,含多种创新改进,助力小目标检测高效涨点

本文提出DGBM差分专家引导双向调制模块,用于改进RT-DETR目标检测网络。该模块通过差分建模突出不同层级特征的独特信息,利用双向调制实现特征分布对齐,增强局部细节与全局语义的协同表达。DGBM包含差分专家机制、物理反演建模和双向仿射调制三个关键部分,能有效解决CNN与Transformer特征融合冲突问题。实验表明,该方法可提升复杂场景下的检测精度,降低误检漏检率,且模块具有可插拔、易集成的特点。文章详细介绍了模块结构、原理、优势及具体实现代码,并提供了四种RT-DETR改进方案的yaml配置文件。

Ai缝合怪、助力小伙伴高效发论文 441

Tapestry 怎样从数据库中保存的图片显示出来。

传个ID给Service让Service输出图片。 类似JSP或SERVELT。。 我仿照TAPESTRY中的AssetService写了个 PhotoService. java代码: package outsourcing.tapestry.utils; import java.io.IOException; import javax.servlet.ServletC

1338

Yocto系列讲解[入门篇] 1 - 快速入门熟悉Yocto的构建

yocto quick start up带大家快速上手

fulinux的博客 5万+

Tapestry的service

Tapestry的service Tapestry的service 这是Tapestry框架的核心部分。Tapestry框架面向组件的开发方式,使得我们不再操心Servlet底层细节和URL中质询参数的结构。Tapestry用于Servlet的底层对象为了更好地理解Tapestry的service运作过程,我们首先需要熟悉一下Tapestry service中常用的核心对象。 1. I

xymyeah 1118

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Tapestry IoC Service

Services 可以在AppModule类中追加如下方法: public static SomeInterface build(){ return new SomeInterfaceImpl(); } 我们的方法可以使build,也可以是以build开头的方法,如buildSomething。 还有一种更为推荐的方式为使用 public static ...

weixin_30877227的博客 92

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Tapestry

Tapestry 1)概述: Tapestry 是一个全面web application 框架,是使用JAVA 写的。 Tapestry 不是一个application server,Tapestry 是一个使用在application server 中的框架。 Tapestry 不是一个application,Tapestry 是一个用来创建web application 的框 架。 Tapes...

渡城的博客 324

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Tapestry框架概述

Tapestry框架:Tapestry框架配置文件1.应用程序规范文件  .applicationn后缀  细节配置、页面和组件培植、组件包配置。  Servlet-Name/WEB-INF/或/WEB-ING目录下(修改应用程序规范文件是配置页面类的默认定位包路径;引入官方扩展组件包。否则可以不必)"http://jakarta.apache.org/tapestry/dtd/Tap

池塘 1119

Tapestry + Spring + Hibernate 整合工作及相关问题

FrankSoo是我的项目经理。前段时间公司决定作个新的J2EE二次开发平台,以替换公司原有的开发平台。公司让FrankSoo和我组成平台开发项目组,FrankSoo担任项目经理。现在这个平台整合开发阶段已经结束,进入项目应用阶段。下面是我们的整合工作小结,介绍一下我们在工作中遇到的问题,以及我们选择的解决方案. 1、架构的选择 首先,我们都同意以我们现有的能力,没有足够的时间和资源自行开发一

鲤鱼商城 1424

Tapestry Spring Hibernate整合工作

1、架构的选择 首先,我们都同意以我们现有的能力,没有足够的时间和资源自行开发一套完整的平台。在已有的众多开源项目中选择若干优秀的项目进行整合,才可能按时完成项目,达到项目目的。 但是在平台项目开始前,我们对平台的技术架构有各自的构想。FrankSoo原来的构想是Struts+Spring+Hibernate,而我的构想是Tapestry+Hibernate。 不过FrankSoo非常open

从前有座山 1083

tapestry

可参考官方文档: http://tapestry.apache.org/tapestry4.1/quickstart/helloworld.html 也可以参考中文的: http://wenku.baidu.com/view/f9d9a7c24028915f804dc2e6.html 包是都需要的: 2008-03-26 16:07 331,716 back...

ouyida3 161

Tapestry ---->能取代JSP吗?

Tapestry Spring Hibernate整合工作小结[摘] EugeneCao 发表于 2004-10-10 FrankSoo是我的项目经理。前段时间公司决定作个新的J2EE二次开发平台,以替换公司原有的开发平台。公司让FrankSoo和我组成平台开发项目组,FrankSoo担任项目经理。现在这个平台整合开发阶段已经结束,进入项目应用阶段。下面是我们的整合工作小结,介绍一

studyday的专栏 881

Tapestry学习笔记(10

js 代码 理解Tapestry引擎       Tapestry的核心是一个引擎对象,这个对象支撑和组织了应用程序的所有层面。引擎将所有的子系统绑定在一起形成了Tapestry应用程序。引擎主要涉及对服务器端状态的管理。引擎管理Infrastructure对象,而Infrastructure对象储存了大多数应用程序范围的状态(Infrastructure 对象中存放...

fangyong2006的专栏 144

[转]tapestry自定义基本IEngineService

转帖自:http://blog.youkuaiyun.com/xymyeah/archive/2006/02/11/596778.aspxtapestry自定义基本IEngineService                                          tapestry的SeviceLink组件能调用9种基本的service(ActionService, AssetServi

启航 573

tapestry中的热加载

在开发程序的时候热加载是非常有帮助的,这能大大简化我们开发调试的速度。在使用tapestry开发的时候,只要是启动了调试模式,那么代码的热替换是自动被JVM支持的,也就是只要我们的tapestry运行在调试模式下,就可以实现java代码的即时修改即时生效。但是tapestry的页面文件(.page和.html模板)默认是无法实现热加载的,每次修改页面都必须重启服务器,大大降低...

weixin_34174132的博客 186
上一篇: PO/POJO/BO/DTO/VO的区别(转)
下一篇: sed命令使用详解(转)
flyingjava
博客等级 码龄20年 9粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值