下载
第3 1 章 活动We b 文档的J a v a技术
31.1 概述
第2 9 、3 0 章介绍了W W W技术,并讲述了服务器和浏览器之间的交互。其中,第 2 9 章介绍
了超媒体及用来创建文档内容的 H T M L语言。第3 0 章进一步定义和比较了 We b文档的三种基本
形式,并详细探讨了动态We b文档技术。使用这种技术,服务器每接到一个 U R L 请求就调用相
应的应用程序创建一个动态文档。第 3 0章还解释了状态信息的概念,以及动态文档怎样对状态
信息作短期和长期的存储。最后,该章介绍了生成动态文档的 C G I 技术。
本章将讲述We b文档的第三种形式即活动文档,介绍引入活动文档的动机、活动文档的基
本概念,并比较活动文档技术与早期基于服务器的技术对于连续更新的处理。另外,本章还将
描述准备和装载活动文档的转换步骤以及如何扩展浏览器使其支持活动文档。最后,本章将介
绍创建和运行活动文档的J a v a技术,刻画J a v a 语言的特点,剖析Java applet的实例。
31.2 屏幕连续更新早期形式
随着H T T P 和We b浏览器的发展,动态文档已经明显不能满足发展的需要。特别是动态文
档一旦建立,其所包含的信息内容也就固定下来,因而当信息改变时无法及时更新屏幕显示,
而且无法提供动画的显示效果。
现有两种技术可用于屏幕显示的连续更新。一种技术是把所有的工作都交给服务器,称为
server push,这种技术要求服务器定期产生并发送文档的新版本。实质上就是服务器必须不断
地运行与动态文档相关联的应用程序,生成新文档输出到浏览器显示。对用户来说,这样就达
到了屏幕连续更新的效果。
尽管server push提供了连续更新的能力,但是这种方法有两大缺点:过多的服务器开销和延
迟。注意到服务器必须满足很多客户的请求,就很容易理解为什么开销会那么重要。只要有一
个用户浏览的页要求server push,服务器就得运行与该页相对应的动态应用程序。如果很多客户
使用的文档同时要求server push,服务器就必须并发运行多个应用程序。而且,由于动态文档的
内容依赖于不同的客户请求,服务器必须为每一个请求运行一个单独的动态应用程序副本。
延迟是由可用C P U和网络带宽的限制产生的。一个分时系统并发运行N个应用程序,每个应
用程序最多只能得到1 / N的C P U资源。因此,随着请求数的增加,分配给每个 server push应用程
序的CPU时间迅速下降。如果许多用户同时浏览,服务器就会过载,同时屏幕显示更新被延迟。
有限的网络带宽同样会造成延迟。 server push技术要求每个浏览器客户维持一个活动的
T C P连接,服务器通过此连接不断地发送更新文档。但是,大多数服务器只有一个因特网连接,
所有信息都通过此连接传输。如果许多应用程序都想传输数据,网络就会成为瓶颈。为了给每
一个应用程序提供平等的机会,操作系统要求它们轮流发送数据包。因此,每个应用程序都需
等待以进入网络,这便产生了延迟。概括如下:
server push是一种可以提供页面连续更新的方法。该方法的特点是由服务器不断
地产生和发送文档的新版本到浏览器。采用该方法,如果很多客户使用的文档同时要