《Web编程指南》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:(美)(M.霍尔)Marty Hall著;宋文等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1999
  • ISBN:7302035148
  • 页数:836 页
图书介绍:

第1部分 超文本标记语言 1

第1章 用HTML3.2设计Web页面 1

1.1 超文本标记语言 1

1.2 HTML3.2和其他HTML标准 3

1.2.1 HTML规范 3

1.2.2 HTML的脚本描述和动态HTML 4

1.3 在Web上发布文档 4

1.3.1 创建文档 5

1.3.2 将文档挂接到Web上去 5

1.3.3 检验文档 7

1.4 HTML文档的基本结构 7

1.4.1 HTML文档模板 8

1.4.2 框窗 8

1.5 HEAD元素 9

1.5.1 必需的HEAD元素 9

1.5.2 可选的HEAD元素 9

1.6 BODY——创建文档主体 13

1.7 小结 15

第2章 HTML3.2中的块级元素 16

2.1 标题部分 16

2.2 基本文本部分 18

2.2.1 基本段落 18

2.2.2 保留空白空间的段落 19

2.2.3 HTML的注释段落 19

2.2.4 缩格引用 21

2.2.5 地址 21

2.3 数字式、强调式和缩排式列表 22

2.3.1 数字式列表 22

2.3.2 强调式列表 24

2.3.3 定义式列表 25

2.4 表格 27

2.4.1 基本表结构 27

2.4.2 定义表的行数 30

2.4.3 表格标题和数据单元 32

2.5 扩充式表单 34

2.6 各种各样的块级元素 38

2.7 小结 40

第3章 HTML3.2中的文本级元素 41

3.1 物理字符样式 41

3.2 文本级元素:逻辑字符样式 44

3.3 指定超文本链接 46

3.4 嵌入式图像 49

3.4.1 动画式GIF 49

3.4.2 IMG元素 50

3.5 客户端图像映射:在嵌入式图像中创建可单击的区域 53

3.6 在文档中嵌入其他对象 56

3.6.1 嵌入式Java程序 56

3.6.2 通过plug in(插件)嵌入视频、音频和其他格式 57

3.6.3 嵌入ActiveX控件 58

3.6.4 滚动文本标签 60

3.7 行中断的控制 61

3.8 小结 62

第4章 框窗 63

4.1 框窗文档模板 64

4.2 框窗的布局 64

4.3 指定框窗单元的内容 68

4.3.1 例子 69

4.4 目标框窗单元 72

4.5 预定义的框窗名 74

4.6 解决一些通常的框窗问题 79

4.6.1 记录框窗 80

4.6.2 打印框窗 81

4.6.3 同时更新多个框窗单元 82

4.6.4 将各单元合并成单个框窗 83

4.6.5 使用JavaScript 83

4.6.6 阻止文档框窗化 85

4.6.7 指定FRAMESETS只有单一入口 86

4.6.8 创建空的框窗单元 87

4.7 串列式(inline)框窗 91

4.8 小结 94

第5章 级联式样式表 95

5.1 指定样式规则 95

5.2 使用本地和外部样式表 96

5.2.1 样式元素╀和JavaScritp样式表 97

5.2.2 外部样式表╀ 98

5.2.3 使用“@import”导入样式表 98

5.2.4 串列式(inline)样式规范╀ 99

5.3 Selector 99

5.3.1 HTML元素╀ 100

5.3.2 某些有上下文关系的HTML元素 100

5.3.3 用户定义的类╀ 100

5.3.4 用户定义的ID╀ 101

5.3.5 锚定虚类╀ 101

5.3.6 排版式虚元素 102

5.4 级联式样式表优先规则 102

5.4.1 标有“important”的规则有最高优先级 102

5.4.2 创作者规则优化级高于浏览者规则 103

5.4.3 更特殊的规则优先于不够特殊的规则 103

5.4.4 在一个级别的情况下,最后指定的规则有优先权 103

5.5 字体属性 103

5.6 前景和背景属性 107

5.7 文本属性 108

5.8 边界框的属性 111

5.8.1 边缘区(margin) 112

5.8.2 边框线(border) 113

