Document

第八章:网络应用制作技术
本章介绍网络各种应用中所涉及的
基本概念和制作技术,包括HTML、网
页的制作、Java、Java Script语言的初步
基础,VRML语言的基本功能,以及网
络环境下分布式数据库系统和客户服务
体系的构造方法及技术。
8.1 HTML语言简介
8.1.1 HTML简介

HTML(HyperText Markup Language,超文
本链接标记语言)是一种计算机程序语言,专
门设计用来编写Web网页。
1991年,CERN开发WWW时,由IETF
(Internet Engineering Task Force)所属的
HTML─MG工作小组负责制定HTML的标准,
当时CERN所使用的HTML1.0版,所提供的指
令只能标出一般普通文件格式,例如标题、段
落、字体大小、表格和图形。

1994年初,Dan Conneely也提出了另一份
HTML建议书,就是后来的HTML 2.0版。它能
够描述一些非常重要的结构,例如Form表格文
件。此时的HTML可以提供给浏览者与服务器
主机一个双向沟通的界面,称为CGI。通过此
界面程序,浏览者可以在网页上直接输人资料
和选择键,使得浏览者与WWW的服务器主机
之间能够立即在网上互相回应。

在1994年10月,由MITLCS(Massachusetts
Institute of Technology’s Laboratory for Computer
Science,美国麻省理工学院计算机科学实验室)
成立了W3C(World Wide Web Consortium,全
球信息网协会)。到了1995年4月,INRIA
(France’s National Institute for Research in
Computer Science and Control,法国国家计算机
科学与控制研究中心)与此协会建立合作关系,
成为W3C在欧洲的分会。由于网络是全球性的
且无国籍之分,所以W3C迅速地扩展至亚洲地
区。1996年8月,日本的Keio大学成为W3C第
三个分会。

W3C的主要任务是领导WWW的发展,时时注
意网络的现状与社会发展。国际互联网是全球
性的科技,不分国家与地区,所以必须有统一
的网络沟通语言。此外,W3C也同IETF一样必
须研究发展网络科技及网络沟通语言,还要审
核测试各界对HTML所提的建议书以更新
HTML版本、功能、内容。截止1997年12月,
包括商业性会员和学术性会员,W3C已有超过
220个全球会员,其中包含软硬件计算机制造
商、电信服务商、私人公司以及政府和科研单
位。

到了1997年下半年,W3C又公开了HTML 4. 0
的草稿,供社会各界人士测试。于1997年12月
8日,W3C正式通过了HTML4.0版。HTML4.0
不同于HTML3.2或早先的HTML+之处在于
HTML 4. 0支持更多的多媒体项目,也让 Table
(图表)和 Forms(表格)的运用更加灵活,
同时也更趋于国际化管理。


1997年3月W3C首次公开XML(Extensible
Markup Language,另一种扩展性的标记语言)
的草稿,供全球各界讨论。同年6月及12月初,
W3C更新XML草稿并将之发表在Internet网上。
XML设计目标主要有下列几点:
 (1)直接应用在Internet网上;
 (2)广泛支持各种多媒体应用程序;
 (3)程序语法必须更简单易懂;
 (4)XML的文件必须人性化、合理、清楚
明白;
 (5)WL必须容易设计、不复杂;

(6)XML的设计必须简明、正式。
在HTML里,图形、声音必须用其他软件制作,再用
HTML的标记编排在网页的原始文件里,然后浏览器才能
编译解读这些原始文件,并在屏幕上展示其效果。XML
事实上和Java语言一样,把文字和图形、声音同时用程序
语言来描述,但XML不同于Java的是,XML更简明易懂,
没有深奥的程序语法,而且不必再转换编译程序格式,
而直接可以在浏览器上观看结果,所以。

XML和HTML不同之处在于:
 (l)XML可以由网站设计者自行定义标记用
法;
 (2)网页文件的组织结构可以任意弹性变化;
 (3)任何XML文件都可以自由选择任一种应
用程序来表现其网页结构与确认性。
8.1.2 HTML基本框架
HTML文件主要包括两个方面:
 1. 文件的内容;
 2. 对文件的格式、特性进行描述的HTML标记。
HTML文件是用ASCII代码写成的,可以保存为最
简单的TXT文本文件,这样用任何一个文字处理
软件都可以编写,这也是它能够迅速普及,并十
分受欢迎的一个原因。当然,使用一些专门软件
编写的效率会更高,效果也会更好。
一、用HTML编写的一个例子
 二、HTML的书写格式
大多数HTML的书写格式如下:
<标记名>文件内容</标记名>
但也有单独使用的,如:<BR>
 三、几个基本标记的解释









1. <HTML>……</HTML>
2. <HEAD>……</ HEAD>
3. <TITLE>……</ TITLE>
4. <BODY>……</BODY>
5. <Hn>……</Hn>
6. <PRE>……</PRE>
7. <P>……</P>
8. <BR>
8.1.3 网页生成信息

在HTML中有一个很特别的标记——
<META>,当阅读一些他人制作的网页
或使用一些制作网页的工具来自动生成
网页时,可能网页中会带有该标记。
<META>所带的信息并不在浏览网页中
显示出来,它所附带的信息是提供给发
送该网页的服务器系统或接收该网页的
浏览器软件所用的。

一、指示浏览器所用的字符集
<meta http-equiv=“content-Type” content=“text/html;charset=gb_2312-80>

二、指定网页的说明和关键字清单
由于<META>标记是Web服务器和浏览器的说明性标记,
而不是为浏览网页的人提供的,故可以用两个标记为访问
站点的Web搜索工具提供说明和关键字。
< METANAME=“description” CONTENT=“This Is a description of the page>
<META NAM E=“keywords” CONTENT=“keywords1,keywods2,keywords3”>

三、确定网页评估
对不同的站点进行评估,设立不同的等级(用不同的
数字表示),然后在网页的<META>标记中放上一定的参
数,通过这样的参数来判别该网页适合什么样的人浏览。
8.1.4 DHTML简介


DHTML(Dynamic HyperText Markup Language,
动态超文本标记语言)是Microsoft和原
Netscape公司的共同开发并经W3C(World
Wide Web Consortium)认可的动态网页程序语
言。
DHTML在继续保持以往HTML程序跨平台的
特性之外,更加强了许多格式化以及动态效果
的指令,最主要是能够减少网页的下载时间和
增强网页与用户之间的互动效果。




