Web程序设计计算机科学经典教材Word下载.docx
《Web程序设计计算机科学经典教材Word下载.docx》由会员分享,可在线阅读,更多相关《Web程序设计计算机科学经典教材Word下载.docx(44页珍藏版)》请在冰豆网上搜索。
2.4.5文本块引用37
2.4.6字体样式与大小38
2.4.7字符实体39
2.4.8水平线39
2.4.9meta元素40
2.5图片40
2.5.1图片格式40
2.5.2<
img/>
标签41
2.5.3XHTML文档的验证43
2.6超链接44
2.6.1链接45
2.6.2位于文档内部的目标47
2.6.3使用链接47
2.7列表47
2.7.1无序列表48
2.7.2有序列表48
2.7.3定义列表51
2.8表格52
2.8.1基本的表格标签52
2.8.2属性rowspan与colspan54
2.8.3属性align与valign56
2.8.4属性cellpadding与
cellspacing57
2.8.5表格分块59
2.9表单59
2.9.1<
form>
标签59
2.9.2<
input>
标签60
2.9.3<
select>
标签63
2.9.4<
textarea>
标签65
2.9.5动作按钮66
2.9.6一个完整的表单示例66
2.10HTML与XHTML之间的
语法差异69
2.11本章小结71
2.12复习题72
2.13练习题73
第3章层叠样式表75
3.1简介75
3.2样式表的层次76
3.3样式说明格式77
3.4选择器格式78
3.4.1简单的选择器格式78
3.4.2类选择器79
3.4.3通用选择器79
3.4.4id选择器80
3.4.5通配选择器80
3.4.6伪类80
3.5属性值的格式81
3.6字体属性82
3.6.1字体族83
3.6.2字体大小83
3.6.3字体变体84
3.6.4字体样式84
3.6.5字体粗细84
3.6.6简写字体属性84
3.6.7文本修饰87
3.7列表属性88
3.8颜色91
3.8.1颜色组91
3.8.2颜色属性92
3.9文本对齐93
3.10盒模型95
3.10.1边框95
3.10.2内边距和外边距97
3.11背景图片99
3.12<
span>
标签和<
div>
标签101
3.13冲突解决方案102
3.14本章小结103
3.15复习题104
3.16练习题105
第4章JavaScript基础知识107
4.1JavaScript概述107
4.1.1起源107
4.1.2JavaScript与Java108
4.1.3JavaScript的用途108
4.1.4浏览器和XHTML/JavaScript
文档109
4.2面向对象和JavaScript110
4.3一般的语法特征111
4.4基本数据类型、操作和
表达式113
4.4.1基本数据类型113
4.4.2数值型和字符串字面量114
4.4.3其他基本数据类型114
4.4.4声明变量115
4.4.5数值运算符115
4.4.6Math对象116
4.4.7Number对象117
4.4.8字符串连接运算符117
4.4.9隐式类型转换118
4.4.10显式类型转换118
4.4.11String属性和方法119
4.4.12typeof运算符120
4.4.13赋值语句120
4.4.14Date对象121
4.5屏幕输出和键盘输入121
4.6控制语句124
4.6.1控制表达式125
4.6.2选择语句126
4.6.3switch语句127
4.6.4循环语句129
4.7创建和修改对象131
4.8数组132
4.8.1创建Array对象132
4.8.2Array对象的特征133
4.8.3Array方法134
4.9函数136
4.9.1基础知识136
4.9.2局部变量137
4.9.3参数138
4.9.4复习sort方法140
4.10示例一140
4.11构造函数142
4.12利用正则表达式进行模式
匹配142
4.12.1字符和字符类模式143
4.12.2锚145
4.12.3模式修饰符145
4.12.4String对象中的其他模式
匹配方法146
4.13示例二146
4.14脚本中的错误148
4.15本章小结149
4.16复习题151
4.17练习题152
第5章JavaScript与XHTML文档155
5.1JavaScript的执行环境156
5.2文档对象模型156
5.3在JavaScript中访问元素159
5.4事件与事件处理162
5.4.1事件处理的基本概念162
5.4.2事件、属性和标签163
5.5处理主体元素的事件165
5.6处理按钮元素的事件166
5.7处理文本框和密码框元素的
事件171
5.7.1focus事件171
5.7.2验证表单输入173
5.8DOM2事件模型178
5.8.1事件传播179
5.8.2事件处理程序的注册180
5.8.3DOM2事件模型示例181
5.9navigator对象183
5.10DOM树的遍历和修改185
5.10.1DOM树的遍历185
5.10.2DOM树的修改185
5.11本章小结185
5.12复习题186
5.13练习题187
第6章利用JavaScript开发
动态文档189
6.1简介189
6.2元素定位190
6.2.1绝对定位190
6.2.2相对定位193
6.2.3静态定位194
6.3移动元素194
6.4元素可见性197
6.5修改颜色和字体198
6.5.1修改颜色198
6.5.2修改字体199
6.6动态内容201
6.7堆叠元素203
6.8定位鼠标光标206
6.9响应鼠标单击208
6.10缓慢移动元素209
6.11拖放元素212
6.12本章小结216
6.13复习题216
6.14练习题217
第7章XML简介219
7.1简介219
7.2XML语法221
7.3XML文档结构223
7.4文档类型定义225
7.4.1元素声明225
7.4.2属性声明227
7.4.3实体声明228
7.4.4一个DTD的示例228
7.4.5内部和外部DTD229
7.5名称空间230
7.6XML架构232
7.6.1架构的基本原理232
7.6.2架构的定义233
7.6.3定义架构实例234
7.6.4数据类型概述235
7.6.5简单类型235
7.6.6复杂类型236
7.6.7架构实例的验证238
7.7显示没有格式化的XML文档239
7.8通过CSS显示XML文档240
7.9XSLT样式表241
7.9.1XSLT概述242
7.9.2用于表现的XSL转换243
7.10XML处理器249
7.10.1XML处理器的用途249
7.10.2SAX方式249
7.10.3DOM方式250
7.11Web服务250
7.12本章小结251
7.13复习题253
7.14练习题254
第8章Flash简介257
8.1Flash的起源与用途257
8.2初步了解Flash创作环境258
8.3绘图工具262
8.3.1预定义图形262
8.3.2线条和徒手画267
8.3.3文本267
8.3.4元件和库268
8.4静态图形269
8.5动画和声音274
8.5.1动画简介274
8.5.2移动图形274
8.5.3更多动画276
8.5.4形状动画278
8.5.5声音280
8.6用户交互282
8.6.1动作283
8.6.2Flash组件283
8.6.3示例283
8.7小结286
8.8复习题287
8.9练习题288
第9章PHP简介289
9.1PHP的起源和用途289
9.2PHP概述290
9.3基本语法特征291
9.4基本数据类型、操作和
表达式291
9.4.1变量292
9.4.2整数类型292
9.4.3双精度类型292
9.4.4字符串类型292
9.4.5布尔类型293
9.4.6算术运算符和表达式293
9.4.7字符串操作294
9.4.8标量类型转换295
9.4.9赋值运算符296
9.5输出296
9.6控制语句298
9.6.1关系运算符298
9.6.2布尔运算符298
9.6.3选择语句298
9.6.4循环语句299
9.6.5示例299
9.7数组301
9.7.1创建数组301
9.7.2访问数组元素302
9.7.3数组处理函数302
9.7.4数组元素的按序访问304
9.7.5数组排序306
9.8函数307
9.8.1函数的基本特征307
9.8.2参数308
9.8.3变量的作用域309
9.8.4变量的生命周期310
9.9模式匹配311
9.10表单处理313
9.11文件318
9.11.1打开和关闭文件318
9.11.2读取文件319
9.11.3文件写入操作320
9.11.4文件加锁320
9.12cookie320
9.12.1cookie简介321
9.12.2PHP对cookie的支持322
9.13会话跟踪322
9.14本章小结323
9.15复习题324
9.16练习题325
第10章Ajax简介329
10.1Ajax概述329
10.1.1Ajax的历史329
10.1.2Ajax技术330
10.1.3实现Ajax331
10.2Ajax基础知识332
10.2.1应用程序332
10.2.2表单文档332
10.2.3请求阶段334
10.2.4响应文档336
10.2.5接收器阶段337
10.2.6跨浏览器支持339
10.3返回文档的格式340
10.3.1HTML和XHTML340
10.3.2XML341
10.3.3JavaScriptObjectNotation342
10.4Ajax工具包343
10.4.1Dojo344
10.4.2示例346
10.4.3Prototype348
10.5安全性与Ajax349
10.6本章小结350
10.7复习题351
10.8练习题351
第11章JavaWeb软件353
11.1servlet简介353
11.1.1概述353
11.1.2详解354
11.1.3servlet容器357
11.2NetBeans集成开发环境358
11.3调查表示例365
11.4在客户端存储信息372
11.4.1cookie372
11.4.2servlet对cookie的支持373
11.4.3示例374
11.5JSP380
11.5.1开发JSP的动机380
11.5.2JSP文档380
11.5.3表达式语言383
11.5.4JSTL中用于控制的动作
元素385
11.6JavaBean389
11.7模型-视图-控制器应用
体系结构392
11.8JSF393
11.8.1内核标签库和HTML
标签库394
11.8.2JSF事件处理395
11.8.3示例应用程序395
11.9本章小结400
11.10复习题401
11.11练习题402
第12章ASP.NET简介405
12.1.NETFramework概述405
12.1.1背景406
12.1.2.NET语言406
12.1.3公共语言运行库406
12.1.4公共语言基础结构407
12.2C#简介408
12.2.1起源408
12.2.2基本数据类型和表达式408
12.2.3数据结构409
12.2.4控制语句409
12.2.5类、方法和结构410
12.2.6异常处理411
12.2.7输出411
12.3ASP.NET简介412
12.3.1基本知识412
12.3.2ASP.NET文档413
12.3.3代码隐藏文件415
12.4ASP.NET控件417
12.4.1Web控件417
12.4.2简单的ASP.NET文档的
生命周期418
12.4.3VisualStudio422
12.4.4ASP.NET事件427
12.4.5用代码创建控件元素428
12.4.6控件的响应输出429
12.4.7列表控件429
12.4.8验证控件433
12.4.9主文档439
12.5ASP.NETAJAX442
12.6Web服务447
12.6.1构建Web服务447
12.6.2使用Web服务450
12.6.3传播Web服务454
12.7本章小结454
12.8复习题455
12.9练习题457
第13章基于Web的数据库访问459
13.1关系数据库459
13.2结构化查询语言简介462
13.2.1SELECT命令462
13.2.2连接462
13.2.3INSERT命令464
13.2.4UPDATE命令464
13.2.5DELETE命令464
13.2.6DROP命令465
13.2.7CREATETABLE命令465
13.3数据库访问的体系结构466
13.3.1客户端-服务器体系结构466
13.3.2MicrosoftODBC
体系结构466
13.3.3PHP和数据库访问467
13.3.4JavaJDBC体系结构467
13.4MySQL数据库系统468
13.5使用PHP和MySQL
实现数据库访问470
13.5.1特殊字符的潜在问题470
13.5.2连接MySQL并选择
数据库471
13.5.3请求MySQL操作471
13.5.4PHP-MySQL示例472
13.6使用JDBC和MySQL
实现数据库访问477
13.6.1JDBC和MySQL477
13.6.2元数据480
13.6.3示例481
13.7使用ASP.NET和MySQL
实现数据库访问484
13.7.1MySQL和ADO.NET484
13.7.2数据绑定485
13.7.3连接字符串486
13.8本章小结490
13.9复习题491
13.10练习题492
第14章Ruby简介493
14.1Ruby的起源与用途493
14.2标量类型及其操作494
14.2.1数值与字符串字面量494
14.2.2变量和赋值语句495
14.2.3数值运算符496
14.2.4String的方法497
14.3简单的输入输出501
14.3.1屏幕输出501
14.3.2键盘输入501
14.4控制语句503
14.4.1控制表达式503
14.4.2选择语句和循环语句504
14.5数组基础507
14.5.1for-in语句508
14.5.2数组和列表的内置方法509
14.5.3示例511
14.6散列512
14.7方法514
14.7.1基础知识514
14.7.2局部变量515
14.7.3参数515
14.8类517
14.8.1类的基础知识517
14.8.2访问控制519
14.8.3继承521
14.9块和迭代器522
14.10模式匹配524
14.10.1模式匹配的基础知识524
14.10.2存储匹配526
14.10.3替换526
14.11本章小结527
14.12复习题527
14.13练习题528
第15章Rails简介529
15.1Rails概述529
15.2文档请求531
15.2.1静态文档HelloWorld531
15.2.2动态文档535
15.3使用数据库的Rails
应用程序537
15.3.1构建基本应用程序538
15.3.2完成应用程序546
15.3.3修改数据库550
15.3.4布局和样式表552
15.4采用Ajax技术的Rails553
15.4.1初始的表单文档554
15.4.2触发Ajax556
15.4.3控制器558
15.5本章小结560
15.6复习题561
15.7练习题561
附录AJava简介563
附录B颜色名及其十六进制值577
附录CJavaApplet581
基础知识
随着万维网的出现,工业化国家的绝大部分居民和非工业化国家的一部分居民的生活已经发生了永久性的变化。
虽然万维网也带来了一些负面影响——例如,访问色情信息和参与赌博变得更容易了,有害思想的传播也有了更便捷的通道——但是,万维网带来的巨大影响总体上是正面的。
很多人都在日常生活中使用Internet和万维网,包括通过E-mail和社交网站来联系亲朋好友和商业伙伴,在任何地方都几乎可以购买任何商品,搜索无数的各种各样的信息,这些信息包括从电影院的放映时间表到几乎全球所有城市宾馆的住宿价格,甚至还包含一些偏远少数民族的历史文化特色。
创建用于提供所有这些信息的软件和数据需要用到几种不同的技术,如标记语言和元标记语言,以及利用多种不同编程语言的编程技术,其中有一些是专门针对万维网的,另一些则是专为通用计算而设计的。
为了能够获取构建万维网站点所需的知识和技术,本书提供了必要的背景和基础知识,使构建的万维网站点不仅可以呈现用户所需的信息,还能发布商业广告。
本章是本书其余章节的基础。
首先介绍Internet和万维网的一部分发展历史。
接下来将讨论Web浏览器和服务器的作用和一些特征。
然后将描述统一资源定位符(UniformResourceLocator,URL),URL为Web中的可用资源指定了地址。
接下来将介绍多用途网际邮件扩充协议(MultipurposeInternetMailExtension,MIME),它定义具有不同类型内容的文件的文件类型和文件扩展名。
此后将讨论超文本传输协议(HypertextTransferProtocol,HTTP),它提供了浏览器和Web服务器之间连接的通信接口。
本章最后将简单介绍Web程序员常用的一些工具,包括XHTML、XML、JavaScript、Flash、Servlet、JSP、JSF、ASP.NET、PHP、Ruby、Rails以及Ajax。
所有这些工具都将在本书的后续章节中详细介绍(第2章和第3章将讨论XHTML;
第4章、第5章和第6章将讨论JavaScript;
第7章将讨论XML;
第8章将讨论Flash;
第9章将讨论PHP;
第10章将讨论Ajax;
第11章将讨论Servlet、JSP和JSF;
第14、15章将讨论Ruby;
第15章将讨论Rails)。
1.1Internet简介
本书讨论的所有主题都与Internet有关。
因此,首先简单讨论一下Internet本身。
1.1.1起源
20世纪60年代,美国国防部(DepartmentofDefense,DoD)开始对开发一些新的大规模计算机网络产生兴趣。
开发这样的一个网络,其目的在于为从事与国防相关合同项目的研究人员提供通信、程序共享和远程计算机访问等功能。
这种网络的一个基本要求是必须足够可靠,即使当其中的某些节点由于破坏、战争和其他正常原因而失去作用后,整个网络还可以继续运行。
DoD的高级研究计划局(AdvancedResearchP