Tapestry开发者指南(2)
来源:百度文库 编辑:神马文学网 时间:2024/04/29 10:28:02
第一章 介绍
1.2 互动
我们继续讨论JSP 的部份, 该部分允许从购物车中删除项目。简单起见, 我们假设,类LineItem 有一个名为item的对象, 并且有一个servlet 来操作购物车状况的变动。
<%= item.getProductName() %>
<%= item.getQuantity() %>
<% String URL = response.encodeURL("/servlet/update-cart?action=remove" +
"&item=" + item.getId());
%>
Remove
这清楚地表明, 在JSP 应用中, 设计师在一个非常低的层面上, 负责将页面、servlets 和其它元素"编织到一起"。相反, Tapesrty自动地照顾几乎所有这些问题:
Sample Product
10
Remove
由于Tapestry 使用组件对象模型,框架确切地知道remove组件"在页面什么的地方"。它使用这个信息创建适当的URL来参考remove组件。如果用户点击了这个链接,框架将通知组件进行所需的行动。这样remove组件可以从购物车中去除项目。
实际上, 在Tapestry之下, 用户代码不必编码或解码URL 。这从网络应用中消除整个类的错误 (那些URLs 可能比您认为的更加困难进行汇集和解析!)
Tapestry不仅仅为您对一个servlet创建URL; servlets 的整体概念退出了网络应用。Tapesrty创建URL来调用组件中的一个方法。
Tapestry应用象“超级servlet”,只有这一个servlet 需要配置和部署。相反, 甚至使用Sun的模型2 (servlets 提供控制逻辑, JSPs 提交结果), 来开发的一种简单的JSP应用,都可以容易地产生许多servlet.
1.3 安全
使用Tapestry开发应用可提供一些适当的安全好处。
Tapestry应用建立在Java Servlet API之上, 因此继承所有servlet的安全好处。多数针对CGI程序(譬如那些用Perl 或其它脚本语言写的程序)的安全冲突依靠于松散的代码, 这些代码在系统shell中评估URL 的部份;而在使用Java Servlet API时, 这从来不会发生 。
因为Tapestry 创建的处理客户互动的URLs比传统方式的URLs 具有更强的构造, 几乎没有弱点可利用。不适当地格式化的URLs 导致对用户提交异常回应。
Java Servlet API 的困难是在客户标识, 因为会话标识符被存放于客户, 或作为HTTP Cookie,或被编码到每个URL中。恶意软件能获取这样标识符, 并且"借用" 用户的身分,好象该用户最近刚登录应用。总之, 这是servlet 应用的一个共同的局限。
终于, Tapestry应用具有唯一控制流: 所有进来的请求流要经过特殊类的几个指定方法。这使它更加容易对应用增加其他的安全措施。
1.2 互动
我们继续讨论JSP 的部份, 该部分允许从购物车中删除项目。简单起见, 我们假设,类LineItem 有一个名为item的对象, 并且有一个servlet 来操作购物车状况的变动。
"&item=" + item.getId());
%>
Remove
这清楚地表明, 在JSP 应用中, 设计师在一个非常低的层面上, 负责将页面、servlets 和其它元素"编织到一起"。相反, Tapesrty自动地照顾几乎所有这些问题:
由于Tapestry 使用组件对象模型,框架确切地知道remove组件"在页面什么的地方"。它使用这个信息创建适当的URL来参考remove组件。如果用户点击了这个链接,框架将通知组件进行所需的行动。这样remove组件可以从购物车中去除项目。
实际上, 在Tapestry之下, 用户代码不必编码或解码URL 。这从网络应用中消除整个类的错误 (那些URLs 可能比您认为的更加困难进行汇集和解析!)
Tapestry不仅仅为您对一个servlet创建URL; servlets 的整体概念退出了网络应用。Tapesrty创建URL来调用组件中的一个方法。
Tapestry应用象“超级servlet”,只有这一个servlet 需要配置和部署。相反, 甚至使用Sun的模型2 (servlets 提供控制逻辑, JSPs 提交结果), 来开发的一种简单的JSP应用,都可以容易地产生许多servlet.
1.3 安全
使用Tapestry开发应用可提供一些适当的安全好处。
Tapestry应用建立在Java Servlet API之上, 因此继承所有servlet的安全好处。多数针对CGI程序(譬如那些用Perl 或其它脚本语言写的程序)的安全冲突依靠于松散的代码, 这些代码在系统shell中评估URL 的部份;而在使用Java Servlet API时, 这从来不会发生 。
因为Tapestry 创建的处理客户互动的URLs比传统方式的URLs 具有更强的构造, 几乎没有弱点可利用。不适当地格式化的URLs 导致对用户提交异常回应。
Java Servlet API 的困难是在客户标识, 因为会话标识符被存放于客户, 或作为HTTP Cookie,或被编码到每个URL中。恶意软件能获取这样标识符, 并且"借用" 用户的身分,好象该用户最近刚登录应用。总之, 这是servlet 应用的一个共同的局限。
终于, Tapestry应用具有唯一控制流: 所有进来的请求流要经过特殊类的几个指定方法。这使它更加容易对应用增加其他的安全措施。
Tapestry开发者指南(2)
Tapestry开发者指南(1)
Tapestry开发者指南(3)
Tapestry开发者指南(4)
Tapestry开发者指南(5)
Tapestry开发者指南(6)
BlackBerry 应用程序开发者指南 第一卷:基础--第2章 编写BlackBerry Java应用程序
IP伪装之ipchains快速指南---web开发者手册
Eclipse快速上手指南之使用CVS-开发者网络
BlackBerry 应用程序开发者指南 第一卷:基础--第1章 BlackBerry API
Tapestry的实践心得
Tapestry内部工作原理
jr - 精品文章 - 什么是tapestry?
Tapestry开发Wap应用程序(原创)
Tapestry 建立自己得 Validator
组件框架技术tapestry及简单对比
JSF VS Tapestry 全面比较(一)
JSF VS Tapestry 全面比较(一)
Tapestry的函数的执行顺序
Tapestry的介绍 - bfh365的专栏 - CSDNBlog
[转载]Tapestry框架的扩展的研究
[转载] Tapestry页面提交执行顺序
IDC调查:开发者认为Android比iPhone更有前途(2) - 51CTO.COM
赛迪网--开发者--linux--技术开发