《网站设计与Web应用开发技术习题答案.doc》由会员分享,可在线阅读,更多相关《网站设计与Web应用开发技术习题答案.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、各章习题参考答案第1章 习题参考答案1. 答:Internet是一个宽泛的概念,WWW实际上Internet所提供的众多服务中的一项。由于很多人上网主要浏览网站,很多初学者容易混淆这两个概念。2. 答:统一资源定位符(URL)用于定位某个资源,由于Internent的复杂性,其提供的服务及传输协议有很多种,为了能区分,URL中必须进行说明,此处的http就是为了说明该请求属于超文本传输协议;URL的概念比较宽泛,http只是其中的一种传输协议,也可能出现别的情况,比如ftp等。而www则是所请求服务器的域名,有些服务器的域名中就不包含www。3. 答:其实技术是没有好坏之分的,关键在于是否适合
2、你所应用的环境以及你是否能掌握。一味的求新、求好是没有经验的开发者所采取的行动。我们不应该单纯追求技术的先进性,而要追求有效和实用,当你要实现一个方案时,要分析项目的性质及最终用户,然后再寻找能解决问题的最经济、最实用也能满足用户需要的手段。因为用户并不关心你采用多么先进的技术,用户关心的是可靠(Reliable)、快速(Rapid)、方便(Convenient)。4. 答:可以根据上文提供的基本原则,进行区分。不过有些网站不能截然的划分成其中的某一种。平时上网时多观察,多思考,对于提高自己的能力有很大的帮助。第2章 习题参考答案1. 答:可以简单的通过两个方式进行判断:(1) 查看 “管理工
3、具”下是否有“Internet信息服务(IIS)管理器”,通过查看可以获知;(2) 直接在浏览器中输入“http:/127.0.0.1”,看是否能看到有关信息。2. 答:一般来说,这样就可以使用了,不过使用默认的配置可能会在将来出现问题。因此,通常我们需要进一步对网站进行配置。根据实际需要,一般来说,网站的安全性配置和网站的性能配置是需要修改的。3. 答:按照目前官方网站的说法,目前的Apache2完全能够替代Apache1了,从下面的网页http:/httpd.apache.org/docs-2.0/new_features_2_0.html,大家可以清楚的了解Apache2对于Apache
4、1.x版本所作的改进之处。第3章 习题参考答案1. 答:完全可以,但不是在浏览器的地址栏里输入,我们需要首先通过80端口(有些Web服务器可能不使用这个端口)登录到服务器,例如使用dos命令:telnet www.aS 80然后,在下面的界面上(什么都看不见,也不回显)输入类似于以下的信息:GET HTTP/1.1Host:80Accept:*/*Pragma:no-cacheCache-Control:no-cache最后输入2次回车即可。如果所请求的是一个HTML格式的文件,在dos窗口中可以看到服务器返回的HTML文件的内容。读者也可以采取其它一些交互工具,以避免dos窗口不回显输入的文
5、本而带来的使用不便。2. 答:HTML较SGML相比更为简单,因而易于掌握;HTML使用了公开的体系结构;HTML只使用SGML中很小一部分标记,例如HTML3.2中定义了70种标记;HTML的标签是固定的。因此HTML仍是在Web上快速出版最简单的方法。3. 答:首先,文件的后缀名只是告诉操作系统,这个文件的内容属于什么类型的,如果希望能双击打开,一定要具有正确的后缀名,因为操作系统依赖后缀名来判断使用什么软件打开相应的文件。读者可以在Windows操作系统的“控制面板”下的“文件夹选项”中看到“文件类型”的选项卡,在这里可以查看和修改不同文件扩展名(即文件的后缀名)所对应的打开方式;从这个
6、列表中我们可以看见后缀名为:HTM、HTML和PLG三种均会默认启动IE来打开。因此,如果我们将文件名修改为上述三种中的任何一种都是有效的。此外,如果我们将文件保存成任意类型的,如*.HT,那么通过将文件拖放到浏览器窗口的方式也可以打开,不过IE会显示其源码,而Firefox浏览器却可以正常显示。4. 答:对属性的设置是不分先后的,也就是说先后无关。这个例子其实说明了我们在学习HTML过程中一个很好的方法,即自己编写简单的代码再进行测试。如果读者对于一些规定或语法觉得不理解或者存在疑惑,那么完全可以通过一个简单的实例来验证。对于这个例子,读者完全可以将上面例子做一个修改,再看运行的结果就可以自
7、行得到正确的答案了,结果应该是不变的。本章中的大部分例子,其实都是可以通过这个方式来进行学习和体验的。5. 答:如果按照像素值设置表项的宽度,那么它是不会发生变化的;但如果通过百分比,即x,来设置,那么这种表项就会随着窗口的尺寸变化而变化了。第4章 习题参考答案1. 答:HTML代码块的缩进在显示此网页时并没有任何效果;它在那里和某些编辑器采用彩色编码的HTML来给你显示是出于同一种理由的。作者 (以及大多数编辑)缩进部分代码,这样当有人阅读它时,此文件的结构就更容易理解。浏览器并不顾及它,它们不管在HTML源代码中的任何缩进,所以可以采取任何缩进方式以适合和帮助编著。2. 答:在这种情况下,
8、很多网页作者在首页上放置一个声明,说“本网站在IE下可获得最佳浏览效果”或者效果相同的语句。这个声明中往往包含了一个指向微软和Netscape以用于下载一个兼容的浏览器的链接。这个声明其实是说“如果你希望得到正确的效果,请下载一个合适的浏览器。”3. 答:当然可以,而实际上这样做是非常普遍的。但是,这是有一些规则:首先,作为一种常规,给你要链接的网站的网络管理员发送一个电子邮件,然后询问是否可以链接到此网站和文件。然后,避免直接链接到那个文件。相反,链接到那个链接出现的网页。毕竟,提供文件的网站是在给你做好事(你最起码可以让访问者在他访问此链接之前对此网站的信息有个大致的了解)。而且,如果此网
9、站正在使用侵犯版权的文件(这对于你来说是较难发现的),链接到那个网页而不是那个文件将更好地将你保护起来,免遭盗版的指责。但这样做也存在一个潜在的问题:一旦目标网站的文件出现了变化,如删除,更名或改变路径等时,旧的链接可能失效。4. 答:现在的浏览器并不在乎你是使用大写的、小写的还是混用的。它们对大小写不敏感,即不管哪种情况都有同样的效果。多年以来,在网页编写中的传统是用大写的标记。因为网页的大多数文本的内容很可能是小写的(大写只是用在句子的开头和专有名词),所以大家认为用大写的标签可以帮助作者方便地区分标签和内容。也是这个原因,本书所使用的源码中均为大写的,这样它们就能很容易与周围所写的描述性
10、语句区分。如果使用由应用程序所产生的HTML文件的话,那么最好保持灵活性并且培养自己能以任意一种方式进行工作。实际上,可能会需要想要做和程序相反的事情,使用一个特别的大小写方案将会更容易找出曾经改动过的地方。最后,很可能所有的编码都被要求成小写的。这是因为HTML以后可能被另一个新的标准所代替,在其中标记必须是小写的。第5章 习题参考答案1. 答:对于以下四种方式:内嵌样式、内部样式表、链入外部样式表和导入外表样式表而言,当有多个网页要用到的CSS,采用外连CSS文件的方式(链入外部样式表和导入外表样式表),这样网页的代码大大减少,修改起来非常方便;只在单个网页中使用的CSS,采用文档头部方式
11、;只有在一个网页一、两个地方才用到的CSS,可以考虑使用采用行内插入方式。2. 答:给文字加上不同颜色,在Dreamweaver中只要在属性面板上选取文字的颜色就行了,非常方便,但要给部分文字加不同的背景色却没有相应的功能。为了做到这一点,可以先做一个定义背景色的CSS(如:bgstyle),按照本书中介绍的方法就完成了。如一个定义为淡黄色背景的CSS是这样的:style type=text/css!.bgstyle background: #FFFFCC-/style在要用时选取那段文字,再在CSS面板上点一下“bgstyle”就行了。3. 答:在第四章里我们不是说过的类和伪类的混用可以在同
12、一个页面中做不同的链接效果吗。点击新建样式,在选择符下拉框里,用键盘输入a.link2:link(当然可以先选择a:link,然后更改),如下图:这样就新建立了一个.link2类,然后再为a.link2:link设定样式为:红色,有下划线;根据上面的方法可以继续定义a.link2:visited和a.link2:hover,可定义a.link2:visited为红色有下划线,a.link2:hover为红色无下划线,背景为白色。于是在CSS Styles面板里多了一个名称为link2的自定义样式。最后将此样式应用在某个动态链接上。在保存后用浏览器打开,就可以看到两种完全不同的链接样式。全部CS
13、S代码如下: 4. 答:用CSS可以给某部分内容加边框,在Dreamweaver中CSS的属性定义对话框中的“Border”定义的就是边框线,其中的“top”、“bottom”、“left”和“right”代表的四边可以分别定义为不同粗细和颜色,这些定义好之后再在下面的“Style”中定义线型,否则将看不到边框线,因为默认的线型是“none”。下面是一个定义了上边框为:蓝色细线;左边框为:绿色中粗线的CSS例子:style type=text/css!.style1 border: solid; border-width: thin 0px 0px medium; border-color:
14、#0000FF black black #00FF00-/style第6章 习题参考答案1. 答:从技术上讲,JavaScript是一种解释性编程语言,其源程序(脚本)由浏览器内置的JavaScript解释器动态处理成可执行代码。JavaScript脚本程序通常是事件(网页的某种状态或用户的某种操作和反馈)驱动的,每当浏览器探测到事件发生时,就会自动寻找对应的JavaScript函数来处理。与编译语言不同,JavaScript采用了动态绑定机制:在开始的语法分析阶段,总是忽略对函数与实例名称之引用的有效性检查;而只是在实际执行时,JavaScript解释器才去寻找每个遇到的引用所对应的实际函数
15、或对象实例的地址。这给JavaScript带来了很大的灵活性。2. 答:从本质上看,前面两种方式,即直接添加和使用外部方式是从执行的角度看是没有区别的,但使用外部文件可以做到在各个网页中共享。而在浏览器中直接调用JavaScript则不同,它的调用不是通过事件驱动的,而是用户自行调用的。3. 答:可以利用Math对象,Math主要关于计算的,其中有一个方法round,我们可以利用Math.round(a*100)/100来达到保留两位小数的目的。4. 答:dowhile循环中,循环体至少执行一次;而while循环运行时可能一次也不循环到;而for语句的通用行性最强。5. 答:如果希望访问者能把
16、站点加入到收藏夹里,可以采用下面的代码。首先,在部分加入:然后在部分加入:!-if(document.all!=null)document.write(按我一下,我们就可以常常见面了!);/-6. 答:关闭窗口的操作其实非常简单,只需要使用widnow对象的close()方法即可。在下添加如下的代码: 关闭窗口第7章 习题参考答案1. 答:Java Applet是将编码过的.class下载到客户端,然后通过Java虚拟机(JVM)解释,再在浏览器中显示,这个执行过程是在客户端机器上实现的。前面介绍的其它多种技术,他们都是在服务器端解释运行,并将运行的结果通过HTML编码传送给客户端浏览器,执行
17、的过程是在服务器端完成的,这就是他们最大的区别。2. 答:ASP与ASP.NET只能在微软的平台(Windows系列)中运行,结合目前的技术发展情况,CGI、ISAPI/NSAPI已经逐渐淘汰,所以在Linux平台下可用于WEB开发的动态主页技术主要为PHP和JSP。第8章 习题参考答案1. 答:XML与HTML的差异主要体现在表1所示的几个方面:表1 XML与HTML的差异HTMLXML标签类型有固定的标签无固定的标签,可自定义大小写元素及属性的名称不分大小写元素及属性的名称大小写有别扩展性应用没有扩展性应用具有扩展性客户端Client端比较受限于浏览器Client端可以是任何使用XML p
18、arser的应用程序标签语义标签不包含数据的知识标签在语意上可表示资料的意义开发性有标准规范的封闭性语言可以自订卷标的开放性语言掌握难度较容易学习入门容易,精通难空标签空标签不需要特别的语法空标签需要特别的语法空格用途忽略多余的空格符内容中的空白有意义2. 答:当然能。XML依赖XSL来显示其数据并转换为页面,就像HTML可以用CSS来控制以显示页面一样;XML也支持CSS显示但这不是最好的解决方案,XSL才是最好的解决方案,本书的后面就有实例,读者可以利用这两个实例来比较它们之间的不同。3. 答:学习XML需要首先掌握有关的基本规范,如:DTD、Schema、CSS、XSL等;其次可能要用到
19、javascript。如果要编程处理XML数据还得掌握最少一门脚本语言,如:ASP,perl,java,.C等都,而Java在处理XML时是最容易的,有人这样说XML的出现又把JAVA推上了一个新的应用平台。4. 答:从技术的角度看,HTML存在一定的问题,但XML虽然好却也是存在缺点的,因此,淘汰是绝对不会的。HTML本身是一种强大的语言,XML的推出并不是是为了淘汰HTML的。实际的情况是:XML需要HTML,也希望与HTML长期共存。5. 答:总的来说,AJAX的最大特点表现就是:页面没有刷新,但数据发生了更新。通常我们浏览网页的时候,点击一个链接或是一个按钮以后,浏览器就会离开当前页面,去访问另外一个页面,浏览器此时将刷新页面。但是很多情况下,只需要页面的某一小部分进行刷新,比如看新闻或在论坛中发表了评论,此时实际上只需刷新评论那一小部分就可以了,没有必要使整个页面完全刷新。这时候,AJAX就用能发挥作用了。通过AJAX,将发表的评论发送至服务器,并且储存在数据库中,与此同时,利用JavaScript将评论的文字,输出到页面的相应位置。当然,AJAX的应用还有很多,比如新用户注册时,填写完用户名且输入框失去焦点以后,页面就会提示出此用户名是否已被占用。