5.8.3 衬垫区(padding) 115

5.8.4 边界框的显示类型 115

5.9 图像和浮动元素 116

5.10 列表属性 117

5.11 标准属性单位 119

5.11.1 尺寸 119

5.11.2 颜色 119

5.12 层 119

5.13 使用LAYER和ILAYER元素指定“层” 122

5.13.1 例子 128

5.14 使用样式表指定层 130

5.14.1 层的属性 130

5.14.2 例子 134

5.15 小结 135

第2部分 Java编程 137

第6章Java初探 137

6.1 Java独一无二的特点 138

6.1.1 Java对Web开发和网络应用的支持 138

6.1.2 Java是跨平台的 139

6.1.3 Java易学易用 141

6.1.4 Java是面向对象的 143

6.1.5 Java拥有功能多样而且强大的标准库 143

6.2 Java神话 144

6.2.1 Java只能用于Web开发 145

6.2.2 Java是跨平台的 145

6.2.3 Java简单易用 146

6.2.4 面向对象的程序设计是一条真正的通路 147

6.2.5 所有的软件都应该用Java开发 147

6.3 Java版本系列 147

6.3.1 我们应该使用哪个版本 148

6.4 让我们开始吧:螺丝和螺帽 148

6.4.1 安装Java 148

6.4.2 安装支持Java的浏览器 150

6.4.3 设置书签或安装在线Java API 150

6.4.4 可选步骤:获得一个集成开发环境(IDE) 151

6.4.5 创建和运行Java程序 151

6.5 一些简单的Java程序 152

6.51 简单的Hello World应用程序 152

6.5.2 命令行参数 153

6.5.3 简单的Hello World(Wide Web)Applet 153

6.5.4 applet的定制参数 155

6.6 小结 156

第7章 使用Java进行面向对象的程序设计 158

7.1 实例变量 158

7.2 方法 160

7.3 构造函数和“this”引用 161

7.3.1 静态初始化块 164

7.4 析构函数 164

7.5 重载 165

7.6 独立文件中公共版本 167

7.7 Javadoc 172

7.7.1 段落标志 172

7.7.2 Javadoc的命令行参数 174

7.7.3 调整超文本链接:图像子目录和标准的API 175

7.8 继承 176

7.9 接口和抽象类 178

7.10 包和类路径 185

7.10.1 类路径(Classpath) 187

7.11 声明中的修饰符 188

7.11.1 可见性修饰符 188

7.11.2 其他修饰符 190

7.12 小结 191

第8章Java语法基础 192

8.1 基本类型 192

8.2 运算符 194

8.2.1 数学运算符 194

8.2.2 条件运算符 195

8.2.3 循环语句 202

8.3 数学类(Math Class) 203

8.3.1 常量(Constant) 203

8.3.2 常用的方法 203

8.3.3 三角函数方法 205

8.3.4 大整数和大十进制数 205

8.4 输入和输出 207

8.4.1 打印到标准输出 207

8.4.2 标准输出错误 207

8.4.3 从标准输入中读入 208

8.5 执行非Java的程序 208

8.6 引用类型 214

8.6.1 Java的参数传送规范 215

8.6.2 instanceof运算符 216

8.7 字符串 217

8.7.1 String类中的方法 218

8.8 向量 221

8.8.1 构造函数 222

8.8.2 方法 222

8.9 例子:一个简单二叉树 223

8.10 数组 227

8.10.1 数组两步分配法 227

8.10.2 数组单步分配法 228

8.10.3 多维数组 228

8.11 异常 229

8.11.1 基本形式 229

8.11.2 多catch子句 231

8.11.3 finally子句 232

8.11.4 产生异常 232

8.11.5 未检查的异常 233

8.12 小结 233

第9章 Applet,图形应用程序和基本绘图 234

9.1 什么是Applet 234

9.2 创建一个Applet 235

9.2.1 Java模板 235

9.2.2 HTML模板 235

9.3 一个Applet例子 236

9.3.1 自动重绘 237

9.3.2 在开发过程中重新载入applet 239

9.3.3 获得标准输出 241

9.4 applet生命周期 241