动态HTML是操纵HTML文档中HTML标记和
元素行为的一个应用程序接口,文档中的元素
会按程序的安排做任何事情。
使用动态HTML时,文档中的任何东西都被认
为是对象,每一个元素实际上是主文档对象或
超级文档对象的一个子对象。使用众多的方法
可以访问并操纵这些对象。
动态HTML包括四个组件:内容、结构、风格
和交互作用。
动态DHTML的文档内容的展示方式是动态的,
这是它与基本HTML内容的最主要的区别。



CSS(Cascading Style Sheet,多重网页样式)
Object Model允许创建一个动态改变文档外观
的风格单规则,动态HTML接纳该规则,并推
出一个动态改变HTML文档外观的机制。
动态HTML将交互作用推广到HTML的每一个
元素。
对于 HTML 3.0来说,新的动态 HTML程序除
了继续保持以往 HTML 3.0以前的格式外,主
要增加了两大功能:
 1. 动态对象的效果:
 2. CSS:


1. 动态对象的效果:
 让网页内包含的对象能够具有动态的特殊效
果,这些对象包括文字。图形、网页大纲等
等。例如:当用户下载一个具有动态HTML
对象的网页时,他可以看到网页标题题文字
从窗口的右方缓缓移入,或是一个图片在窗
口内转了几圈后才停留在某一角落,而这些
特效在以往都必须利用Java程序或是ActiveX
控件才能完成。
2. CSS:
 CSS是W3C新公开的HTML格式之一,最主
要的目的是让网页作者能够更有效地定义所
设计的网页样式,使网页作者可以一次制定
多份网页文件的版面配置。
8.2 Web页面设计
8.2.1网页设计的原则
制作网页的目的是要让尽可能多的人来浏览,但
很多因素是网页制作人无法控制的,这包括浏
览者的行为、浏览内容的显示、链入Web的链
接等。网页制作者不能控制浏览者的访问和访
问信息的方式,他们可能从Web的”首页”进
人,也可能利用URL从任何点链人。而最理想
的情况是能够引导浏览者从首页进人,由你作
为浏览的向导,沿着你设计好的路线行进。


网页浏览者在进行浏览时所使用的浏览器可能
是多种多样的,由于新的浏览器的大量涌现,
必然会提供更多和不同的功能,而且所使用的
网页制作标准可能不完全一样,这样就使得网
页浏览者浏览时显示的效果大不一样。这样制
作网页时要充分考虑到这种情况,最好在制作
完成后能够使用不同的浏览器及不同的版本进
行测试,以求能够达到尽量好的显示效果。
网页制作完成,可能会链接到网络上其他网页
制作者所不能控制的资源上,而这些资源经常
由于这种或那种原因的变动而出现问题,从而
导致链接不再有效,浏览者得不到原来他们想
得到的效果,因此将降低用户浏览其网页的价
值,影响其声誉。

在网页设计过程中应记住以下的原则和目标:
 1. 符合用户的需求。网页不是为了满足设计
人员的个人喜好(除非是纯粹的为了展示自
己的所谓”个人主页”),也不是为了实现
者的方便或规划人员的一时念头而做的,网
页的设计是为读者服务的,满足用户的需求
是最优先的考虑。
 2. 有效地使用资源。在设计和实现一个网页
时,选择那些以空间、访问时间、图表和长
期维护最小代价来达到的用户需求的功能。
也就是说,网页功能的目标是高效地操作,
方便的使用,轻松的维护。
3. 生成一个一致的、令人愉快的、有效的网
页外观和感观。网页设计的目标应该是给用
户一个有关它的页面的印象,这些网页反映
了一种共同结构和一致的视觉线索。网页的
每一个页面应该给用户有关网页本身和页面
竭力的暗示。网页整体的外表应该帮助用户
通过界面达到他或她的目标,这个界面在对
符合美学的外观以及简单性与完整性的追求
中求得平衡。
 4. 在制作网页之前,应该明确制作的目的、
需完成的任务,以及要达到的要求。应尽可
能地收集素材,并将这些内容做成书面材料,
以免制作时遗漏某些材料。

5. 网页设计要有自己的风格,通常应伴有一
定的标志。对网页的布局要事先考虑什么位
置安排什么内容,如何建立链接关系。要将
所有的设计内容绘制成流程图,以供制作时
参考。
 6. 网页的页面不必太花哨,上面的图片不宜
太多,每一幅图的尺寸也不应太大,以免使
浏览网页时花费太多的时间。网页的制作要
考虑浏览时的不同情况,如显示时的颜色、
显示的分辨率、HTML标准、浏览器种类及
版本等。尽量的使其通用,或者最好有一些
提示信息,以免影响浏览效果。

8.2.2网页设计的方法

一、可以利用HTML语言所定义的标记及其属
性来直接编写网页。打开任何一种文字处理软
件,在其中写人HTML的各种标记及它的属性
参数,然后以最简单的文本文件格式保存起来,
只是要用.htm或.html作为保存文件的扩展名。
这种方式的编辑软件随处都可以找到,它不依
赖于任何网页编写工具软件。在编写或修改网
页源代码文件时较简单,特别是有些网页的内
容或格式在用特定的网页编写软件工具不支持
时,这种方式就显示出其方便了

二、也可以采用另一种方法来制作网页,就是
利用特制的网页制作工具软件。这样制作网页
的效率会很高,而且几乎不必学习HTML语言
的多少知识就可以很容易地制作出网页来,这
种方法广受制作人员欢迎。这样的工具软件非
常多。但是,每一种网页制作工具软件都有它
的局限性,如支持的标准不一样,这样制作的
网页在用浏览器显示时效果会不一样。比如,
当要在网页中加人一些特殊的功能时,可能它
就不支持。


利用工具软件来制作网页是一种趋势,但它又
有一些局限,在实际制作过程中,常常将两种
方法合起来应用。
 首先,用某种工具制作出能够满足设计的大
部分基本要求的网页。
 然后,再结合其网页源代码文件进行细微处
的加工修饰。
学会制作网页并不困难,但要编写出好的网页
并不容易,它不仅需要计算机的知识,还需要
其他方面的知识,比如美术方面的知识,而更
重要的是好的创意,这样制作出来的网页才会
吸引浏览者,也才会受到大家的欢迎。
网页的制作,以其说是一种技术,不如
说是一种艺术,或者是两者的结合。
 制作网页时可以借鉴别人的作品。
 一方面是学习。
 别一方面可在其基础上进行一些修改,
