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的封装。

lammps案例:聚乙烯和石墨烯界面pull out模拟 大家好,我是小马老师。 本文介绍lammps模拟计算界面结合力的一个案例。 本案例参考论文《The interfacial mechanical properties of functionalized graphene- polymer nanocomposites》,对论文作者表示感谢。 模型共分2层,上层为聚乙烯模型,下次为单层石墨烯,模拟过程共分3部分:建模、弛豫、拉伸。 (1)建模 使用MS建立聚乙烯和石墨烯模型,具体方法可参考之前的推文,使用build layer方法建立聚乙烯和石墨烯组合模型, 阅读详情

相关推荐

EMC案例:解决千兆网口RTL8211F EMI问题

摘要:本文分析了Amlogic S812平台OEM项目中RTL8211F-CG千兆网卡EMI辐射超标问题。发现百兆测试时25MHz时钟有3dB余量,但千兆125MHz时钟导致超标。问题根源包括:未关闭PHY芯片悬空CLKOUT引脚、TX/RXCLK端RC位置错误、包地不完整及参考地缺失。解决方案涉及软件关闭无用时钟、优化RC布局、加强包地与打孔、调整共模电感位置,并在HDMI 3.3V加磁珠。关键结论指出千兆网125MHz时钟需严格包地打孔,且RC取值需平衡EMI与通信性能。

电子绿洲的博客 1278

Tapestry学习笔记(8)

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

javabeyond的专栏 209

【Lammps】MS将cif通过msi2lmp.exe转为data文件

在Materials Studio中打开cif文件,在Modules工具行选择Forcite>calculation>Energy中选用cvff力场,点击more,不要运行run,在more中取消勾选calculate automatically,点击calculate,然后叉掉后在file>export导出car文件,同步生成了mdf文件。对于MS中没有的立场,选择之后点calculate会报错,右键选择label,然后根据Forcite选择原子,会发现有力场的有标号,没有力场的MS没有对选择标号。

zhangguoliang624的博客 3673

tapestry自定义基本IEngineService