9.5 其他applet方法 242

9.6 HTML中的APPLET标志 247

9.7 读取Applet参数 248

9.7.1 读取applet参数的一个例子 249

9.8 图形应用程序 250

9.9 图形操作 254

9.9.1 绘图操作 254

9.9.2 颜色和字体 256

9.9.3 绘图模式 257

9.9.4 坐标和剪切矩形 257

9.10 设置线条宽度:GraphicsUtil类 257

9.11 绘制图像 281

9.11.1 从相对URLs处载入applet图像 281

9.11.2 从绝对URLs载入applet图像 282

9.11.3 在应用程序中载入图像 284

9.12 预载入图像 286

9.13 控制图像载入:等待图像和检测状态 289

9.14 小结 295

第10章 处理鼠标和键盘事件 297

10.1 Java1.02中的事件处理 297

10.1.1 Event类 299

10.2 Java1.02中辅助事件处理方法 301

10.2.1 鼠标事件 301

10.2.2 键盘事件 306

10.2.3 焦点事件 306

10.2.4 行为事件 307

10.2.5 使用Java1.02设计的一个事件记录器 307

10.3 Java1.02中的事件类型 311

10.4 在事件处理方法中完成图形制作 314

10.4.1 例子:白板applet(White board Applet) 314

10.4.2 改进的白板 315

10.5 在Java1.1中处理事件 317

10.5.1 监听器和适配器 318

10.5.2 内嵌类 320

10.5.3 低层事件处理 323

10.6 Java1.1中的事件监听器 325

10.7 小结 329

第11章 窗口 330

11.1 Canvas 330

11.1.1 主要目的 330

11.1.2 缺省的布局管理器:无 331

11.1.3 创建和使用 331

11.1.4 例子:一个圆组件 332

11.1.5 例子:ImageLabel类 334

11.2 Component类 335

11.3 Java1.1 中的“轻型”组件 344

11.4 Panel 346

11.4.1 主要目的 346

11.4.2 缺省的布局管理器:FlowLayout 347

11.4.3 创建和使用 347

11.4.4 例子:使用面板进行分组 348

11.5 Container类 349

11.6 Java1.1中的“轻型”容器 351

11.7 Applet 353

11.7.1 主要目的 353

11.7.2 缺省的布局管理器:FlowLayout 353

11.7.3 创建和使用 354

11.8 ScrullPane 354

11.8.1 主要目的 354

11.8.2 缺省的布局管理器:无 354

11.8.3 创建和使用 354

11.8.4 例子 355

11.9 Frame 356

11.9.1 主要目的 356

11.9.2 缺省的布局管理器:BorderLayout 357

11.9.3 创建和使用:选择1——固定大小的框窗 357

11.9.4 创建和使用:选择2——依据其所含内容来调整大小的框窗 358

11.9.5 例子1:可退出的框窗 358

11.9.6 例子2:既可被作为Applet也可被作为应用程序运行的类 360

11.9.7 菜单 361

11.9.8 其他有用的框窗方法 363

11.10 串行化窗口 365

11.10.1 向磁盘中写入一个窗口 365

11.10.2 从磁盘中读取窗口 365

11.10.3 例子:可存储的框窗 365

11.11 Dialog 368

11.11.1 主要目的 368

11.11.2 缺省的布局管理器:BorderLayout 369

11.11.3 创建和使用 369

11.11.4 例子:一个确定是否退出的对话框 369

11.12 FileDialog 371

11.12.1 主要目的 371

11.12.2 缺省的布局管理器:无 371

11.12.3 创建和使用 371

11.12.4 例子:在TextArea(文本区)中显示文件 371

11.13 Window 374

11.13.1 主要目的 374

11.13.2 缺省的布局管理器:BorderLayout 374

11.13.3 创建和使用:选择1——固定大小的窗口 375

11.13.4 创建和使用:选择2——随其所含内容自动调节大小的窗口 375

11.13.5 例子 375

11.14 ImageLabel类 379

11.14.1 主要目的 379

11.14.2 创建和使用 379

11.14.3 例子 380

11.14.4 源代码 381

11.15 小结 391