这样可以节省时间,提高效率。
 但需注意,要尊重别人的劳动,当使用
了别人的网页,特别是用于商业目的时,
要注意版权问题。

8.2.3利用标记直接制作网页
一、对网页进行修饰
如果将一张张网页理解成是一张张的报纸版面或
一页页书籍的封面,那就需要对它们进行一定的美工
装潢设计,使它们美观、漂亮,更吸引人。至少应该
进行一些简单的修饰,使之效果更好。
1、 定义字符风格
在网页文本的显示中,常常会需要一些特殊的字
型或字体来进行一些修饰,使之产生一定的强调和突
出效果,就像在文字处理软件中对待各种特殊文字一
样。如使某些文字加黑、变斜、加下划线等,以使网
页更加美观、漂亮。HTML文档中也有实现类似功能
的标记,它们分为两类:物理修饰类型(有形类)和
逻辑修饰类型(含义类)。


物理修饰类型的标记直接指定了文本显示的具
体形式,如使一个词显示为粗体(黑体)、斜
体或下划线等。逻辑修饰类型的标记只是说明
文本需要如何加以突出,如强调、引文或定义。
假设有一段文字需要强调,可以用强调标记定
义它,但它在浏览器上的显示形式是由各个浏
览器自己决定的,不同浏览器对某个逻辑类型
的标记可能有不同的显示效果,大多数的效果
是约定俗成的。
(l)物理修饰类型标记
 常用的物理修饰类型标记

(2)逻辑类型标记
 常用的逻辑修饰类型标记
这些标记也都有起始和结束标记符,放在起始和结
束符之间的文本将受其控制。
2. 改变字号
 利用<FONT>标记可以改变文本中文字的大小,
就如同在文字处理软件中做的那样。
 其书写格式为:
 <FONT SIZE=n>文本内容</FONT>
 SIZE属性用来设定字号大小,其取值的范围为
l-7,缺省值为3。希望改变字号大小的那段内
容应放在<FONT>与<FONT>标记之间。
3. 加人横线


<HR>标记可以在网页中生成一条横线,从而将不同内
容的信息分开,使文本看起来清晰、明确。<HR>不需
要结束标记,也无需辅助性文字解释。可以给<HR>标
记设置一定的属性,使它具有更强的功能。
<HR>标记的属性主要有三种:
 (1)SIZE属性
以像素值为单位,定义横线的粗细,其缺省值为
2,这也是横线可以选择的最小宽度。
 (2)WIDTH属性
指定横线的长短,它的取值可以采用像素值,也
可以用满宽度的百分比来设定。
其中采用百分比取值的好处是横线的长度可随窗
口的大小的变化而改变。WIDTH的缺省值为100%。
(3)ALIGN属性
如果横线的长短小于窗口宽度,则可以给
ALIGN属性赋值:
LEFT、CENTER、RIGHT,用来规定横线的左右位置。





ALIGN=LEFT
ALIGN=RIGHT
ALIGN=CENTER
ALIGN 缺省值
横线左对齐
横线右对齐
横线居中
横线左对齐
4. 加人注释


为了使网页编制者或其他人对HTML文件的内容或状
态进行描述,以便理解和今后修改方便,可以在
HTML文件中加人注释。其使用的标记为:
<!- 注释内容 ->
放在注释中的文本不出现在屏幕上,只是作为网页编
制者或其他人查阅文件时使用的”备忘录”,一旦忘
记或不明白其含义,可以利用该备忘录进行理解或回
忆,对人对己都有帮助。这是一个很好的编程手段,
应该养成这种良好的习惯。
5. 加人引文

标记<BLOCKQUOTE>可以被用来建立一个引文,它
特别适合于较长文本的引用,被引用的文本沿左边缩
进。在<BLOCKQUOTE>与</BLOCKQUOTE>之间可
以加人行中断或段落等标记,否则内容将在屏幕上连
续显示。
6. 加人著作权标志和注册商标符号

HTML中使用了两个标记来代表著作权(copyright)和
注册商标(registesed),这两个符号分别使用”&
copy;”和”&reg;”。
7. 在网页上署名

署名标记<ADDRESS>用于网页作者在网页上签名,或
留下地址,以便得到读的反馈信息。它通常写在网页的
结尾处,以说明这个网页是由谁或由哪个单位编写的,
以及其他有关的信息。它的显示效果是一段斜体字。
8. 文本居中



使文本在网页上居中有两个方法:一个是可以使用
<CENTER>标记,另一个可以使用HTML标记的
ALIGN=CENTER属性来实现。
当使用<CENTER>标记实现文本居中时,必须把要居中
的内容放置在<CENTER>与</CENTER>之间。
ALIGN属性在许多HTML标记中都能够使用,它可以有
三个取值:left,right,center。其中若对某段文本定义
ALIGN=center,即可实现文本居中的效果。类似的功能
在前面对横线的处理时已经见到。
9. 改变背景



HTML可以用任意一种颜色或一幅图画作为网页的背
景,这种功能是通过<BODY>标记的 BGCOLOR和
BACKGROUND属性实现的。
① 使用<BODY>标记中的BGCOLOR属性可以定义填
充背景的颜色,其格式如下:
<BODY BGCOLOR= #nnnnnn>
计算机内部将各种颜色都用数字表示,网页的背景色
也不例外。BGCOLOR的值为六位十六进制数,每两
位的取值均是00-FF,前两位设置红色的深浅,中间
两位设置绿色的深浅,最后两位设置蓝色的深浅,由
这六个数字组成了五颜六色的背景色。这六个数字如
果全是 0,是黑色;反之,若全是 F,就是白色。

② 用平铺图画作为背景

除了用单一颜色作为网页的背景外,还可以用平铺图
画的方法制作网页的背景。所谓平铺图画就是把一小
小的图画在屏幕上一个个顺序排列起来,构成一个屏
幕的完整背景。
图画平铺设置背景的方法要使用<BODY>标记中的
BACKGROUND属性来调用某个图象文件,将这个文
件作为BACKGROUND的取值参数,它既可以是一个
文件名,也可以是一个URL。如果图象文件在当前目
录下,可以直接使用一个图象文件名;如果图象文件
在其他的地方,则需要使用一个URL,由此调用一个
图象文件。其书写格式下:
<BODY BACKGROUND=“文件名或URL”>