tapestry自定义基本IEngineService                                          tapestry的SeviceLink组件能调用9种基本的service(ActionService, AssetService, DirectService, EngineServiceInnerProxy, EngineServiceOuterP

xymyeah 1944

Alibaba Java Coding Guidelines,以后我的Java代码规范,就靠它了

前言 对于Java代码规范,业界有统一的标准,不少公司对此都有一定的要求。但是即便如此,庞大的Java使用者由于经验很水平的限制,未必有规范编码的意识,而且即便经验丰富的老Java 程序员也无法做到时刻将规范牢记于心。所以对于代码规范扫描工具,一经问世就广受青睐,阿里巴巴出品的Alibaba Java Coding Guidelines(阿里巴巴Java代码规约扫描,以下简称为AJCG)插件便是其...

java梦工厂 859

GD32F303串口DMA发送数据避坑指南:为什么你的发送函数会卡住?

本文深入解析GD32F303单片机串口DMA发送数据时常见的卡死问题,提供详细的避坑指南。从DMA传输完成中断时序、发送状态管理到双通道DMA的特别注意事项,全面剖析问题根源并给出解决方案,帮助开发者构建健壮的DMA发送机制。

weixin_27038245的博客 294

Tapestry内部工作原理

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

gongshijun2005的专栏 484

快速上手springboot+vue的前后端分离项目

使用webStorm新建项目后,把 .lock文件删除后项目运行才不报错,配置文件 vue.config.js 中加入 lintOnSave: false 关闭eslint语法检测。在多层嵌套的父子组件之间传递状态已经十分麻烦,而Vue更是没有为兄弟组件提供直接共享数据的办法。基于这个问题,许多框架提供了解决方案——使用全局的状态管理器,将所有分散的共享数据交由状态管理器保管,Vue也不例外。其中一种解决CORS 的方法, 在springboot项目中跨域的方法或类加上@CrossOrigin注解。

m0_61950264的博客 1905

Tapestry 4 (一) --- Tapestry框架概述

Tapestry带来了真正的Java web应用程序OOP编程,摘自《深入浅出Tapestry》中的一句话。这本书也是我学习Tapestry的参考之一,其他参考资料如《Tapestry in action》《enjoy web de v with tapestry》《Tapestry开发指南》等等也非常不错。在此,把在学习Tapestry过程当中当中的一些经验和大家分享。Tapestry与其他诸如...

prowl's studio 1374

深入解析以太网接口中的BOB Smith电路设计

本文深入解析以太网接口中的BOB Smith电路设计,详细介绍了其在共模噪声抑制、浪涌防护和EMI优化中的关键作用。通过实际案例和设计要点,帮助工程师正确选择75Ω电阻和高压电容等元件,优化PCB布局,解决电压型与电流型PHY的设计差异,以及千兆与百兆以太网的特殊考量。

weixin_28339967的博客 687

大模型安全研究论文整理 2026年版

知乎博主小红书博主GitHub数据集参考: 大模型越狱指令 (harmful questions) 数据集整理会思考的大模型更不听话,我的豆包失控了…让QwQ思考模型-不思考的小技巧qwen3的致命幻觉!大模型微调所有大模型都在讨好人类不要思考过程,推理模型能力能够更强丨UC伯克利等最新研究o3/o4-mini幻觉暴增2-3倍!OpenAI官方承认暂无法解释原因UC伯克利:让推理模型少思考,准确率反而更高了!一句话让DeepSeek思考停不下来,北大团队:这是针对AI的DDoS攻击慢思考准确率反降30%!普

CSPhD-winston的博客 2019

Tapestry IoC Service

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

weixin_30877227的博客 92

零基础速成simulink代码生成——stateflow基础3

此专栏面向嵌入式工程没有matlab开发经验的人,可以快速学习和实践这门技术。MDB技术,越来越成熟和普遍,从手写代码转到基于模型开发已经是大势,不仅减少开发周期,还增加代码的复用性。汽车领域、医疗和算法建模广泛使用。

不断debug,优化中…… 1711

Tapestry的service(转)

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

轨迹 146

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

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

1338

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

(C15)Tapestry IoC:Service Builders Shadow Services

本文翻译出处 http://tapestry.apache.org/tapestry5/tapestry-ioc/shadow.html 本人翻译目的是用来学习Tapestry5的,共享出来希望大家批评指正。计划持续翻译。 chinajavawolf   影子服务   PropertyShadowBuilder服务被用来构建一种特定的委派的服务实现。   有效的,它被用来允许另一个服务...

技术的本质是生活 164

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

(C14)Tapestry IoC:Service Builders Building Pipelines

本文翻译出处 http://tapestry.apache.org/tapestry5/tapestry-ioc/pipeline.html 本人翻译目的是用来学习Tapestry5的,共享出来希望大家批评指正。计划持续翻译。 chinajavawolf   构建管道   在Tapestry内的一个共通的模式是过滤管道。在这个模式下,一个存在的服务是一个使用过滤的装饰器。这个过滤器将委派给...

技术的本质是生活 285

(C13)Tapestry IoC:Service Builders Strategy Pattern

本文翻译出处 http://tapestry.apache.org/tapestry5/tapestry-ioc/strategy.html 本人翻译目的是用来学习Tapestry5的,共享出来希望大家批评指正。计划持续翻译。 chinajavawolf   策略模式 另一个四人帮(Gang Of Four)模式,策略模式作为Tapestry IoC内的实现是一种后期约束。 这个概念是适...

技术的本质是生活 157

(C12)Tapestry IoC:Service Builders Chain of Command

本文翻译出处 http://tapestry.apache.org/tapestry5/tapestry-ioc/command.html 本人翻译目的是用来学习Tapestry5的,共享出来希望大家批评指正。计划持续翻译。 chinajavawolf   命令链   命令模式是四人帮设计模式(Gang Of Four Design Patterns)中非常有用的设计模式之一。   使...

技术的本质是生活 201

tapestry中的热加载

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

weixin_34174132的博客 186

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学习笔记(10

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

fangyong2006的专栏 144

tapestry5 错误提示信息没有了

本来tapesty5有很精确的错误提示,但是我的怎么就没有了呢?后来在网上找到这样一句话:tapestry5有个production-mode,默认的为true,可以在作为产品发布时,提供精简的错误信息,在开发时,异常信息当然是越精确越好,而且精确的异常信息也是tapestry的强项,可以很准确的告诉您错误出在哪里,所以在开发时这个选项要关掉,选中运行配置中的arguments标签

virus026的专栏 847

activiti mysql55_tapestry activiti开发笔记

开发环境的准备:eclipse: kaplertapestry-activiti-0.0.1tapestry-core: 5.4-beta-6database:mysql5.5.29activiti : 5.15.1org.activitiactiviti-engine5.15.1org.codehaus.groovygroovy-all2.2.1注解:因为tapestry-ioc-5.4和tap...

weixin_42692935的博客 187

Tapestry/IBatis/Spring/Business PseudoCode

  今天是2010-9-29,历时45天,终于完成了Tapestry/iBatis/Spring的java web代码生成器编写,以及采用伪代码生成service的工作(由于前期偷懒,尚缺少for...next语句的解析)。至此,生成器的输入是:Table定义、SP定义、business层的PseudoCode定义,输出的是:sqlMapper(*.xml)、MapperInterface(*.java)、Dao及DaoImpl(*.java)、POJO(*.java)、Table及SP的DDL(*.sql

marsian的专栏 472

Groovy+Tapestry5+Spring2.5+Hibernate3.2实现CRUD

最近在研究Tapestry5,觉得不错,所以就尝试与Spring和Hibernate整合,并使用Groovy编写,实现简单的CRUD操作。 此整合的特点: 1. 因为使用了Groovy,所以并没有为Service和DAO层建立接口,一切都靠方法签名的约定 2. 尽量使用annotation,Spring中的依赖注入使用了JSR-250的@Resource,按照bean名字注入 3. 配置很...

JohnnyJian 226
上一篇: 生命周期
下一篇: Tapestry的函数的执行顺序 [转]
flyingjava
博客等级 码龄20年 9粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值