第12章 使用布局管理器安排窗口 392

12.1 FlowLayout 392

12.1.1 FlowLayout的构造函数选项 393

12.1.2 其他的FlowLayout方法 393

12.2 BorderLayout 396

12.2.1 BorderLayout的构造函数选项 398

12.2.2 其他的BorderLayout方法 398

12.3 GridLayout 398

12.3.1 GridLayout的构造函数选项 399

12.3.2 其他的GridLayout方法 400

12.4 CardLayout 401

12.4.1 CardLayout的构造函数选项 404

12.4.2 其他的CardLayout方法 405

12.5 GridBagLayout 406

12.5.1 GridBagConstraunts对象 406

12.5.2 例子 408

12.5.3 GridBagLayout的构造函数选项 410

12.5.4 其他的GridBagLayout方法 410

12.6 关闭布局管理器 411

12.7 有效地使用布局管理器 412

12.7.1 使用嵌套的组件 412

12.7.2 关闭某些容器的布局管理器 413

12.7.3 使用定制的布局管理器 414

12.7.4 调整组件周围的空白区 415

12.8 定制一个布局管理器 415

12.8.1 LayoutManager接口 415

12.8.2 LayoutManager2接口 416

12.8.3 例子:RowLayout 416

12.9 小结 423

第13章 图形用户界面控件 424

13.1 在GUI控件中处理Action事件 424

13.1.1 在Java1.0的个别组件中处理Action事件 425

13.1.2 在Java1.0的容器内处理Action事件 427

13.1.3 在Java1.1中的个别组件内处理Action事件 428

13.1.4 在Java1.1的其他对象中处理Action事件 429

13.2 按钮 430

13.2.1 构造函数 430

13.2.2 例子 431

13.2.3 其他的按钮方法 431

13.2.4 处理按钮事件 433

13.3 图像按钮类 436

13.3.1 构造函数 436

13.3.2 例子 437

13.3.3 其他的ImageButton方法 437

13.3.4 处理ImageButton事件 438

13.3.5 源代码 439

13.4 复选框 444

13.4.1 构造函数 445

13.4.2 例子 445

13.4.3 其他的复选框方法 446

13.4.4 处理事件 447

13.5 复选框组(单选按钮) 448

13.5.1 构造函数 448

13.5.2 例子 448

13.5.3 其他的复选框组和复选框方法 449

13.5.3 处理复选框组事件 450

13.6 Choice菜单(组合框) 450

13.6.1 构造函数 451

13.6.2 例子 451

13.6.3 其他的Choice方法 451

13.6.4 处理Choice事件 454

13.7 列表框 455

13.7.1 构造函数 455

13.7.2 例子 455

13.7.3 其他的列表方法 456

13.7.4 处理列表事件 459

13.8 TextField 465

13.8.1 构造函数 465

13.8.2 例子 466

13.8.3 其他的TextField方法 466

13.8.4 处理TextField事件 468

13.9 TextArea 472

13.9.1 构造函数 472

13.9.2 例子 473

13.9.3 其他的TextArea方法 474

13.9.4 处理事件 475

13.10 Label 475

13.10.1 构造函数 475

13.10.2 例子 475

13.10.3 其他的Label方法 476

13.10.4 处理事件 477

13.11 Scrollbar和Slider 478

13.11.1 构造函数 479

13.11.2 例子 482

13.11.3 其他的Scrollbar方法 483

13.11.4 处理Scrollbar事件 486

13.12 滑块类 488

13.12.1 构造函数 488

13.12.2 例子 488

13.12.3 其他的滑块方法 490

13.12.4 处理滑块事件 491

13.12.5 源代码 491

13.13 PopupMenu 498

13.13.1 构造函数 498

13.13.2 例子 498

13.13.3 其他的PopupMenu方法 500

13.13.4 处理PopupMenu事件 501

13.14 小结 501

第14章 使用Java线程进行并发编程 503

14.1 启动线程 503

14.1.1 机制1:把行为放入一个分离的线程对象 503

14.1.2 机制2:把行为放到必须实现Runnable的驱动类中 505

14.2 竞争条件 508

14.3 同步 510