二、超文本链接
 超链接是超文本的一个重要特征,指的是通过
标记符号的作用,把并不连续的两段文字或两
个文件联系起来。
 这两个文件可能在同一台机器的同一个文件夹
里,也可能在不同机器的不同文件夹中;机器
可能在同一地点,也可能远隔千山万水。而有
了超链接,通过鼠标一点就可以从网页上的某
处一下跳转到另一处,这一跳可能就从东半球
跳到了西半球。
1. 链接文件的标记


要建立一个链接,必须具备两个条件:
 (1)确认被链接的文件的名称或URL;
 (2)在文件中确定链接点,使用户可以在浏览窗
口中看到一个特殊形式表现的文字串(通常是带有
下划线或鼠标前头指向时其形状变成手掌形),以
便用户在该处选择这个链接。
HTML文件的链接是通过链接标记<A>……</A>来实
现的。在<A>标记中除标记名”A”外还包括其他扩展
信息,这些扩展信息称为属性。其中HREF(Hypertext
Reference,超文本引用)属性最常用到,该属性用来
指出所要链接点的位置,或链接点的文件名或URL;
其简单结构形式为:
<A HREF=“被链接点”>说明文本</A>
2. 同一文件的链接


当一个网页内容较长,常常在浏览器窗口放不下时,
而对于网页中的内容,浏览者可能并不是对所有的内
容都感兴趣,也并不想阅读所有的内容,可能只对其
中一部分感兴趣,这样就可以在文件中建立一些链接,
使浏览者很容易地跳到他所感兴趣的地方,阅读所感
兴趣的内容。这可以利用链接标记来办到:
 1) 在要跳转的地方加上要跳转的标记。
 2) 给被跳转到的特定位置起个名字,并加上相应的
