第1章参考答案 ....................................................................................................................... 1
第2章参考答案 ....................................................................................................................... 3
第3章参考答案 ....................................................................................................................... 5
第4章参考答案 ....................................................................................................................... 5
第5章参考答案 ....................................................................................................................... 6
第6章参考答案 ....................................................................................................................... 7
第7章参考答案 ..................................................................................................................... 10
第8章参考答案 ..................................................................................................................... 10
第9章参考答案 ..................................................................................................................... 10
第10章参考答案 ................................................................................................................... 11
第11章参考答案 ................................................................................................................... 13
第12章参考答案 ................................................................................................................... 15
第13章参考答案 ................................................................................................................... 16
第14章参考答案 ................................................................................................................... 17
第15章参考答案 ................................................................................................................... 17
定义标题。# 表示标题的层次(较小的数字标记较重要的
标题),text 表示标题的文本
标记文档主体中两个段落之间的间隔
把图像插入到文档中,其中scr属性给出图像地址
定义超文本链接属性,并将结果返回给用户浏览器
放置一个横穿浏览器窗口的水平线
标志一个作为邮递地址或电子邮件地址的文本块
在文本中强制换行
定义表格
定义表单
定义表单的输入域,如单行文本框、按钮、单选按钮、复
选框、
隐藏域
定义表单的多行文本框
9.HTML表单的几种常用控件分别是什么?
答:HTML表单的常用控件有:单行文本框、多行文本框、命令按钮、单选按钮、复选
4
框、下拉列表框、隐藏域等。
10.Dreamweaver MX 2004拥有哪些新功能?
答:Dreamweaver MX 2004拥有如下新功能:
(1)简洁高效的设计和开发界面。
(2)“插入”栏的改进。
(3)用户界面改进。
(4)起始页。
(5)保存桌面选项。
(6)完全支持 Unicode。
(7)安全 FTP:使用户能够完全加密所有文件传输。
(8)新式的页面布局和设计环境。
(9)增强的 CSS 功能。
(10)动态跨浏览器验证。
11.如何定义Dreamweaver的本地站点?
答:参见教材P30-P33(2.6.2小节)。
第3章参考答案
习题3
选择题
1、CDE 8、C
2、A 9、D
3、D 10、A
4、B 11、B
5、A 12、B
6、B 13、A
7、B 14、C
第4章参考答案
实验4
1、参考相关Linux版本软件的说明来安装(略)
2、参见4.2节
3、参见4.3节
习题4
1、参见4.1节P72
15、A
16、B
17、C
18、D
19、C
20、E
5
2、参见P74-75
3、在Windows的DOS提示符下,执行ipconfig /all命令,可以查看本机的IP地址等信息
4、127.0.0.1称为本地回环地址,主要作用有两个:一是测试本机的网络配置,能PING通
127.0.0.1,说明本机的网卡和IP协议安装都没有问题;另一个作用是某些SERVER/CLIENT
的应用程序在运行时需调用服务器上的资源,一般要指定SERVER的IP地址,但当该程序
要在同一台机器上运行而没有别的SERVER时就可以把SERVER的资源装在本机,SERVER
的IP地址设为127.0.0.1也同样可以运行。
5、在Windows下,构建PHP运行环境的的方法有两种:一种是IIS+PHP;另一种是
Apache+PHP。而在Linux环境下,构建PHP运行环境的的方法有一种:Apache+PHP。
6、Apache是Web服务器软件,PHP是一种服务器端脚本解释语言,必须在Apache运行后
才能执行,可由Apache将PHP作为其自身的一个子进程模块来运行,也可以作为外部进程,
由Apache调用外部进程PHP,来解释PHP程序。
MySQL是数据库服务器软件,无需Apache和PHP的运行支持环境。但是,为了让PHP
程序能够访问MySQL数据库,需要在PHP的配置文件中装载MySQL解释模块。
7、要让Apache能够执行PHP程序,修改Apache的配置文件。Windows环境的
文件内容增加以下指令(CGI方式):
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/"
或者以Apache模块方式安装PHP, 文件增加以下指令:
LoadModule php5_module "c:/php/"
AddType application/x-httpd-php .php
在Windows环境下,要让PHP程序能够访问MySQL数据库,需要修改PHP的配置文
件,增加以下指令:
extension=php_
8、 要让Apache能处理扩展名为.php5、phtml的程序,在Apache的配置文件中
增加以下命令:
AddType application/x-httpd-php .php5 .phtml
第5章参考答案
习题5
1、在HTML文档中嵌入PHP代码的常用方法有三种:
(1) 。。。。。?>
(2)
(3)
2、PHP 5支持整数、浮点数、布尔数、字符串、数组和对象等数据类型。
3、利用表单传送数据给服务器时,需要将表单的action属性值设置为服务器端的某一个程
序,如PHP、ASP、JSP程序。
4、PHP的流程控制结构有分支结构、循环结构、顺序结构。分支结构的语句有if语句、switch
语句;循环结构的语句有while语句、for语句、do … while语句。
5、break语句在循环语句中的作用是退出当前层循环。continue语句在循环中的作用是跳
过当前循环体的后续语句,进入下一轮循环。
6、PHP函数的参数传递方式有三种:按值传递参数、引用传递和默认值参数。采用按值传
递参数时,函数内部改变参数的值,不影响函数外相应的实际变量值。采用引用传递方式时,
由于传递的是实际变量的地址给参数,因此函数内改变了参数的值,会影响相应的实际变量
的值。默认值参数用来指定参数的默认值,当调用时没给出默认值参数的实际数据,则使用
默认值作用该参数的值。
第6章参考答案
习题6
1、一个面向对象的应用程序实际上就是由一系列的相关对象所构成的。对象是封装了相应
属性(Property)与方法(Method)的实体(Entity)。其中,属性描述了对象的静态特征,
即对象的数据或状态;而方法则描述了对象的动态行为,即对象所能执行的功能或操作。应
用程序中各对象之间的联系是通过传递消息(Message)来实现的。如果要让对象执行某个
操作,那么就必须向其发送一个消息;待对象接收到消息后,便可调用相应的方法去执行指
定的操作。
面向对象编程的主要特征是封装性、继承性、多态性。
2、在PHP中,使用关键字class创建一个类。类的创建格式为:
class classname
{
//属性定义
var $propertyname_1;
var $propertyname_2;
...
var $propertyname_n;
//方法定义
function methodname_1(...)
{...}
function methodname_2(...)
{...}
...
function methodname_m(...)
{...}
}
7
3、创建对象通常又称为实例化一个类,在PHP中需使用关键字new来实现,其基本格式为:
$objectname=new classname;
其中,objectname为对象名,classname为类名。
4、访问对象的属性与方法,需使用“->”运算符,其基本格式为:
$objectname->propertyname
$objectname->methodname(...)
5、构造函数是类中的一个特殊方法,在创建对象时被自动地调用。在PHP5中,构造函数的
名称则是固定的,即必须为__construct。构造函数的定义格式为:
function __construct(参数表)
{
语句组
}
6、析构函数是在销毁对象时被自动调用的函数。通常,可在析构函数中执行一些在销毁对
象前所必需完成的操作。在PHP5中,则可以使用析构函数,且其名称是固定的,即必须为
__destruct。析构函数的定义格式为:
function __destruct(参数表)
{
语句组
}
7、在PHP5中使用访问控制关键字public、private与protected,控制类属性的访问范围。
使用关键字public所声明的属性,可以在类的内部与外部进行访问,也可以被继承。
这是类属性的默认访问方式。使用关键字private所声明的属性是私有的,只能在类的内部
进行访问;而使用关键字protected所声明的属性则是保护的,只能在类的内部及其子类中
进行访问。
8、在类中创建方法时,若在关键字function前未使用其他任何关键字,则该方法是公共的,
可在类的内部与外部直接进行调用。在PHP5中可以使用public、private与protected访
问控制关键字,控制类方法的访问范围。类方法的访问控制与类属性的访问控制是相似的。
9、继承是面向对象编程的主要特征之一。在PHP中,只支持单重继承,即一个子类只能有
一个父类。通过继承而生成的子类,将自动拥有父类的有关属性与方法,还可声明新属性或
定义新方法。
类的继承使用关键字extends来定义,其基本格式为:
class childclassname extends parentclassname
{
//新属性
var|public|private|protected $newpropertyname_1;
var|public|private|protected $newpropertyname_2;
...
var|public|private|protected $newpropertyname_n;
//新方法
[public|private|protected] function newmethodname_1(...)
{...}
[public|private|protected] function newmethodname_2(...)
{...}
...
8
[public|private|protected] function newmethodname_m(...)
{...}
}
10. 在PHP中,如何实现方法的重载?
10、方法的重载,是指在子类中重新定义父类中的同名方法。方法的重载体现了面向对象编
程的多态性特征。
11. 在PHP中,如何实现对象的克隆?
11、对象的克隆是指为已存在的对象建立副本。为了实现此类应用,PHP5提供了一个特殊
的克隆函数__clone()。在默认情况下,在克隆对象时将建立一个与原对象具有相同属性与
方法的对象。
12、对象的串行化是指将对象转化为一个字符串。对象的反串行化是指将对象的串行化字符
串重新还原为原来的对象。
在PHP中使用serialize()函数,将对象名串行化,返回值为指定对象被串行化后的字
符串。使用unserialize()函数来实现对象的反串行化,其参数为某对象的串行化字符串,
返回值为重新组织好的对象。
13、类的静态成员包括类的静态属性与静态方法。与一般的类成员不同,类的静态成员与对
象(类的实例)无关,而只与类本身有关。静态成员类似于全局变量,由该类的所有实例共
享;而静态方法则类似于全局函数,无需创建该类的实例即可直接进行调用。
在PHP中,静态成员是使用关键字static来进行声明的。对于静态成员,其访问方式
也与一般的类成员不同。
在类的内部,静态成员应通过特殊类self来进行访问,其基本格式为:
self::$propertyname
self::methodname(...)
在类的外部,静态成员则应通用类名来进行访问,其基本格式为:
classname::$propertyname
classname::methodname(...)
14、抽象方法是指使用关键字abstract定义的尚未实现(即没有任何代码)且无任何参数
的以分号“;”结束的方法。抽象类则是指使用关键字abstract定义的包含有一个或多个抽
象方法的类。
抽象类是不能被实例化的,但允许被继承。通过继承抽象类,可以生成相应的子类,并
在其中全部或部分实现有关的抽象方法。抽象方法被实现后便成为一般的方法,而抽象类中
所有的抽象方法均被实现后便成为一般的可被实例化的类。通常,可将抽象类作为其子类的
模板来看待,而其所包含的抽象方法则可作为相应的一般方法的占位符来看待。
15、在PHP5中,接口相当于一种特殊的抽象类,即只有一个抽象方法而无其他任何内容的
抽象类。但与抽象类的定义不同,接口是使用关键字interface来进行定义的。
定义了接口后,即可在创建类时使用关键字implements实现接口,并在类中为各方法
编写具体的功能代码。
16、__call()函数是PHP5所提供的一个特殊函数,可在调用不存在的方法时自动地被调用,
通常用于输出相应的错误信息。该函数有两个参数,其中第一个参数用于接收相应的方法名,
第二个参数用于接收相应的参数数组。
17、__autoload()函数是PHP5的一个特殊的预定义全局函数,其功能就是自动加载所需要
的类。该函数只有一个参数,用于接收由系统自动传递的类名。
9
第7章参考答案
习题7
1、date()和getdate()函数的返回值类型不同。date()函数的返回值是将当前时间按照给定的
格式串要求而产生的字符串。getdate()函数的返回值是当前时间的包含有日期和时间信息
的数组。
2、abefcdedefcd
3、
[Ss][Tt][Uu][Dd][Ee][Nn][Tt]_[Aa][Bb][Cc].
第8章参考答案
习题8
1、MySQL是一个多用户、多线程数据库服务器,是一个客户机/服务器结构的数据库系
统,它由一个服务器守护程序mysqld和多个不同的客户程序(mysql)和库组成。
2、MySQL支持大量的字段类型,它可以被分为3类:数字类型、日期和时间类型以及字符
串类型。各种类型的存储大小和范围参见教材P168-170的表8.2、表8.3、表8.4。
3、
mysql> grant all privileges on db to John "℅" identified by "abc";
4、Create Table命令建立一个新表的结构,Alter Table命令更改已存在的表的定义(如
修改列名、新增列、删除列、修改列的宽度等)。
第9章参考答案
习题9
1、在PHP中,MySQL数据库编程的基本步骤如下:
(1)建立与MySQL数据库服务器的连接。
(2)选择要对其进行操作的数据库。
(3)执行相应的数据库操作,包括记录的检索、增加、修改、删除等。
(4)关闭与MySQL数据库服务器的连接。
10
2、在PHP中,使用mysql_connect()函数,建立与MySQL数据库服务器的连接。语法格式
为:mysql_connect([server[,username[,password]]])
其中参数server为MySQL数据库服务器名称;username为用户名;password为密码。返回
值为一个对应的连接标识号。
3、在PHP中,使用mysql_connect()函数关闭与MySQL数据库服务器的连接,其语法格式
为:mysql_close([link_identifier])
其中可选参数link_identifier为连接标识号。
4、选择数据库的函数为:mysql_select_db(database_name[,link_identifier])
参数database_name为要打开的数据库名,link_identifier为连接标识号。
5、首先构造SQL操作命令(查询、插入、删除、更新等)字符串,然后通过mysql_query()
函数,将SQL操作命令发送到MySQL数据库服务器,再由MySQL数据库管理系统执行收到的
SQL命令,返回操作结果信息。mysql_query()函数格式为:
mysql_query(query_statement[, link_identifier])
其中参数query_statement为要执行的SQL命令字符串。
6、使用mysqli函数库访问MySQL数据库的基本方法有两种:
(1)面向过程方法:与使用mysql函数库访问方法相似(参见第1题),只是函数名不是以
mysql开头,而是以mysqli开头。
(2)面向对象方法:
a. 创建mysqli类对象。
$link=new mysqli("服务器名","用户名","密码");
b. 选择数据库。$link->select_db("数据库名");
c. 执行SQL命令。$link->query("SQL命令串");
若为查询操作,应把函数值存入一个结果集变量中,如
$rs=$link->query("SELECT …");
然后对结果集$rs的每个记录进行操作。
d. 关闭与MySQL服务器的连接。$link->close()。
第10章参考答案
习题10
1、header()函数的功能是用来向浏览器发送HTTP 头部信息。该函数的主要应用有:
重定向网页、向浏览器发送非HTML文档的内容、显示“文件下载”对话框等,参见教材的
例10.1~例10.8。
2、常见的MIME类型见教材P223表10.1。
3、认证(Authentication)是用户使用系统前对其身份进行验证的过程。授权是对认
证通过的合法用户赋予适当的操作权限。用户认证分为HTTP基本认证和摘要认证。而HTTP
基本认证又分为基于Apache服务器的基本认证、基于PHP的基本认证、基于数据库的基本
认证和基于IP地址的基本认证。
4、HTTP基本认证由Web服务器程序验证用户提供的用户身份凭证是否被接受,如果
11
用户凭证被接受,那么用户就可以访问受保护的任何页面。HTTP基本认证的过程如下:
(1)客户端浏览器向服务器请求一个受保护的网页。
(2)服务器向浏览器发送“401 Unauthorized”响应消息,从而在用户浏览器上显示
输入网络密码对话框。
(3)用户提供了身份凭证后,再次通过GET方法向服务器发送HTTP请求。
(4)服务器收到浏览器发送的第2次请求后,解析认证信息,验证用户名和密码。如
果验证通过,就向浏览器发送所请求的资源。
5、HTTP基本认证的实现可分为基于Apache服务器的基本认证、基于PHP的基本认证、
基于数据库的基本认证和基于IP地址的基本认证。
6、在HTTP基本认证中,PHP常量$_SERVER['PHP_AUTH_USER']、$_SERVER['PHP_AUTH_PW']
分别存放用户输入的用户名和密码。
7、Apache摘要认证采用MD5算法将用户密码添加到加密的摘要中,其安全性比基本认
证更加安全。
Apache的摘要认证由mod_auth_digest模块来实现。摘要认证的实现原理如下:
(1)浏览器发送要求认证的URL请求。
(2)服务器向浏览器发送401 Unauthorized错误信息,以及WWW-Authenticate: Digest
认证标头进行响应。
(3)浏览器上显示一个对话框,输入用户名和密码后,向服务器发送授权请求。
(4)服务器收到授权请求后,使用明文的用户名在口令文件中查找所存储的“用户名:
域:摘要散列值”。服务器根据这些信息使用相同的算法重新计算摘要,如果由客户发送的
摘要与服务器计算得到的摘要相匹配,那么用户认证通过。
8、基本认证和摘要认证的不同之处在于:基本认证中,浏览器向服务器发送的认证消
息是明文的,采用base64编码,容易被窃取,而摘要认证中,浏览器向服务器发送的认证
消息是采用MD5算法加密过的摘要信息,无法在网络中窃取密码信息。因此,摘要认证比基
本认证更安全。
9、Cookie是Web服务器通过其页面的程序写到浏览器所在计算机硬盘上的一个数据文
件。Cookie的主要用途是存储用户已经在一个Web站点上访问了哪些页面、最后访问时间、
访问站点的次数以及用户输入的信息等。
使用Cookie也存在着一些限制:
(1)Cookie主要用来存储少量的数据,不能用来保存大量数据。
(2)每个网站最多保存20个Cookie。
(3)用户可以设置浏览器,拒绝接受Cookie。
10、临时性Cookie是Cookie信息保存到关闭浏览器为止。当用户关闭浏览器结束会话
过程之后自动清除临时性Cookie。永久性Cookie将信息保存在用户计算机的文本文件中,
当用户关闭浏览器后,这些信息仍然保存计算机硬盘中。
11、用setcookie()函数设置永久性Cookie时,必须要指定有效时间。
12、Session是在服务器端保存的与用户交互相关的变量和信息,其中的变量称为会话
变量,记录有关浏览器会话的信息。Session数据存放在服务器。
13、Session和Cookie之间的区别是信息存放的位置不同,Session信息存放在服务器,
Cookie信息存放在浏览器所在的计算机中。
14、会话中的所有信息保存到服务器共享内存、会话文件或者数据库。默认情况下,
Session数据存放在共享内存中
15、会话文件内容由多个会话变量字符串组成,每个字符串又由会话变量名、类型符和
值三部分组成,会话变量字符串之间用分号隔开,格式为:
12
会话变量名|类型符:值
16、创建自定义会话处理程序,需要遵循以下原则:
(1)必须定义以下6个会话处理函数,每个函数满足PHP的一个会话处理功能。另外,
不管函数体是否使用参数,在函数定义中必须有相应的参数定义。
(2)利用PHP的session_module_name()函数将会话存储方式设置为“user”,设置会
话存储为用户方式,这样就可以由程序员自定义会话存储的媒体,如数据库、文本文件等。
17、在默认情况下,PHP的会话的生命周期是1440秒(即24分钟)。
第11章参考答案
习题11
1、XML即可扩展标记语言(eXtensible Markup Language)。XML主要具有以下特点:可扩
展性、数据及其显示相分离、具有极强的平台独立性等。
2、一个完整的XML文档通常都包含有声明与主体两个部分。XML声明为:
XML文档的主体实际上就是一个XML元素,称为根元素。在根元素中包含其他有关元素,
称为根元素的子元素。还可以在子元素中再包含其他的子元素。
3、在XML中使用标记时,应遵循以下规则:
(1)标记必须以“<”开始、以“>”结束。
(2)标记名必须以字母或下划线(_)开头,后面的字符可以是字母、数字、下划线(_)、
短横线(-)或小圆点(.)。
(3)标记名中不能包含有空格。
4、XML声明以“”结束,其语法格式为:
version属性指定XML的版本号,设置为“1.0”。
Encoding属性指定当前文档所使用的编码字符集,如GB2312、BIG5。
Standalone属性指定当前文档是否为一个独立的文档(即是否需要引用其他外部文档)。若
其值设为“yes”,则为独立文档(即无需引用其他文档);若其值设为“no”,则为非独立文
档(即可能要引用其他文档)。
5、XML中元素的使用:一个XML元素以起始标记开始、以结束标记终止,而元素的内容
则置于起始标记与结束标记之间。
6、XML中属性的使用:属性依附于元素。在XML的起始标记中也可以包含有一个或
多个属性,且各个属性均以空格分隔开,而每个属性则是以等号(=)分隔的属性名与属性
值对。
7、XML注释的使用:注释以“”结束,其语法格式为:
8、XML中预定义的五个字符实体如下:
实体引用
字符
13
&
<
>
'
"
&
<
>
'
"
引用实体时,应以“&”开始,并以“;”结束。
9、XML中CDATA段的使用:
CDATA段的语法格式为:
文本内容
]]>
CDATA段以“”结束,二者之间则为相应的文本内容。其
中,“CDATA”必须为大写形式。
10、一个DTD实际上就是一类XML文档的结构定义或构成规则,声明了在该类文档中所
能包含的元素、属性、实体及其相互之间的关系。
通过DTD,可严格规定以其作为蓝本所创建的所有XML实例文档的树状层次结构的全
部细节。DTD有内部DTD与外部DTD之分。
11、DTD的声明:
(1)内部DTD的声明
在XML文档中,声明内部DTD的语法格式为:
DTD的具体定义
]>
(2)外部DTD的声明
外部DTD以扩展名为“.DTD”的单独文件的形式而存在。
a. 私有DTD的声明
b. 公共DTD的声明
12、在DTD的元素是使用ELEMENT关键字(大写形式)来进行声明的,其基本格式
为:
其中,element_name为元素的名称,实际上是一个合法的标记名;content_model为元素的
内容模型,可根据实际情况指定为不同的类型——EMPTY型、ANY型、#PCDATA型、子
元素型或混合型。
13、在DTD元素的属性是使用ATTLIST关键字(大写形式)来进行声明的,其基本格式为:
attribute_name_1 attribute_type default_set
attribute_name_2 attribute_type default_set
...
attribute_name_n attribute_type default_set>
其中,element_name为元素的名称,attribute_name_1 ~ attribute_name_n为元素各属性的名
14
称,attribute_type与default_set则为相应属性的类型与默认设置。
14、在DTD中,实体(Entity)是使用“ENTITY”关键字(大写形式)来进行声明的。实
体被声明后,即可通过实体引用应用于DTD或XML文档中。
15、 在DTD中,符号(Notation)是使用NOTATION关键字(大写形式)来进行声明的,
其格式为:
其中,name为符号名称,systemId与publicId为与符号名称相关联的公共标识符与者
系统标识符。
16. 在DTD中注释声明格式为:
实际上,该格式与在XML文档中添加注释的格式是一样的。但应该注意的是,注释不
能插入到声明之中,而必须放置于声明之外。如以下示例:
第12章参考答案
习题12
1、PHP 5处理XML文档的技术有:SAX解析器、DOM解析器、SimpleXML解析器,XMLReader
类库以及XSL处理函数。
2、XML解析器是一个用来检查XML文档是否格式良好(well-formed)的程序。它通过检查
XML文档的语法,验证XML文档结构是否格式良好。XML解析器分为基于事件驱动的XML
解析器和基于树的XML解析器。
3、SAX(Simple API for XML,XML简单应用程序接口)解析器是事件驱动的、无有效性检
验的XML解析器。SAX解析器的工作原理是:SAX解析器顺序扫描XML文档,扫描到元素的
开始标签、结束标签等地方时产生事件,由指定的处理函数(handler)完成相应的处理,然
后继续扫描其后的内容,直到XML文档结束。
4、DOM解析器就是一种基于树的XML解析器。DOM解析器读取XML文档,并划分为各种对象,
例如,元素、属性和注解。DOM为XML文档的每个元素创建一个树型结构,并在内存中保存
其树型结构。
5、SimpleXML解析器也是一种基于树的XML解析器,它将XML文档转换为一个可以用属性
和数组来处理的SimpleXMLElement对象,把文档的元素看作是对象的属性或者属性数组。
通过对SimpleXMLElement对象的属性进行操作,进而完成对XML文档的相应元素的操作。
因此SimpleXML是一种简单、易用的XML解析器。
6、DOM使用基于树的方法来解释XML文档,DOM将整个XML文档读取到内存,转换为树结构,
15
从而可以方便地进行查找、插入和删除元素等操作。不过,DOM需要占用大量的内存,适合
处理较小的XML文档。而SAX解析器没有把整个XML文档装入到内存,所以它不能随机读取
文档的任何一个元素。此外,SAX解析器是按顺序处理XML文档的。
7、DOM解析器和SimpleXML解释器都是基于树的XML解析器。但两者有差别,DOM解析器
将XML文档的各个元素划分为对象,而SimpleXML解析器将XML文档的元素看作是对象的属
性或者属性数组。
第13章参考答案
习题13
1、Web服务是一个运行于Web服务器上的应用程序,用于实现互联网上两个WEB应用程序
之间进行数据传递。
2、RPC(远程过程调用) 是一个标准编程接口,它采用客户/服务器模式,调用程序(称为客
户)通过网络,将消息传输给服务器的方法或者过程,执行过程,返回结果给调用程序,客
户端调用程序接收响应信息,获得结果,然后调用程序执行继续进行。
实现远程过程调用的常用两种通信协议是XML-RPC和SOAP是两个最流行的RPC协议。
3、XML-RPC和SOAP协议的相同点是在HTTP协议层之上传递RPC消息的协议,两者都能通
过防火墙传递消息。不同之处:XML-RPC的初始化工作比SOAP更简单,XML-RPC产生的请求
和响应信息比SOAP更小,解析时间更短;而SOAP允许用Schema定义用户自定义类型,SOAP
得到IBM、微软等许多大公司的支持。
4、XML-RPC协议的工作原理:XML-RPC使用HTTP作为传输协议,XML为传送信息的编码格
式。客户端将XML-RPC请求编码为XML格式,发出HTTP POST请求,将请求消息传输给服务
器。HTTP POST请求告诉服务器,客户端准备好传输数据。服务器调用请求的方法,并传递
参数给该方法。服务器上的方法返回一个响应,服务器将响应编码为XML格式,并将XML
格式的响应返回给客户端。客户端解析XML包,获取返回的值,远程方法返回的值称为服务
器响应。XML-RPC的体系结构如图所示。
5、SOAP协议的工作原理:简单对象访问协议(SOAP)是基于XML的文本协议,它允许应用
程序在互联网上共享数据,或者访问Web服务。这是一个以XML为基础的简单协议,允许应
用程序在HTTP协议上来回地发送消息(请求和应答)。SOAP规定了XML消息所使用的格式、
XML消息的处理方法、一组应用程序定义的数据类型编码规则、以及表示远程过程调用请求
和应答的约定。
6、SOAP消息是由一个必需的SOAP信封、一个可选的SOAP消息头和一个必需的SOAP
消息体组成的XML文档。
7、WSDL是一个用于描述Web服务所提供的方法、以及这些方法的访问方式的XML文档。在
一个WSDL文档中,所有的参数和Web服务的方法名称都有详细的说明,WSDL协议的作用是
16
指定了Web服务的位置、绑定的传输协议等。利用WSDL,可以生成具体的Web服务所必需
的有效SOAP消息,并且该SOAP消息也被发送到该Web服务。
一个WSDL文档是由types元素、message元素、portType元素、binding元素、service
元素等5个元素组成的XML文档。
第14章参考答案
习题14
1、WDDX,英文全称为Web Distributed Data Exchange(Web分布式数据交换),是一种基
于XML的Web分布式数据交换技术。应用WDDX,不同的Web系统之间可以方便地进行跨语
言、跨系统、跨平台的复杂数据的交换与共享,
2、WDDX基于XML 1.0版本,使用HTTP协议,在Web应用程序之间进行数据传输。利用串
行化和反串行化函数,将本地数据串行化为WDDX包格式和将WDDX包格式的数据反串行化为
本地数据类型的过程,如图14.1所示。
3、WDDX的数据类型有:number、dateTime、string、array、struct、recordset、null
等7种类型。
4、wddx_serialize_vars()函数创建一个含有结构的WDDX包,该结构中包括传递给函数的
变量的串行化数据元素。返回值是一个WDDX包字符串。
wddx_serialize_value()函数创建一个含有一个值的WDDX包。返回值是一个表示WDDX
包的字符串。
5、利用wddx_deserialize(string packet)函数将WDDX包反串化为PHP的本地数据。返回
值可以是字符串、数值或数组。
第15章参考答案
习题15
1.利用DOM、SAX和SimpleXML解析器来解析数据库的数据时,应该将数据库表的
字符编码设置为UTF8编码,才能正确处理汉字。
2.例15.6中,xmltomysql()方法是将输入参数$inputfile表示的XML文档内容导入到
MySQL数据库中,在XML文档中,元素存放数据库名;每个元素存放了一个表的结构和所有记录,
元素的子元素存放表的结构定义,子元素存放一条记录内容。
17
mysqltoxml()方法是将MySQL数据库的所有表的结构和记录内容导出到一个XML文档。
18
本文标签:
文档
服务器
方法
属性
元素
发表评论