14.3.1 对一段代码实行同步 510

14.3.2 对整个方法实行同步 511

14.4 Thread方法 511

14.4.1 构造函数 511

14.4.2 常量 512

14.4.3 方法 513

14.4.4 在Netscape3.0x中使用线程 517

14.5 线程组 517

14.5.1 构造函数 517

14.5.2 方法 517

14.6 多线程图形和双缓冲 519

14.6.1 在Paint中绘制所有的东西 519

14.6.2 把动态部分作为一个独立组件来实现 522

14.6.3 让例程而不是paint来完成直接绘制操作 522

14.6.4 覆盖Update并让paint完成增量更新 524

14.6.5 双缓冲 529

14.7 小结 533

第15章 Java中的客户/服务器编程 534

15.1 一个客户的实现 534

15.1.1 例子:一个普通的网络客户 536

15.2 使用StringTokenizer分析字符串 539

15.2.1 Java.util.StringTokenizer类 540

15.2.2 构造函数 540

15.2.3 方法 540

15.2.4 例子:交互式符号生成器 540

15.3 例子:一个用于验证e-mail地址的客户 541

15.4 例子:一个用于检索URL的网络客户 544

15.4.1 一个用于检索在给定主机上给定URI的类 544

15.4.2 一个用于检索给定URL的类 545

15.4.3 UrlRetriever的输出 546

15.5 URL类 547

15.5.1 从一个URL读取数据 547

15.5.2 其他有用的URL类方法 548

15.6 实现一个服务器 550

15.6.1 例子:一个普通的网络服务器 551

15.6.2 把NetworkClient和NetworkServer连接到一起 554

15.7 例子:一个简单的HTTP服务器 554

15.7.1 ThreadedEchoServer:加入多线程 557

15.8 RMI:远程方法调用 559

15.8.1 构造一个RMI应用的步骤 560

15.8.2 一个简单的例子 560

15.8.3 例子:一个用于数值积分的服务器 563

15.9 JDBC:Java数据库连接 569

15.9.1 数据库调用概述 570

15.9.2 例子:一个简单的测试数据库 571

15.9.3 使用元数据 573

15.9.4 预定语句 578

15.10 小结 582

第3部分 CGI编程 584

第16章 超文本传输协议 584

16.1 与一个HTTP服务器通信 584

16.1.1 客户请求 584

16.1.2 服务器响应 585

16.1.3 一个交互例子 585

16.2 HTTP请求行 590

16.2.1 HTTP1.0请求方法 591

16.3 HTTP请求标题 592

16.4 HTTP响应状态行 598

16.4.1 HTTP1.0状态码 599

16.5 HTTP响应标题 605

16.6 小甜饼:在客户端存储持续数据 607

16.6.1 小甜饼语法 607

16.6.2 一个小甜饼例子 609

16.6.3 保密和安全问题 609

16.7 响应文件 612

16.8 公钥密码学概述 612

16.8.1 加密 613

16.8.2 数字签名 613

16.8.3 数字标记加密 613

16.8.4 带有投递确认的数字标记加密 614

16.8.5 使用确认信息来破译加密 614

16.8.6 用中间人攻击法破译密码 614

16.9 小结 615

第17章 CGI编程和其他——客户端 616

17.1 使用HTML表单与CGI程序交谈 616

17.2 HTML表单元素 618

17.3 表单输入元素 623

17.3.1 提交按钮 624

17.3.2 复位按钮 625

17.3.3 JavaScript按钮 625

17.3.4 复选框 626

17.3.5 单选按钮 626

17.3.6 文本域 627

17.3.7 口令域 629

17.3.8 服务器端映射图像 629

17.3.9 附带文件 631

17.3.10 隐含域 632

17.3.11 文本区域 633

17.3.12 组合框和列表框 633

17.4 JSINDEX 635

17.5 ISMAP——另一种服务器端映射图像 636

17.6 使用Java小程序向CGI程序发送GET数据 638

17.6.1 通过GET发送数据和显示结果页面 639

17.6.2 通过GET发送数据和处理结果 642

17.7 使用Java applet发送POST数据给CGI程序 645