跳转标记。
被跳转到的特定位置名字称为“anchor”(锚)或叫
“定位名称”,它通过<A>标记中的(NAME属性来
加以定义,NAME属性用来指出文件中被跳转到的链
接点的锚名,其结构的定义格式为:<A NAME=“锚
名”>
3. 不同文件的链接

在编制HTML网页时,常常需要把要链接的两部分内容
分别存放在两个HTML文件中,各自都有自己的文件名,
其中一个是主链接文件,另一个被链接文件。如果被链
接的文件是全部内容被链接,只要在主链接文件中的链
接处加上<A HREF=“被链接文件名”>……</A>的标记,
就可以实现两个文件之间的链接。
(1)本地链接

如果需要链接的文件都在本地机器的磁盘上,则这种链
接称为“本地链接”,它不必链接网络,在编制网页时,
只要本地的机器上有一个编辑器和浏览器就足够了

如果被链接的文件不是全部内容被链接,而是只链接
其中的一部分内容,这时应在被链接文件中设置锚名,
就如同一个文件中链接设置的锚名一样。如链接到文
件htmlfile.html的Part_A处(锚名就为Part_A),则书
写的格式为:
< A HREF=“htmlfile.html#part_A”>……< /A>

如果被链接的文件不在同一文件夹下,则在链接时必
须写清楚文件的路径,以免找不到。路径的写法有两
种:
 ①相对路径
以当前文件所在路径和文件夹为基准,然后进行相
对的文件查找。
②绝对路径
以绝对路径进行文件的查找。绝对路径中的盘符后
用“|”符号,而不用“:”,这一点与DOS环境下
的使用不一样。
注意:无论是相对路径,还是绝对路径,路径名的书
写必须遵循UNIX操作系统所规定的格式,而不能像
DOS中那样的书写。也就是说,路径名与文件夹名均
要用“/”作为分隔符分隔开来。如果是当前文件夹的
上一级文件夹,最前面还应加上“..”。
链接本机上的文件时,绝大多数情况下都使用相对路
径。而使用绝对路径定义链接时,看起来似乎简单,
实际上并不是最好的方法。当把文件做了移动或将文
件夹名更改之后,所有的链接都将失效,这时必须对
所有的 HTML



(2)网络链接
有时,我们需要从一个站点链接到另一个站点,这种
通过网络实现链接的方法与本地两个文件的链接方法
相同,仍然可以使用<A>标记和属性以及提示链接的
一些文字,只是在文件名处应写上文件在网络上的
URL,例如:
<A HREF=“http://www.light.edu.cn/”>中国光明大学</A>
 上面的URL中没有写出其文件名,它的缺省名为
index.html;如果文件名定义为其他名,就应该写在
URL中,否则将出错。

4. 图片链接


前面介绍的超链接都是使用文字字符串进行链接,其实利用图片
也可以建立链接,这只需在链接标记<A>和</A>中间再放上一个
<IMG>标记,这个标记后面所标识的图片就会成为一个可击点,
产生一个链接。
当运行这种HTML文件时,加人链接的图片会自动加上了一个边
框,以示和其他普通的图片的区别,当用鼠标点击这个图片后,
就会被链接到另一个文件上去。
三、在网页中加入图片

若在网页中加人一些五颜六色的图片,会使网页更加生动、活泼,
更吸引人。
1:图片文件的格式

图片的文件有许多种,如 BMP、PCX、 GIF、TIF、 JPG(JPEG)
等。而在浏览器中能够显示的为数不多,有一定的限制。目前使
用的浏览器中,通常都支持GIF和JPG,这两种都是压缩型的格式,
可减少下载时间。前者为无损压缩,可处理8位256种颜色;后者
为有损压缩,可处理24位真彩色。
2. 图片标记及示例


在网页中加人图片,是通过<IMG>标记来实现的,其
书写格式为:
<IMG SRC="图片文件名或URL">
在<IMG>标记中使用了一个很重要的属性SRC,
其作用是指出一个图片文件名或是指出URL,此
时的路径名书写规则与上节中介绍的超文本链接
时的书写规则相同。
如果在同一文件中需要反复使用一个相同的图片文件
时,最好在<IMG>标记中使用相对路径名,而不是使
用绝对路径名或URL。因为使用相对路径名,浏览器
只需将图片文件下载一次,再次使用这个图片时,只
要再重新显示一遍即可。而如果使用的是绝对路径名,
每次显示图片时,都要下载一次图片文件,这会大大
降低图片的显示速度。
3. 用文字代替图片显示



虽然在网页中加人图片后可以使网页变得绚丽多彩,
吸引力大增,但也会有副作用,那就是会使传输速度
大大的降低。尤其是网页中的图片较多,或者图片大
大,这种情况就会特别明显。
为了提高网页的下载速度,很多浏览者就会关掉浏览
器中下载图片的命令,这种情况下,浏览器不再下载
图片,网页中原来放置图片的地方将会空出来。
为了让只浏览文字的用户能够了解图片的内容,可以
利用<IMG>标记的ALT属性,加人图片的文字说明。
这样在浏览器不显示图片时,它可以将ALT引导的文
本显示在屏幕上,从而代替看不到的图片。
4. 动画



网页上非常吸引人的一项技术是动画,于是越来越多
的网页中出现了动画。动画最基本的原理就是用不同
的几幅图,让每一幅图在屏幕上停留一小段时间后消
失,紧接着另一幅画马上出现,然后在屏幕上停留一
小段时间后消失,紧接着另一幅画马上又出现……循
环往复,就成了“动画”。
真正在网页上实现动画,可利用很多现成的制作动画
的工具软件,如GIF Animator、GIF Construction等,
Internet上有很多共享或免费软件可供下载后使用。编
写者只需制作几幅原始图片,然后交由这些工具软件,
让它们自动来生成动画文件,如GIF89A格式的动画文
件。当用浏览器调用这种文件时,将会出现动画效果。
若在网页中插入动画,可在HTML代码中插人该动画
文件,如:<IMG SRC="动画文件名">,到时用浏览器
调用包含上述标记的HTML文件后,就会在浏览器中
出现动画情景。
四、在网页中加入表格

从HTML2.0版本标准开始就有了对表格(Table)的支持,
在HTML3.2版本中又进行了扩充。表格的使用使得
HTML的内容可以按行和列的方式进行组织,它把网页组
织得有条有理,井然有序。
1. 表格的组成

网页中的一张表格一般由以下部分组成:
 (l)标题(Caption):指出表格的含义。表格的该标
题可有可无。
 (2)标签(Table Headings Label):指出行、列存放
内容的说明。一般用黑体、大字号突出显示。
 (3)数据(Table Data):指出表格中的内容。
 (4)单元(Table Cell):指出表格中各个独立的区
域,其中每一个区域可以放置表格标题或表格数据。
2. 创建表格


<TABLE>标记是定义表格的总标记,HTML要求一个
表格的全部内容要包含在<TABLE>…</TABLE>之中,
其中可有标题及表格的诸内容。<TABLE>标记中最常
用的属性是BORDER属性。从 HTML3.2以后,该属性
的含义发生变化:它的值不再表示边框的有无,而是
以像素点为单位表示边框的宽度,这与HTML 2.0有
所不同。
表格是由行和列内的表格单元组成的。它的定义顺序
是首先定义表格的一行,然后定义此行的表格单元。
再定义第二行,依次定义第二行的表格单元;表格的
列是由每行包含的单元数目自动计算得到的。行标记
用<TR>…<TR>表示,表格标签用<TH>…<TH>表示,
数据单元用<TD>…</TD>。为确保表格中每列对齐,
应在每行中包含相同的单元。
8.2.4 网页制作工具及应用

一、Microsoft Word

二、FrontPage
8.3 Java语言初步
Java是由SUN公司开发而成的新一代编程
语言,它具有平台无关性、安全性、稳
固性和多线程等诸多特性,因而特别适
合于Internet应用的开发。
 Java语言已成为网络时代最重要的面向对
象程序设计语言。

8.3.1 Java语言的发展


Java的产生最早可以追溯到1991年,当时还没有出现
所谓的WWW。当初Sun公司成立这个开发小组的开
发目标,只是希望能将SUN公司从传统起家的工作站
市场,进一步扩展到消费性电子产品市场。开发小组
的方向是希望能够建立分布式的系统结构,同时将软
件上的各种新技术移植到消费性电子产品上。
随着全球信息网(WWW)的势头在Internet上愈来愈
猛,在积累了过去的开发经验,以及检查整个WWW
的结构以后,开发小组认为过去Java的主要目标——
与平台无关,系统的可靠性、安全性等,都非常适合
WWW世界。在经过Sun公司内部一系列评估之后,
在1995年5月23日,Sun公司正式发表了Java和Hot
java。
8.3.2 Java语言的功能



Web技术提供了一种以极低的价格在全球交换信
息的方法,Web信息是具有惟一地址的主页,你
只需将地址提供给浏览器即可找到相应的主页。
Web的缺憾是它只能以有限的方式连接到主页上,
Java不仅可增强 Web的功能,而且打破了这些限
制,Java程序嵌人 HTML主页后可以生成动态图
形和产生完全交互的主页。
Java所适应的程序设计环境,是一个充满各式各
样不同种类的机器和软件的平台,并且用网络连
接的复杂分散式环境,Java程序能够通过网络在
不同的地方不同的机器上运行。
8.3.3 Java语言的特点

概括的说,Java语言的特点包括:面向对象的
程序设计语言、操作平台无关性、安全性和多
线程。
 Java语言的第一个特点就是它是一套面向对
象的编程语言;它具有一套面向对象的编程
工具至少应具有的四个特点:封装性、多态
性、继承性和动态联编。
Java语言的第二个特点是操作平台无关性;
Java的策略是采取半编译、半解释的方式,
定义出Java自己的虚拟机(Virtual
Machine),以及这套虚拟机上所使用的机
器码——Java Byte code。
 Java语言的第三个特点是它的安全性;Java
作为网络环境上使用的编程语言,不能不考
虑程序在执行时的安全问题,如不能让病毒
等以Java Applet等方式通过WWW传播。
Java通过三级机制——Java语言本身的设计、
对Byte code的检查及程序执行系统(Java解
释器Runtime system)来防止其遭到恶意破
坏。


Java语言的第四个特点是多线程。一般可以在
同一时间内执行多个程序的操作,即所谓多进
程(process)的概念。简单的说,一个进程就
是一个执行中的程序,每一个进程都有自己独
立的一块内存空间、一组系统资源。线程和进
程类似,也是一个执行的程序,但是和进程不
同之处是:多个线程(multithread)是共享一
块内存空间和一组系统资源的。而线程本身的
数据通常只有微处理器的寄存器数据,以及一
个供程序执行时使用的堆栈,所以系统在产生
一个线程,或者在各个线程之间切换时,负担
要比进程小得多。
8.3.4 Java程序的分类


Java程序分为两类:Applet和Application。,即
Java小应用程序和应用程序。Java是一个优秀
的面向对象编程语言,它与C++有类似的语法
和一套实用的扩展类库。
Applet和Application的不同之处在于Applet只运
行于HTML主页中,此种能力使主页设计者在
设计时有更大的灵活性。可以说,Applet可以
运行于任何机器上。而Application只能运行于
它所编译的特定的机器上,并且不能在浏览器
中运行。
8.3.5 Java程序的墓本语法
一、标识符
 变量、函数、类和对象的名称都是标识
符,程序员需要标识和使用的东西都需
要标识符。在Java语言里,标识符以字符
或“_”,“$”开头,后面可以包含数
字,标识符是大小写有区别的,没有长
度限制。
二、关键词
三、数据类型
 Java使用四种基本类型:integer(整数),
floating(浮点数),Boolean(布尔变
量),Character or String(字符或字符
串)。
四、表达式
 Java语言的表达式和C语言非常类似
8.3.6 Java小应用程序示例
一、Java开发工具JDK


Java开发工具(JDK)是许多Java专家最初使用的
开发环境。尽管许多编程人员已经使用第三方的
开发工具,但JDK仍被当作Java开发的重要 工具。
JDK由一个标准类库和一组建立、测试及建立文档
的Java实用程序组成。其核心JavaAPI是一些预定
义的类库,开发人员需要用这些类来访问Java语言
的功能。JavaAPI包括一些重要的语言结构以及基
本图形,网络和文件I/O。一般来说,JavaAPI的非
I/O部分对于运行Java的所有平台是相同的,而I/O
部分则仅在通用Java环境中实现。

作为JDK实用程序,工具库中有七种主要程序。







Javac: Java编译器,将Java源代码转换成字节码。
Java: Java解释器,直接从类文件执行Java应用程
序字节代码。
appletviewer: 小应用程序浏览器,一种执行HTML
文件上的Java小应用程序的浏览器。
Javadoc:根据Java源码及说明语句生成HTML文档。
Jdb: Java调试器,可以逐行执行程序,设置断点
和检查变量。
Javah: 产生可以调用Java过程的C过程,或建立能
被Java程序调用的C过程的头文件。
Javap: Java反汇编器,显示编译类文件中的可访问
功能和数据,并显示字节代码含义。
二、用 JDK建立小应用程序

下面我们用一个例子来说明如何用JDK建立小应用程序,这个小应用程
序非常简单,只在运行时输出字串向你指定的人问候。

import java.awt.*;
import java.applet.Applet;
public class OutputHello extends Applet{ //定义类
String s; //数据成员
public void init(){
//成员函数
String temps;
temps=getParameter("name");
s="everyone";
if(temps!=null){
s=temps;
}
}
public void paint(Graphics g){
//成员函数
g.drawString("Hello " +s, size().width*4, size().height*4);
}
}
















这个小程序定义了一个类OutputHello,它从Applet父类中
派生得到。它包括有一个数据成员和两个成员函数。数据
成员s存放外部输人的参数即姓名。成员函数init()和paint()
都是重载了父类的成员函数,前者完成小程序初始化,主
要是读取参数值,后者主要是输出结果。将小程序存为
OutputHello.java,并使用Javac编译这个程序:
Javac OutputHello.java

如果程序被编译器接受,则不显示信息,并生成
OutputHello.class文件。如果有错误信息,则必须修改源代
码重新编译,直到通过为止。在运行小程序前,我们还必
须生成一个文件名为OutputHello.html的HTML文档来放置
它。HTML文档中有多种标识,与JavaApplet有关的标识为:
APPLET CODE=applet 文件名.class WIDTH=宽度 HEIGHT=高度
PARAM NAME=参数名 VALUE=值











其中CODE,WIDTH和HEIGHT是必须有的属性。
CODE属性是applet编译后类文件名,WIDTH和
HEIGHT分别为小程序运行时窗口的宽度和高度。
NAME为参数名,VALUE为参数值。一个小程序
可以有多个输人参数。这里只列出最常用的一些
标识,还有一些可选属性项未列出。
本程序对应的HTML文档如下:
<html>
<head>
</head>
<body>
<applet code=“OutputHello.class” WIDTH=200 HEIGHT=60>
<param name=name value=”World”>
</applet>
</body>
</html>


运行小应用程序可以使用appletviewer或任何一
种支持JavaApplet的浏览器如 NetScape、
Internet Explorer等。
如果用appletviewer则输人如下语句:
appletviewer OutputHello.html
8.4 VRML语言
VRML( Virtual Reality Modeling
Language)是一种模型语言,用来描述
一个目标对象是如何呈现在Web上的。
 VRML提供对三维世界及其内部基本对
象的描述(包括球体、平面、圆锥、圆
柱、立方体等),并把他们同二维的页
面链接起来。

8.4.1 VRML的定义和功能



VRML(Virtual Reality Modeling Language,虚拟现实造
型语言)是描述虚拟环境中场景的一种标准。它定义了
三维应用系统中常用的语言描述,如层次变换、光源、
视点、几何、动画、雾、材料特性和纹理映射等,并具
有简单的行为特征描述功能。
设计VRML的一个主要目标就是保证它成为多个虚拟现
实(VR)系统或其组成部分中有效的三维文件交换格式,
并且这些VR系统或其组成部分可分布在网络中的不同计
算机上。
VRML类似于HTML,它趋向于发展成为一种单一的多平
台用于发布三维WWW网页的语言。事实上,一些信息适
于用三维来表达,典型应用如游戏、工程、科学计算可
视化、教学实验、建筑等,这些都需要大量的交互、动
画及用户的参与和探索,是基于页、文字或图象格式的
语言(如HTML)所不能表达的。
8.4.2 VRML的特点






1. 可编辑性 可以开发应用程序来创建、编辑
和保存VRML文件,也可将其他常用的三维文
件格式转换为VRML格式的文件。
2. 可重用性 提供了使用、组合并允许重用动
态三维对象的能力。
3. 可扩展性 提供了增加新的对象类型的能力。
4. 多平台操作 VRML在众多不同平台的系统上
都可实现。
5. 性能 在不同的计算机平台上都能达到可扩
展和交互的性能。
6. 可伸缩性 允许任意大小的动态三维世界。


从概念上讲,每个VRML文件都是一个基于时
间的三维空间,它包含了可通过多种机制动态
修改的图形对象和听觉对象。VRML文件的一
个重要特性是能够通过包含关系把文件组织在
一起,并能够通过超链接把文件联系在一起。
利用层次性文件的包含关系可以创建任意大的
动态境界。
VRML的另一必要特性是它试图用在分布式环
境中,因而内建了支持多个分布式文件的多种
对象和机制,包括内联式(In-lining)嵌人其
他VRML文件、通过超链接指向其他文件、采
用业已制订的针对其他文件格式的Internet和
ISO标准等。


VRML的访问方式是基于客户/服务器模式,如图
8-8所示。其中服务器提供VRML文件及支持资
源(图象、视频、声音等),客户端通过网络下
载希望访问的文件,并通过本地平台上的VRML
浏览器交互式地访问该文件描述的虚拟境界。由
于浏览器是平台提供的,从而实现了平台无关性。
传统的VR中使用的实时3D着色引擎在VRML得
到了更好的体现。这一特性使VR建模与实时访
问更明确地隔离开,这也是VR不同于3D建模和
动画的一个特点。后者是预先着色,因而不能提
供交互性。VRML提供了6+1个自由度,即三个
方向的移动和旋转,以及和其他3D空间的超链接。


VRML,具有可伸缩性。
 首先,对VRML浏览器来说,从理论上讲,应能
处理由数亿个对象组成的分布在Internet上的境
界。
 其次,VRML在高、低档的机器上都应该工作得
很好,它应允许浏览器为了提高性能而降低图象
或仿真质量,而在硬件性能增强时质量可以变得
更好。
 第三,VRML境界可以相对于网络性能而伸缩,
从目前常见的56K调制解调器到高速连接。
可伸缩性对 VRML 2.0的整个设计影响很大,尽管
目前仍有很多未解决的问题,但 VRML2.0所定义
的基本框架在境界规模更大和机器、网络更快时应
继续保持伸缩能力。
VRML作为一种标准,不可能满足所有
应用的具体需要,如希望交互性更强,
希望画面质量更高,希望VR世界更复杂。
 这些要求往往是相互制约的,同时又都
受到用户平台硬件性能的制约,因而
VRML被定义为可扩充的,即可以根据
需要定义自己的对象及其属性,并通过
原型、描述语言等机制使浏览器能够解
释这种对象及其行为。




VRML是一个开发标准,为了加强协作,避免
技术重复和市场冲突,而鼓励其他技术引用
VRML或成为VRML的一部分。与VRML关系
密切的三项技术是Java3D、MPEG-4和
Chrome。
其中,Java3D和VRML都把3D Web作为关键应
用对象,前者的优势在于程序设计,后者的优
势在于场景构造,二者在可编程性3D Web应用
方面密切合作。
MPEG-4是面向基于内容的交互式视讯应用,
可以为VRML提供流技术、压缩和音响同步技
术,而MPEG-4用VRML来描述3D内容。在
2D页面集成方面,可以探索VRML和Microsoft
的Chrome协作的可能性。
8.4.3 VRML的结构规范和实现方法
一、VRML 2. 0规范介绍
(1)坐标系统( Coordinate System)

使用三维右手坐标系,缺省情况下目标被投影到一个
二维的显示设备上时,以Z轴的正方向投影,X轴正向
向右,Y轴方向向上。视点的变换以及模型的几何变换
可以改变这种缺省的投影方式。标准的描述长度的单
位是米,而描述角的单位是弧度。
(2)场景图形(Scene Graph)

三维场景主要通过场景图形结构来描述的。场景图形
结构主要通过一种层次结构来体现相互关系。这有点
类似于在Microsoft Direct 3D中的以FRAME为单位的层
次结构。不过在这里是以节点(NODE)为基本单位。
(3)节点(node)

VRML是描述目标的一种文本格式,理论上这里的对
象(OBJECTS)可以包含任何事物,如三维几何图形、
声音、图象、动画、视频、事件、动作等等。但在
VRML1.0中节点主要描述图形对象。其余的类型在
VRML 2.0中有一定的支持。VRML一个对象使用一个
节点。每个节点包括一个类型名称,一组属性和一组
字段。
(4)字段(Fields)

字段是用来描述节点的最基本元素。字段可以包含一
个值或多个值,单值的字段类型以SF(Single Field)
开头而多值的字段类型以MF(Multiple Field)开头。
VRML定义了很丰富的字段类型等。
(5)节点类型(Node type)

VRML定义了很多种类型的节点,一般说来节点可以
分成三大类:形体类、特征类及组类和其他节点。
 形体节点:定义目标的几何形状,如圆锥体、立方
体、柱体、面、线、点集、球体等等。
 特征节点:定义了目标的显示特征如颜色。纹理、
表面材质等;
 组节点:定义了由一个或多个子节点的集合,组节
点可以使同组的几个节点象一个节点一样进行变换。
比如说一起移动和旋转。
 其余的节点:对文本的支持,能连接到指定的
WWW点的连结节点(通过指定URL)等。
(6)颜色、纹理、材质及灯光


通过红、绿、蓝三色的比例调配控制物体的颜色和材质。
视频纹理节点(MovieTexture节点)可以将MPEG-4视
频映射到任意对象上。
(7)新的信息节点


导航信息节点(NAVIGATION INFO)描述了航行风格,
如走着看,快速飞着看,还是查看(仅变换视点、视角,
位置不变)。
世界信息节点(WORLD INFO)允许你指定文件标题和
其他浏览文件的信息,如关于作者和版权的事。
(8)场景效果(Scene effect)

新的节点能让你给场景创建地面和天空的背景,添加
远方的山和天上的云以及远处朦胧被雾笼罩的物体
(用模糊效果fog)。
(9)三维声音(3D Sound)

主要通过SOUND和AUDIOCLIP等节点支持声音,进
一步增强了逼真性——可以在一个场景中放人水流声、
打破玻璃的声音(比如在打破玻璃事件发生时调用)
或其他任何声音。VRML世界里的声音是三维声音,
即声音效果是和音源和观察者的距离、方向有关的。
或者说,是与地点相关的声音。
(10)动画(Animation)

这是通过内插件(interpolators)节点实现VRML2.0包括
创建各种各样的动画对象,称它们为内插件,这样就能
够为虚拟世界中的物体创建预先定义好的动画并在某个
适当的时刻播放。
(11)场景动态、交互特性(事件、传感器、路由
及响应动作)

VRML2.0中全部名字信号包括:运动和动态。用虚拟开
关将灯光打开,当走近汽车时车声逐渐变大,而你向驶
来的汽车招手时汽车会停下来把你载上。
 所有这些都可以如下实现:VRML定义了各种传感器
(sensor mode),可以感知到浏览器上鼠标的移动、
转动、点击及时间等各种事件(event)(节点具有事
件域node event fields,能接受事件)。



a. 事件(Event)
 每个节点可以有一些字段能接受外部的事件输人
(从而可动态改变自己的状态)。同时又有一些字
段可被外部的节点或脚本程序所读取。节点之间相
互作用机制是通过路由(Routing)机制来实现的。
b. 传感器(Sensor)
 一些物体可连有传感器。当交互设备如鼠标在该物
体上作用时,传感器被激发,引发特定的事件。从
而最终引起脚本程序的运行或一些节点状态的改变。
c. 脚本(Script)
 脚本节点包括VRML script、JavaScript或指向一个
外部Java applet的关联,允许开发者扩充VRML的
行为和动态。如果没有新的脚本节点(Script
nodes), VRML2.0将不能运动。脚本语言可以是
Java、Java Script等多种类型。


d. 碰撞检测(Collision Detection)
 由于存在碰撞检测,人们再也不会穿墙而过了。
碰撞检测保证固体对象就如同固体般的响应;当
你撞上它们的时候,会被反弹回事(或简单地停
止运动)。
e. 地形跟随(Terrain Following)
 地形跟随允许你沿着楼梯或斜坡上上下下。
(12)原型(Prototype)

用Proto和Extern—Proto节点类型实现。可以通过实时
地从Web上下载新的VRML原型并加以改变来生成新的
场景。
(13)超文本链接的支持(Hyper Link)




在VRML程序中可以调用其他的VRML文件,直接将
另一个VRML空间的事物插入到三维世界中,而且在
VRML虚拟现实文件中能够设定热点连接到其他
VRML文件。
VRML 文件中也能够设定热点连接到Internet任一个
Web主页等等。
VRML的迷人之处就在于它与Web之间日趋完美的紧密
结合,以及与Web所涉及的其他部分的结合和与Java的
结合。
实例:
8.5 分布式数据库系统和客户服务体系
8.5.1分布式数据库的定义



分布式数据库指具有物理上分布、逻辑上系统结构集
中的数据库。
一个分布式数据库系统由一个逻辑数据库组成,这个
逻辑数据库的数据存储在一个或多个结点的物理数据
库上,通过两阶段提交(2PC)协议来提供透明的数据
访问和事务管理。
数据在物理上分布后,由系统统一管理,使用户不感
到数据是分布存储的。用户看到的似乎不是一个分布
式数据库,而是一个数据模式为全局数据模式的集中
式数据库。分布式数据库有利于改善性能,具有可扩
充性好、可用性好以及具有自治性等优点。
8.5.2 客户服务系统


客户服务系统是将各个客户机与服务器通过网
络连接起来而构成的计算机网络系统。
它将一个复杂的计算机应用问题适当地分解为
多个子任务,再将这些子任务分布到客户机
(Client)和服务器(Sever)两种环境中,在
前端客户机上运行应用程序,在后端服务器上
提供某些特定的服务,如数据库服务、文件服
务和通信服务。



在典型的客户机/服务器(Client/Server)结构中,
数据库系统的界面和逻辑表现放在客户机上处理,
而数据的修改、分类、检索、安全性确认、事务
恢复和对共享数据的访问管理等全部放在服务器
上执行。
客户机直接面向用户,接受并处理任务,并将任
务中需要由服务器完成的部分通过网络请求服务
器执行,服务器处理后将处理结果又通过网络传
回给客户。
事务逻辑所涉及到的安全性、数据完整性和逻辑
完整性都可以集中在服务器上统一由系统解决,
形成分布式处理,而不是让访问该数据的每个应
用程序自己解决,从而有利于提高性能和完善控
制,并减少应用程序开发和维护的开销。
8.5.3 Web数据库的开发和发布


实现Web数据库应用一般可以采用两种做法:
 一种是在Web服务器端提供中间件来连接
Web服务器和数据库服务器
 另一种是把应用程序下载到客户端并在客户
端直接访问数据库。
中间件负责管理Web服务器和数据库服务器之
间的通信并提供应用程序服务,它能够直接或
调用外部程序或脚本代码来访问数据库,因此
可以提供与数据库相关的动态HTML页面,或
执行用户查询,并将查询结果格式化成HTML
页面,通过Web服务器返回给用户浏览器。
最基本的中间件技术有通用网关接口(CGI)
和应用程序编程接口(API)两种。
除了在Web服务器端采用中间件以外,我们还
可以通过Web浏览器把应用下载到客户端运行,
在客户端直接访问数据库。
客户端应用包括:Java Applet、ActiveX、Plug
-in等等,其中最典型的就是Java Applet。



8.5.4通过ODBC联接数据库


ODBC(Open Database Connectivity)是由微软
公司提出的一个用于访问数据库的统一界面标
准,随着客户机/服务器体系结构在各行业领
域广泛应用,多种数据库之间的互连访问成为
一个突出的问题,而ODBC成为目前一个强有
力的解决方案。
ODBC之所以能够操作众多的数据库,是由于
当前绝大部分数据库全部或部分地遵从关系数
据库概念,ODBC看待这些数据库时正是着眼
了这些共同点。


虽然支持众多的数据库,但这并不意味ODBC
会变得复杂,ODBC是基于结构化查询语言
( SQL),使用 SQL可大大简化其应用程序
设计接口(API)。由于ODBC思想上的先进
性,而且缺少同类标准或产品与之竞争,因而
越来越受到众多厂家和用户的青睐。已经成为
客户机/服务器系统中的一个重要支持技术。
在使用ODBC访问数据库之前,必须建立
ODBC数据源。可使用ODBC数据源管理器建
立数据源,在控制面板中的ODBC图标表示
ODBC数据源管理器。
VB中ODBC的开发过程
一、初始化ODBC
 二、与ODBC数据源建立连接
 三、存取数据
 四、检索结果集
 五、结束应用程序

ASP网页与ODBC的连接