上篇 HTML与JavaScript 3
第一章 使用HTML 3.2设计Web页 3
1.1 超文本标识语言 3
1.2 HTML 3.2与其它版本的HTML 4
HTML脚本和动态HTML 6
1.3 在Web上出版文本 6
建立文本 6
在Web上出版文本 7
HTML文本模板 9
1.4 HTML文本的基本结构 9
帧 10
1.5 HEAD部件 10
1.6 必要的HEAD部件 11
可选的HEAD部件 11
1.7 BODY—建立主文本 14
第二章 HTML 3.2中的程序块级部件 18
2.1 标题 18
2.2 基本文本部分 20
基本段落 20
保持白空格的段落 21
缩进引用 23
地址 24
2.3 数字、项目符号与缩进列表 24
数字列表 25
项目符号列表 28
定义列表 30
2.4 表格 31
基本表格结构 32
定义表格行 35
表格标题和数据单元 37
2.5 表单 39
2.6 各式各样的程序块级部件 44
第三章 HTML 3.2中的文本级部件 48
3.2 物理字符样式 48
3.2 文本级部件:逻辑字符样式 52
3.3 指定超文本链接 54
3.4 插入图像 57
动态GIF 57
IMG部件 57
3.5 客户方位图:在插入的图像中建立可点区域 61
3.6 在文本中插入其它的文件 64
插入Java程序 64
插入ActiveX控制 66
通过插件插入视频,音频和其它格式 66
滚动文本框 68
3.7 控制换行 69
第四章 帧 71
4.1 帧文本模板 72
4.2 指定帧的布局 72
4.3 指定帧单元的内容 76
例子 78
4.4 设置目标帧单元 79
4.5 预定义帧的名字 82
-top 84
-blank 84
-parent 85
-self 86
4.6 解决有关帧的一般问题 87
为帧做书签 87
打印帧 89
同时更新多个帧单元 90
防止你的文本被设置成帧 92
用单独一个条目指定FRAMESET 93
建立空帧单元 95
4.7 在线帧 97
第五章 层叠式样式表 101
5.1 定义样式规范 101
5.2 使用本地和外地样式表 104
部件STYLE和JavaScript样式表 104
外地样式表* 105
使用“@import”插入(import)样式表 105
内联样式规范 105
5.3 选择符(Selectors) 106
HTML部件 106
用户定义类 107
特定环境中的HTML部件* 107
用户定义ID 108
锚点虚拟类 108
版式虚拟部件(Typographical Pseudo Elements) 109
5.4 层叠式样式表的优生规则 109
标为“important”的规则具有最高优先级 109
作者规则优于访问者规则 110
具体的规则优于简略的规则(具体性准则) 110
5.5 字体属性 110
5.6 前景和背景属性 114
5.7 文本属性 116
5.8 Bounding Box属性 119
Margins(页边余白) 120
边框 122
填料 124
Bounding Box的显示类型 124
5.9 图像和浮动部件 125
5.10 列表的属性 126
5.11 标准属性单位 128
Lengths长度单位 128
5.12 层(Layers) 129
5.13 用LAYER和ILAYER部件声明层 129
颜色 129
HTML部件:
示例 134
5.14 用样式表(Style Sheets)声明层 136
层(layers)属性 136
示例 140
第六章 为Web页添加动态内容 142
6.1 使HTML动态化 143
对于多种浏览器的兼容性 145
6.2 监测用户事件 148
函数的声明 150
动态地设置数据类型 150
6.3 JavaScript基本语法 150
对象和类 152
数组 156
6.4 使用JavaScript设置Web页 158
在使用扩展属性时避免不兼容性 158
用JavaScript来设置属性值 160
调整浏览器窗口的大小 162
断定是否存在可用的插件 163
动态地修饰图像 167
移动层 175
6.5 使用JavaScript验证CGI表单 178
个别地检验赋值 179
当表单提交时检验所有赋值 181
6.6 使用JavaScript保存和检索Cookies 186
6.7 使用JavaSeript交互作用于帧 192
指示一个特别的帧去显示一个URL 192
为一个帧设定输入焦点 196
6.8 人JavaScript访问Java 197
直接调用Java方法 197
使用applets为JavaScript执行操作 198
通过JavaScript控制applets 202
使用“Javascript:”URL 205
6.9 通过Java访问JavaScript 205
使用JSObject 208
范例:调和applets背景和Web页背景 211
范例:一个控制HTML表单中赋值的applet 212
JSObject类中的方法 216
第七章 JavaScript快速参考 217
7.1 Array对象 217
构造函数 217
方法 218
性质 218
事件处理器 220
7.2 Button对象 220
性质 220
方法 221
事件处理器 222
7.3 Checkbox对象 222
性质 222
方法 223
事件处理器 223
性质 224
方法 224
7.4 Date对象 224
构造函数 224
事件处理器 226
7.5 Document对象 227
性质 227
方法 229
事件处理器 230
7.6 Elcment对象 230
性质 230
方法 231
事件处理器 231
方法 232
7.7 FileUpload对象 232
性质 232
事件处理器 233
7.8 Form对象 233
性质 233
方法 234
事件处理器 234
7.9 Function对象 234
构造函数 234
性质 234
性质 235
7.10 Hidden对象 235
事件处理器 235
方法 235
方法 236
事件处理器 236
7.11 History对象 236
性质 236
方法 237
事件处理器 237
7.12 Image对象 237
构造函数 237
事件处理器 238
性质 238
方法 238
7.13 JavaObject对象 239
7.14 JavaPackage对象 239
7.15 Layer对象 239
构造函数 240
性质 240
方法 241
事件处理器 242
性质 243
7.16 Link对象 243
方法 244
事件处理器 244
7.17 Location对象 244
性质 244
方法 245
事件处理器 245
7.18 Math对象 245
性质 246
方法 246
性质 248
事件处理器 248
7.19 MimeType对象 248
方法 249
事件处理器 249
7.20 Navigator对象 249
性质 249
方法 252
事件处理器 252
7.21 Number对象 252
构造函数 252
性质 252
方法 253
7.22 Object对象 255
构造函数 255
性质 255
方法 255
事件处理器 255
事件处理器 256
7.23 Option对象 256
构造函数 256
性质 256
7.24 Password对象 257
性质 257
方法 257
事件处理器 257
方法 258
事件处理器 258
7.25 Plugin对象 259
性质 259
方法 259
事件处理器 259
方法 260
性质 260
7.26 Radio对象 260
事件处理器 261
7.27 RcgExp对象 261
构造函数 261
性质 263
方法 263
事件处理器 264
常规表达式中的专有模式 264
7.28 Reset对象 265
性质 265
事件处理器 266
方法 266
7.29 Screen对象 267
性质 267
方法 267
事件处理器 267
7.30 Select对象 267
性质 268
方法 269
事件处理器 269
方法 270
性质 270
7.31 Srting对象 270
构造函数 270
事件处理器 274
7.32 Submit对象 274
性质 275
方法 275
事件处理器 275
7.33 Text对象 276
性质 276
方法 276
7.34 Textarea对象 277
事件处理器 277
性质 278
方法 278
事件处理器 278
7.35 Window对象 279
性质 279
方法 282
事件处理器 286
一个“open”方法的使用例子 287
1.1 Java的特点 293
第一章 Java的特性 293
下篇 Java程序设计 293
Java适于网络编程和网络智能 294
Java是跨平台的 295
Java非常简单 295
Java是面向对象的 296
Java拥有很多强大的标准类库 296
1.2 关于Java的神话 297
Java只适用与Web 297
Java是跨平台的 297
面向对象编程是唯一有前途的方向 298
Java很容易 298
所有的软件都应用Java开发 299
1.3 Java的版本 299
你应该用哪个版本? 300
1.4 正式开始学习Java 300
安装Java 300
安装一个支持Java的浏览器 300
安装在线的JavaAPI或标记书签 301
可选项:安装一个综合开发环境 301
生成并运行一个Java程序 301
命令行参数 302
基本的“Hello World”应用程序 302
1.5 一些简单的Java程序 302
基本的“Hello World ”Applet 303
Applet的用户化参数 305
第二章 JAVA中的面向对象程序设计 308
2.1 成员变量 308
2.2 方法 310
2.3 构造函数和“this”引用 312
静态初始化区 315
2.4 析构函数 315
2.5 函数多态(重载) 316
2.6 独立文件中的Public类型 319
2.7 Javadoc 324
标记文本 324
Javadoc命令行参数 326
设置超文本链:图像子目录和标准API 328
2.8 继承 328
2.9 接口(interface)和抽像类(Abstract Classes) 331
2.10 包(Packages)和类路径(Classpath) 339
类路径(Classpath) 341
2.11 声明中的修饰语 342
权限修饰语 342
其它修饰语 343
3.1 基本数据类型 345
boolean 345
第三章 Java的基本语法 345
charS 346
byte 346
int 346
long 346
float 346
基本数据类型的转换 347
3.2 运算符 347
double 347
条件语句符号 348
if(表达式)语句体 349
switch(整型表达式)(选择体) 352
循环语句 356
3.3 Math类 358
常量 358
一般数学方法 358
三角函数运算方法 360
3.4 输入和输出 361
标准输出 361
标准错误输出 361
3.5 执行非Java语言程序 362
标准输入 362
3.6 引用类型 369
Java的参数传递 371
Instanceof运算符 372
3.7 字符串 373
String类的方法 374
类方法 376
构造函数 377
3.8 向量 377
方法 378
构造函数 378
3.9 示例:简单二叉树 379
3.10 数组 384
两步数组分配 385
一步数组分配 385
多维数组 385
3.11 异常 386
基本形式 386
多重接收子句 389
finally子句 390
抛出异常 390
特殊异常 391
第四章 小程序、图形应用程序和基本绘图 392
4.1 什么是小程序 392
4.2 创建一个小程序 393
Java样板 393
HTML样本 394
4.3 一个小程序的例子 395
自动重画 397
在开发中重载小程序 398
进行标准输出 400
4.4 小程序的生命周期 401
4.5其它小程序的方法 402
4.6 HTML的APPLET标签 407
4.7 读小程序的参数 408
读小程序的参数的一个例子 409
4.8 图形应用程序 411
4.9 图形操作 414
绘图操作 415
颜色和字体 417
画图模式 417
坐标和剪贴矩形 418
4.10 设置线宽:GraphicsUtil类 418
从相对URL上装入小程序图像 422
4.11 绘制图像 422
从绝对URL上装入小程序图像 424
应用程序中的图像装入 426
4.12 预载图像 427
4.13 控制图像的装入:等待图像和检查状态 431
MediaTracker 434
第五章 处理鼠标和键盘事件 439
5.1 Java1.02中的事件处理 439
5.2 Java1.02中的事件处理帮助方法 443
鼠标事件 444
键盘事件 448
焦点事件 449
动作事件 449
一个使用Java1.02的事件记录 449
5.3 Java 1.02事件类型 455
5.4 在事件处理方法中组织图形操作 458
例:白板应用程序 458
一个更好的白板 460
5.5 Java1.1中的事件处理 461
监听者和适配器 462
实现一个EventListener 462
关联监听者和构件 462
内部类 465
低层次的事件处理 468
5.6 Java1.1中的事件监听者 470
第六章 窗口 475
6.1 Canvas 476
主要目的 476
缺省的布局管理器:没有 476
生成和使用 476
实例:圆构件 477
实例:ImageLabel类 479
6.2 构件类 481
6.3 Java1.1中的轻量级构件 489
6.4 Panel 492
主要目的 492
缺省布局管理器:FlowLayout 493
创建和使用 493
实例:使用Panel来组织 494
6.5 Container类 495
6.6 Java1.1中的轻量级Containet 497
6.7 Appler 500
6.8 ScollPane 500
实例 501
创建和使用:情况一 --设置好大小的Frame 502
缺省布局管理器:BorderLayont 502
6.9 Frame 502
主要目的 502
创建和使用:情况二 --根据包含的构件扩展的Frame 503
实例一:可以离开的Frame 504
实例二:可以作为小程序或程序来运行的类 505
菜单 508
其它有用的方法 510
6.10 连续窗口 511
将窗口写入硬盘 511
从硬盘读入窗口 512
实例:可以保存的Frame 512
创建和使用 516
实例:确认退出的对话框 516
6.11 对话框 516
缺省布局管理器:BorderLayout 516
主要目的 516
6.12 FileDialog 519
主要目的 519
缺省布局管理器:None 519
创建和使用 519
实例:在文本域显示文件 519
创建和使用:情况一 --设置好大小的Window 522
缺省布局管理器:BorderLayout 522
6.13 Window 522
主要目的 522
创建和使用:情况二--根据包含的构件扩展的Window 523
实例: 523
6.14 ImageLable类 528
主要目的 528
创建和使用 528
实例 529
7.1 FlowLayout 530
第七章 使用布局管理器安排窗口 530
FlowLayout构造函数功能 531
其它的FlowLayout方法 532
7.2 BorderLayout 535
BorderLayout构造函数功能 536
其它的BorderLayout方法 537
7.3 GridLayout 537
GridLayout构造函数功能 538
其它的GridLayout方法 540
7.4 CardLayout 540
其它的CardLayout方法 545
CardLayout构造函数功能 545
7.5 GridBagLayout 546
GridBagconstraints对象 546
例子 547
GridBagLayout构造函数功能 550
其它的GridBagLayout方法 550
7.6 关闭布局管理器 551
7.7 有效的使用布局管理器 552
使用嵌套的Containers(容器类) 552
使用嵌套的Contaiiners 553
将某些Container的布局管理器关闭 554
使用用户自定义的布局管理器 555
调节组件周围的空白空间 555
7.8 写一个用户自定义的布局管理器 556
布局管理器接口 556
布局管理器二(layoutManaget 2)接口 557
例子: RowLayout 557
第八章 图形用户接口 566
8.1 GUI构件中的Action Events处理 567
Java1.0中构件自身处理action event 568
Java1.0中用Container处理action event 570
Java1.1中构件自身处理action event 571
Java1.1中其他对象处理action event 572
8.2 Buttons(按键) 573
构造方法(Constructors) 574
例子 574
Button类里的其他方法 575
处理按键事件(Button Events) 575
8.3 图像按键(Image Button)类 579
构造方法 579
例子 580
其他图像按键类的方法 580
源代码 581
处理图像按键的事件 581
8.4 复选框(Checkbox) 588
构造方法 589
例子 589
复选框类中的其他方法 590
事件的处理 591
8.5 复选框组(单选按键) 592
构造方法 592
例子 592
CheckboxGroup和Checkbox类的其他方法 593
例子 594
构造方法 594
处理复选框组的事件 594
8.6 选择菜单Choice Menus(ComboBoxes) 594
Choice的其他方法 595
处理选择事件(Choice event) 596
8.7 列表(List Boxes) 597
构造方法 598
例子 598
列表类(List)的其他方法 599
处理列表事件 601
8.8 文本行(TextField) 609
例子 610
构造方法 610
文本行(TextField)类的其他方法 611
处理文本行事件 613
8.9 文本区(TextArea) 617
构造方法 618
例子 618
文本区(TextArea)的其他方法 619
事件处理 619
8.10 标签(Label) 619
例子 620
构造方法 620
标签(Label)的其他方法 621
事件的处理 621
8.11 滚动条(Scrollbar)和游标(Slider) 624
构造方法 624
例子 627
滚动条类的其它方法 627
处理滚动条事件 629
8.12 游标类(A Slider Class) 631
例子 632
构造方法 632
游标类的其它方法 634
处理游标事件 635
源代码 635
8.13 弹出式菜单 644
构造方法 645
例子 645
Popupmenu的其它方法 646
处理PopupMenu事件 647
第九章 线程 649
9.1 启动线程 650
9.2 赛跑情况 654
怎样同步一段代码 657
9.3 同步问题 657
对整个方法的同步 658
9.4 线程的方法 659
构造函数 659
常量 660
方法 660
如何在Netscape 3.0x中运用线程 665
9.5 线程组 666
构造函数 666
方法 666
在Paint方法里重画所有的东西 668
9.6 多线程的图像和双缓冲 668
把动态的部分作为一个独立的部件来实现 671
使用除Paint以外的其它子程序直接进行重画工作 672
重载update并用paint来做局部的更新操作 674
双缓冲 679
第十章 JAVA中的客户-服务器编程 684
10.1 实现一个客户程序 685
创建一个Socket对象 685
建立一个用于向Socket传送信息的输出流 685
例子:一个普通的网络客户 687
构造函数 691
10.2 运用StringTokenizer类来分解字符串 691
java.util.StringTokenizer类 691
方法 692
例子:交互式的标志管理器 692
10.3 例子:一个校验电子邮件地址的客户 693
10.4 例子:一个接收URL的网络客户程序 696
一个用于从指定的主机接收指定的URL的类 697
一个接收指定的URL的类 698
UrlRetriever的输出 699
10.5 URL类 700
对一个URL进行读操作 700
URL类的其它有用的方法 701
10.6 实现一个服务器 704
例子:一个普通的网络服务器 706
输出:从一个WWW浏览器接收一个连接 708
把网络客户与网络服务器连接在一起 708
10.7 例子:一个简单的HTTP服务器 709
ThreadedEchoServer:加入了多线程 714
10.8 RMI:远程方法调用 716
开发RMI应用程序的步骤 716
一个简单的例子 717
四个必需的类 717
系统的编译与运行 720
例子:一个数字积分的服务器 721
10.9 JDBC:JAVA的数据库连接 728
数据库调用:一个概述 728
例子:一个简单的数据库测试 730
使用数据原子 732
准备语句 737
第十一章 超文本传送协议 742
11.1 与HTTP服务程序通讯 742
客户的请求 743
服务器的响应 743
一个交互的示例程序清单 744
11.2 HTTP请求行 750
HTTP 1.0请求方法 750
11.3 HTTP请求首标 752
11.4 HTTP响应状态行 757
HTTP1.0状态码 757
11.5 HTTP响应首标 762
11.6 Cookies:在客户端存储持续的数据 763
Cookie语法 764
一个Cookie的例子 766
隐私和安全问题 768
11.8 公共密钥技术概观 769
11.7 响应文件 769
数字签名 770
有数字签名的加密 770
带传送确认的有数字签名的加密 770
加密 770
利用确认消息破坏加密 771
用中间人攻击破坏加密 771
第十二章 客户方的CGI编程 772
12.1 使用HTML的FORM与CGI程序通话 772
12.2 HTML的FORM组件 773
METHOD 774
ACTION 774
ENCTYPE 777
TARGET 778
NAME 779
ONSUBMIT,ONRESET 779
12.3 FORM输入组件 780
Submit按钮 780
Reset按钮 781
JavaScript按钮 782
复选框 782
单选按钮 783
单行文本区 784
口令区 786
服务器方的图像映射 786
关联的文件 788
隐藏区域 790
多行文本区 790
组合框和列表框 791
12.4 ISLNDEX 793
12.5 ISMAP选择性的服务器方图像映射 794
通过GET发送数据及显示结果界面 797
12.6 使用Java Applet向CGI程序发送GFT数据 797
例:使用根据Java的搜索服务 798
通过GET发送数据并处理结果 801
12.7 使用Java Applet向CGI程序发送POST数据 804
读取POST数据的模板 805
使用POST实现一个天气报道的网页 806
12.8 绕过HTTP服务器直接使用Socket 811
第十三章 服务器方的CGI编程 813
13.2 CGI相互作用过程 813
13.2 读取GET数据:QUERY STRING变量 815
将变量作为已命名的参数传递 817
13.3 标准CGI环境变量 817
CGI变量简表 818
13.4 CGI命令行参数 820
13.5 处理ISINDEX 822
13.6 读取POST数据 824
13.7 分析Query数据 826
13.8 分解查询字符串 827
13.9 对URL编码的值进行解码 833
13.10 为查寻数据建立查寻表 835
13.11 分析查寻数据:一个示例 836
13.12 使用Cookies 843
13.13 服务器端Java 848
使用Servlet 849
一个帮助你选择颜色的servlet 850
HttpServletRequest类 852
HttpServletResponse类 854
使用servlet过滤URL 855
13.14 其它的可选CGI方法 857
服务器API 857
LiveWrite:服务器端JavaScriot 858
JDBC和Applet的直接Socket连接 858
WebObject适配器 858