17.7.1 读取POST数据的模板 646

17.7.2 使用POST实现一个天气预报页面 647

17.8 绕过HTTP服务器而直接使用套接字 652

17.9 小结 653

第18章 CGI编程及其他——服务器端 655

18.1 CGI交互过程 655

18.2 读取GET数据:环境变量QUERY_STRING 656

18.3 标准的CGI环境变量 658

18.3.1 以命名参数方式传递变量 658

18.3.2 CGI环境变量小结 659

18.4 CGI命令行参数 661

18.5 处理ISINDEX 662

18.6 读取POST数据 664

18.7 分析查询数据 666

18.8 分割查询字符串 668

18.9 解析URL编码值 672

18.10 为查询数据创建查找表 674

18.11 分析查询数据:一个范例 675

18.12 使用Cookie 679

18.13 服务器端Java 685

18.13.1 使用Servlet 687

18.13.2 能够选择颜色的servlet 687

18.13.3 类HttpServletRequest 689

18.13.4 类HttpServletResponse 691

18.13.5 利用Servlet过滤URL 692

18.14 替代CGI的其他技术 695

18.14.1 服务器API 695

18.14.2 服务器端包含 696

18.14.3 LiveWine:服务器端JavaScript 696

18.14.4 JDBC和Applet的直接socket连接 696

18.14.5 WebObjects转换器(Adaptor) 697

18.15 小结 697

第4部分 JavaScript 698

第19章JavaScript:为Web页面添加动态内容 698

19.1 动态创建HTML 698

19.1.1 与各种浏览器兼容 701

19.2 监测用户事件 704

19.3 基本的JavaScript语法 705

19.3.1 动态类型 705

19.3.2 定义函数 706

19.3.3 对象和类 707

19.3.4 数组 711

19.4 使用JavaScript定制Web页面 712

19.4.1 使用扩展功能时注意兼容性 712

19.4.2 利用JavaScript设置属性值 715

19.4.3 适应浏览器窗口的大小 716

19.4.4 检查插件(plugin)是否存在 717

19.4.5 与不同版本的浏览器保持兼容 719

19.5 利用JavaScript使页面动起来 722

19.5.1 动态修改图像 722

19.5.2 可以单击的图像按钮 722

19.5.3 加亮显示鼠标下的图像 725

19.5.4 移动Layer 729

19.6 利用JavaScript检查CGI表单数据 733

19.6.1 独立地检查数据 734

19.6.2 提交表单时检查数据 737

19.7 利用JavaScript存储和检查Cookie 743

19.8 利用JavaScript控制框窗 746

19.8.1 让特定框窗显示URL 746

19.8.2 将输入焦点传递给框窗 750

19.9 在JavaScript中使用Java 752

19.9.1 直接调用Java方法 752

19.9.2 利用Applet为JavaScript服务 753

19.9.3 在JavaScript中控制Applet 757

19.10 在Java语言中访问JavaScript 759

19.10.1 利用“javascript”:URL 759

19.10.2 利用JSObject 764

19.11 小结 772

第20章JavaScript快速参考 773

20.1 Array对象 773

20.2 Button对象 775

20.3 Checkbox对象 777

20.4 Date对象 779

20.5 Document对象 781

20.6 Element对象 784

20.7 FileUpload对象 786

20.8 Form对象 787

20.9 Function对象 788

20.10 Hidden对象 789

20.11 History对象 789

20.12 Image对象 790

20.13 JavaObject对象 792

20.14 JavaPackage对象 792

20.15 Layer对象 793

20.16 Link对象 795

20.17 Location对象 797

20.18 Math对象 798

20.19 MimeType对象 800

20.20 Navigator对象 801

20.21 Number对象 803

20.22 Object对象 805

20.23 Option对象 807

20.24 Password对象 808

20.25 Plug In对象 809

20.26 Radio对象 810

20.27 RegExp对象 811

20.28 Reset对象 814

20.29 Screen对象 816

20.30 Select对象 816

20.31 String对象 818

20.32 Submit对象 822

20.33 Text对象 824

20.34 Textarea对象 825

20.35 Window对象 826

20.36 小结 835