《https://www.doczj.com/doc/315284383.html,程序设计》习题答案
尚俊杰
第1章https://www.doczj.com/doc/315284383.html,概述
1.思考题
1.名词解释
静态网页:一般指用超文本标记语言HTML来实现,以htm或html做后缀名的网页文件,这些网页文本中不存在需要服务器段解释的代码;所有人浏览到的同一网页不会有任何区别。
动态网页:所谓动态网页,就是服务器端可以根据客户端的不同请求动态产生网页内容。它根据不同类型的客户端请求生成不同的页面,具有交互性。动态网页是用标准html代码和动态语言(如:asp,jsp,php,https://www.doczj.com/doc/315284383.html,等)编写的。
关于静态动态网页的概念请参照P1.(P1=第1页,下同)
服务器端:在万维网中提供网页服务的一端称为服务器端。
客户端:接受服务的一端称为客户端。
名称空间:所谓名称空间就是将多个提供相似功能的类组成逻辑上相关的一些单元,以便于管理和记忆。例如system.io类包含了用来处理输入输出操作的类。
应用程序:在同一台电脑上,添加了虚拟目录的文件夹就被当成一个独立的网站对待,这个独立的网站就成为一个应用程序。所以用https://www.doczj.com/doc/315284383.html,新建一个应用程序的时候,该软件会自动帮你生成一个文件夹,并且在IIS中添加相应的虚拟目录。
2.搜狐网站的服务器是服务器端,因为它提供网页服务;而小王的电脑就是客户端了
3.小王的电脑既是服务器端又充当了客户端的角色。
4.静态网页和动态网页在客户端看来是除了发送请求是的后缀名外没有其它任何区别,主要是服务器端的区别。静态网页服务器在接收了客户端的请求后直接读取相应的网页文件返回给客户端,而动态网页服务器在接收到了客户端发来的请求后先找到相应文件然后根据相应参数将文件编译成标准的html代码,在返回给客户端。
5.比较asp,php,jsp的优缺点:
asp:优点:简单易学、容易上手;缺点:不能跨平台,速度较慢。
php:优点:免费、开放源代码;缺点:缺乏大公司的支持。
jsp:优点:跨平台;缺点:复杂难学。
6.简述https://www.doczj.com/doc/315284383.html,的优点:效率增强,开发简单,移植方便等。详见P6-P
7.
7.在资源管理器中可以直接打开以html做后缀名的静态网页文件,但是却不能打开https://www.doczj.com/doc/315284383.html,这种动态网页文件,因为这些文件只有经过服务器端的解释才能正确显示。
8.这种改动是可以的,因为https://www.doczj.com/doc/315284383.html,全面兼容一般的html标示符,但这是没有必要的,因为会浪费服务器资源来动态解释这个静态文件。
9.可以,因为这种访问方式相当于访问本电脑外网页服务器。
10.建一个新网站,首先在适当的地方建一个新文件夹,然后给这个文件夹添加相应的虚拟目录,最后在开始在该文件夹下编写网页程序。
2. 选择题
1.C 因为https://www.doczj.com/doc/315284383.html,文件下找不到1-1.aspx。请参考P12.
2.A 因为localhost已经代表了C:\Inetpub\wwwroot。请参考P12.
3.D 因为localhost,127.0.0.1,你的计算机名都是相对的,每个人都指向自己电脑的IP,通过本机外的任何电脑访问都只有用真实的IP地址。
3. 上机练习题
1.略。
2.略。(https://www.doczj.com/doc/315284383.html,)
3.略。
4.略。请参考P13-P16
5.不一定非要这样。在IIS的设置中有一项就是设定主目录的,它可以指向本机甚至其它机器的任一目录。C盘下的wwwroot只是微软一厢情愿的建议目录。
6.略。
第2章https://www.doczj.com/doc/315284383.html,程序设计基础
1.思考题
1.名词解释。
过程:过程是为了将常用功能写成可重复执行的代码。https://www.doczj.com/doc/315284383.html,中有两种过程,一种是sub 子过程,一种是function函数。sub子过程执行代码但是不返值,function函数执行代码并可以返回函数值。
对象和类:对象就是将来要在页面上表现的具体事物,对象一般有方法,属性和事件。类可以看成是创建对象的模板。参见P43-P44.
基类与子类:类具有继承性,假如B继承了A,则称A为基类,B为A的子类。
封装,继承与多态:面向对象程序设计的三个显著特点;封装指的是将具体的实现方法封闭起来,只向用户暴露属性方法等公共接口;继承指的是一个类可以继承另外一个类的特征;多态指的是不同的类可以具有相同的属性,方法名称,但是具体实现方法不一样。
重写:overrides,指的是在子类中将基类中的某方法重写,使得两个方法具有不同的功能。
2.关于变量的作用域:
在过程内定义的变量只在过程内部作用(dim定义),在类中由public定义的变量可以被任意代码调用,private定义的变量只能由类内的函数调用,friend定义的变量可以被同一页面内的代码调用,protected定义的变量可以被本类和其子类的函数调用。参见P46.
3.共享成员和实例成员:
必须由类生成具体对象,然后再调用的属性和方法,称为实例属性和方法,统称为实例成员。还有一种成员可以被所有的实例所共享,就成为共享属性和方法(或称为静态成员)。
4.系统函数与系统类:
从本质上说系统函数也是由系统类实现的,https://www.doczj.com/doc/315284383.html,只是为了保持与前面版本延续性而保留了这些函数。https://www.doczj.com/doc/315284383.html,内置了很多系统类,通过这些类的共享和实例属性来实现比系统函数更复杂,更灵活的方法。
5.类的特性:
类具有封装,继承和多态性。参见P44.
6.类具有不可替代性的,这是面向对象程序设计的需要。一些简单的功能可以通过过程和函数实现,类的封装,继承和多态性是过程和函数不可替代的。
2.选择题
1.B,C。两个都是正确的,不过不提倡用C。
2.D 3+5=8.
3.B a,b相同,是字符串相加,c中&会将后面的1转换为字符然后相加,所以三个都是11字符串。
4.C str一般代表字符串。
5.B mid返回“八千里路云和月”中从第三个字符开始的两个字符。
6.B int(a)返回不大于a的整数。
7.A,B (此题两个答案均正确)
8.A 参见P55.
9.D 不存在time()函数,B和C都会返回日期。
10.D 4*5=20
3.上机题
1.显示当天的日期,时间以及星期几。代码在:第二章\1.aspx
2.trim和&的应用。代码在:第二章\2.aspx
3.判断日期。代码在:第二章\3.aspx
4.计算平方和1^2+3^2+……+99^2.代码在:第二章\4.aspx
5.求立方和。代码在:第二章\5.aspx
6.和尚吃馒头。代码在:第二章\6.aspx
7.立方和,平方和,类。代码在:第二章\7.aspx
第3章服务器控件
1.思考题
1.控件的两种声明方式的选择是根据实际需要决定的。当需要在控件之间添加其它代码
的时候就要使用第二种声明方式,第一种是一种简化方式。
2.HTML服务器控件和WEB服务器控件都是从普通HTML发展过来的,只要给普通HTML代码添加id和runat=server属性就变成了HTML服务器控件,WEB服务器控件是.net 提供的一套全新的控件,它的设计合理使用更简便,但是目前还没有和HTML完全一一对应。推荐使用WEB服务器控件。
3.在不需要和服务器端交互的程序中应该尽量使用普通html代码,这样会减轻服务器负担,在需要交互时尽量使用web服务器控件,实在没有可用的web服务器控件再考虑html 控件。
4.有很多方法,例如
5.可以。默认情况下,https://www.doczj.com/doc/315284383.html, 文件中的HTML 元素被视为文本,并且页面开发人员不能以编程方式访问。若要使这些元素能够以编程方式访问,可以通过添加runat="server" 属性,指示应将HTML 元素作为服务器控件分析和处理。
6.可能是由于保存上传文件的文件夹的权限问题,或者只读造成的保存错误。
7.略。参看msdn。
8.在网站需要验证用户提交的表单时,很多情况下需要进行有效性验证,以前需要用js,现在就可以使用更加简单方便的验证控件了。验证控件本质上也是js验证,不过不用程序员过多的考虑实现机制,只需要知道验证控件的功能就行了。
9.有时候为了减少编程的重复就要使用用户控件。
10.不同用户控件的命名空间和该用户控件的名称不能都相同。也就是说命名空间可以相同,但不能命名空间和用户控件的名称都相同。
2.选择题
1.B。postedfile.filename指的是上传文件所在的客户端的物理路径。
2.A。
3.B。comparevalidator 比较验证控件。
4.C。该正则表达式表示可以输入数字字母四个字符以上任意组合或者以.开头后面有3到6个任意字符的字符串。
5.A。正则表达式参见P88
3. 上机练习
1.同时上传两个文件。代码在:第三章\1.aspx
2.简单计算器。代码在:第三章\2.aspx
3.注册页面(相应的数据库自己设计)。代码在:第三章\3.aspx
4.考试系统。代码在:第三章\4.aspx
5.在本章2,3题都用到了。
6.对3-5.aspx 应用css。代码在:第三章\6.aspx
第4章内部对象
1.思考题
1.在https://www.doczj.com/doc/315284383.html,中由于有了服务器控件这个概念就不再需要request.form来传递数据了。
2.write的两种写法:<%response.write(“string”)%> and <%=”string”%>.见:P110
3.利用response.write方法和label都可以输出信息,但是label相对比较容易控制输入的位置和格式。建议用label。
4.redirect虽然是在服务器端运行,但是重定向实际上发生在客户端,但是execute和transfer的重定向是发生在服务器端的;execute的重定向完毕后会返回本页面继续执行下面的程序,但是transfer则不;超链接则是纯粹的客户端行为。
5.设置cookies是必须设置有效期限,否则浏览器关闭后,就会失效!
6.session用来在不同的页面传递同一个人的信息,而application则在同一页面储存不同用户的信息。
7.用length,
Sub Page_Load (Sender As Object, E As EventArgs)
Dim user_name() As String '定义一个变长数组
user_name=Session("user_name") '获取Session的值
message.text=user_name(0) & "您好
" & user_name(1) & "您好"
dim i as short
i=session("user_name").length
message.text+=i.tostring()
End Sub
8.用htmlencode方法,将字符串变换后再输出。见P127.
9.上传时间超出了脚本执行最长时间,应该通过设定server.scripttimeout到足够长来解决。
10.应该写成filepath=server.mappath(“\https://www.doczj.com/doc/315284383.html,\chapter4\upload\”) & filename
2.选择题
1.D。格式不对,编译会提示错误。
2.A。response.end 导致将缓存中的页面立即输出。
3.C。默认20分钟。其实在IIS中可以自己设置默认的有效时间。
4.D。session可以在不同页面间传送数据。
5.B。因为1,2都是数字,如果session(“a”)=“1”的话那么应该就是12.
6.D。
7.C。P127
8.B。注意两个strtemp一个有引号另一个没有。
9.B。
10.B。1.aspx的server设定不会传递到2.aspx中。所以显示默认的60秒!
3.上机题
1.ip地址。代码在:第四章\1.aspx
2.cookies 运用。代码在:第四章\2.aspx
3.Application ,访问次数。第四章\3.aspx
4.简易聊天室,代码在:第四章\4\*.aspx
5.session 和Response.redirect的使用。代码在:第四章\5\*.aspx
6.html代码的问题。代码在:第四章\6.aspx
7,8.email发送问题,将两个合成一个。代码在:第四章\7.aspx
第5章:数据库基础知识
1.思考题
1.名词解释
数据库:按照一定的数据模式,存储结构组织到一起的能为多个用户共享的,与应用程序相对独立,相互关联的数据集合。
表:由横行数列垂直相交而成的数据表达形式,可分为表的框架(表头)和表的内容两部分。
字段:数据表中纵的一列叫一个字段。
记录:数据表中横的一行叫一条记录。
主键:数据表中不能重复的一个字段就是这张表的主键,定义主键来区分不同的记录。
自动编号:Access 提供的一种数据类型,一般用来做主键和编号。
2.简述数据库发展的三个阶段。
人工管理阶段,文件管理阶段,数据库管理阶段。详细的请参考P137.
3.采用数据库来管理数据的理由:
数据库是目前最多使用的操作数据的方法,因为数据库用户不再需要知道数据的具体存放格式和方法,只要通过标准的数据查询语言来操作数据,这样的数据管理快速高效而且易于保存,备份和恢复。没有理由还是用前两种手段来管理数据。
4.Insert语句中,不需要为自动编号字段赋值,因为数据库会自动进行。
2.选择题
1.C.select * from users where user_name=”tutu”(一定要加引号) And(逻辑要求)submit_time<#1/1/2003#(##号是必须的)
2.D.注意逻辑是或or ,姓张而不是叫张。
3.D. 选项A中给自动编号字段赋值,错误;选项B没有给主键字段user_name赋值,错误;选项C给email字段赋了空字符串,错误;选项D是给email赋了NULL值,这是可以的,实际等于什么也没有。
4.D这样会删除全部的记录。
5.C这样会删除real_name字段为“张红”的若干条记录。
3.上机练习题。
由于本章节练习题均为实际操作练习,故全略。具体步骤请参考书第五章。
第6章https://www.doczj.com/doc/315284383.html,存取数据库
1.问答题
1.可以显示但是不能添加记录最可能的原因就是程序对数据库文件只有读权限但是没有写权限。
2.一次操作可以查询,删除,修改任意多条的记录(由查询条件where控制),但是只能添加一条记录。
3.应该是“修改记录时可否……”;这样多做一步,服务器负担加重,而且用update可以只修改一项,但是先删除后添加就必修把每一项都添加了才能达到同样的效果,再者自动编号值会变化。
4.据更新为例:
Dim conn as new oledbconnection(“数据库连接字符串”)//连接数据库
Dim cmd as new oledbcommand(SQL语句字符串,conn)//建立command
Conn.open //打开数据库
cmd.executenonquery()//执行cmd
conn.close //关闭数据库
5.因为每一步都是调用binddata函数,其中的dataAdapter会自动打开和关闭数据库,所以不会出错。
6.这样做的话,对其他过程,比如说更新过程Update就要在建立一次connection,还不如将connection对象设置成公共的。
7.使用mappath使得程序移植性加强,因为mappath只跟相对路径有关系。如果不在同一个文件加,还是可以用mappath指定路径的,详细的请参考相对路径和绝对路径的知识。
8.不要使用*,而使用select 要查询的字段1,要查询的字段2 from 表where 条件语句,就可以只查询部分字段了,只想显示部分记录,只要控制好查询条件就行了,或者在显示的时候做一下判断。
9.略
2.选择题
1.B。注意时间变量字符串的两边要加上#。
2.C。因为sitename是文本型字段,所以字段值两边要加引号。因此A和B错误。选项D虽然可以正确执行,但是只能查找名称为varURL的网站,显然与题意不符合,所以也错误。
3.B。选项A给intro字段赋了空字符串,错误;选项C虽然可以正确插入,但是实际插入的是varName等字符串,与题意不符合,错误;选项D没有在文本型字段值两边加引号,所以错误。
4.A.
3.实践题
1.练习使用server.mappath()方法,略。
2.留言板程序(显示添加删除)代码在:第六章\2\2.aspx
3.用户登录和注册模块。代码在:第六章\3\*.aspx
4.我们就将习题3的模块应用到习题2中。代码在:第六章\4\ *.aspx
5.将6-7改写成用户控件!代码在:第六章\5\ *.aspx
第7章深入进行数据库编程
1.思考题
1.如果自定义了列,而且令AutoGenerateColmns=ture 得到的结果是两个结果的综合,也就是,类似下面的情况:
2.为每一列添加sort-expression=””,并自己定义sort函数,详细得可以参考本章综合示例。或者已可以参考,第八章上级习题3(有答案)
3.可以使用TemplateColumn自定义列来给DataGrid添加控件验证功能。
4.虽然Repeater组件不支持更新和查询,但是可以通过LINKBUTTON添加CommandName 然后根据不同的Command 进行最定义操作,这些操作当然可以包括更新和查询。
5.比较DataGrid、DataList、Repeater
DataGrid提供了最多的功能,如允许访问者对记录编辑、排序或分页。同时它也是最容易使用的,甚至于简单到只需要将之添加到页面中而不必额外编写代码。不过这些易用性是以性能的损失为代价的。DataGrid在三种控件中是效率最低的,特别是在使用Web Form的情况下。
通过使用模板,DataList提供了比DataGrid更加优秀的界面效果。不过这需要以牺牲一定的开发时间为代价。为了添加排序、分页和编辑功能,程序员不得不花费比使用DataGrid 更多的精力来进行编码,虽然它的性能要优于DataGrid。
最后,Repeater允许对数据记录作最大限度的HTML定制。通常,使用Repeater来显示数据记录比使用DataGrid和DataList要耗费更长的开发时间。另外,它不支持内建的编辑、排序和分页功能。所幸的是,Repeater在性能上要优于其它两种控件,特别是明显优于DataGrid。
6.比较更新数据库的区别(7-17.6-8.6-9)
7-17对数据的操作是在Dataset中进行,最后统一修改的,而6-8 6-9都是每次都直接修改数据库的。
7.DataSet是“内存”中的数据库,其实是系统维护在内存中的和具体数据库或数据来源无关的数据表格,所以没必要分为:OleDbDataSet和SqlDataSet。
8.用select语句选择和排序是在读取数据库的时候进行的,而用Dataset进行就和数据库无关。
9.HyperLink和HyperLinkColumn的区别
HyperLink是在建立超链接的时候使用的,而HyperLinkColumn是在定义包含超链接的列模版的时候使用的。
2.选择题
1.B.从英文字的意思很容易区分
2.A.根上题的2一个问题。
3.B.因为dr是向下的,如果只有一条记录的话,第一次为ture,再读的话当然为false 了。
4.B.A是错误的,大家可以测试。
5.B.
6.B.
7.A.1个。修改,更新数据库是不允许跨表进行的。
8.B.指定数据源服务器地址。
9.A.
10.B.
3.上机练习题
1.略。
2.站点访问次数统计,利用了数据库,这也是一般站点的方法。代码在:第七章\2\文件夹下。
3.
4.
5.
6.略。可以综合考虑4和5.
第8章文件和文件夹操作
1.思考题
1.可能是因为对该文件夹没有写权限。
2.可以用两种方法:一种是通过file.copy(old,new),file.delete(old)来实现;也可以用Microsoft.VisualBasic 命名空间中的rename函数来实现。
3.比较file和fileinfo对象:file对象能实现对整个文件的移动,删除等更改;而fileinfo 对象只能显示出某文件的信息,不能更改。
4.因为mydir.GetDirectories返回的是directoryinfo对象。
5.将有数字的图片组合就可以了。
6.读取时要设置编码方式。
7.Application对象作计数器好处是方便快捷,但是会随着服务器的重新启动而清零;数据库可以记录很多登陆信息,不只是有几个人登陆,而且可以很方便的记录登陆时间,IP 等等信息,但是查询数据库会消耗过多资源;用文本文件可以很方便的查看,更改,不利的一面是不能记录太多的信息。
8.要删除XML文档中的某一条记录,可以先将XML文件读入Dataset,然后通过vb。Net函数找到该节点并删除该节点,然后再将剩余的数据重写到该XML文档。
9.可以。
10.自定义
2.选择题
1.B,应使用fileinfo对象。
2.B,同上。
3.B,回抛出一个IOException异常。
4.D,-1.
5.B,parent。
3.上机练习题
1.故事接龙网页。代码在:第八章/1/*.aspx
2.网页添加计数器。书上已有,现放到第八章/2/2.aspx
3.修改8-5节程序,使其可以分页和排序。代码在:第八章\3\文件夹中
第9章隐藏代码和业务对象
1.思考题
1.名词解释
隐藏代码:code-behind,即将一个网页中的代码放到另外一个文件中,真正实现函数和HTML代码分离。
业务对象:所谓业务对象就是自己开发的类,分为两种,一种是不包含界面的业务对象,另外一种就是含有界面的业务对象,也叫自定义控件。
COM组件:在.NET出现之前,用vb等编写的老式业务对象。
2.自定义空间和用户空间:自定义控件和用户空间的编程明显不同,自定义控件很复
杂;而且自定义控件必须编译并部署才能应用。
3.自定义控件和普通业务对象:普通业务控件不能包含界面,只能执行某种函数功能;二自定义控件可以。
4.业务对象和隐藏代码:这两者在功能和用途上有明显的区别,业务对象是为了编程代码复用而编写的具有某种功能的函数;而隐藏代码只是为了做到网页代码和函数代码的分离。
5.9-2.vb不能删除,因为运行程序的时候会用到这个文件;而9-6.vb可以删除,因为在编译了dll后这个文件已经没有用了,除非以后在其基础上修改并重新编译。
6.可以。隐藏代码并不需要添加虚拟目录。
7.不可以,系统已经记住该名称,修改后无法正常执行。
8.可以。
9.同一个命名空间中不允许存在名字相同的类;不同的命名空间类名可以相同。
10.可以,这样就不太灵活了。
2.选择题
1.A.其它三个选项都需要使用http://localhost/test/…才可以,因为要使用bin文件夹下的DLL文件。
2.B,tlbimp。
3.D,因为使用了web服务器控件。
4.C.
3.上机练习题
1.开发一个自定义控件;计算a和b的平方和。代码在:第九章\1\文件夹下。
2.这里只改写了6-5.aspx,请大家自己改写6-6.aspx。代码在:第九章\2\文件夹下。
3.暂无
4.暂无
第10章:Web服务
1.思考题
1.名词解释
web服务:web service,是一种可以使用标准Internet 协议进行访问的可编程应用程序逻辑。Web 服务结合了基于组件的开发的最佳方面和Web。与组件类似,Web 服务表示可以重复使用的黑匣功能,而无须担心服务实现的方式。与当前组件技术不同,不能通过对象模型特定的协议(如分布式组件对象模型(DCOM)、远程方法调用(RMI) 或者Internet Inter-ORB 协议(IIOP))访问Web 服务。取而代之的是,可以通过普遍的Web 协议及数据格式访问Web 服务,比如超文本传输协议(HTTP) 和可扩展标记语言(XML)。此外,Web 服务接口根据Web 服务接受和生成的消息进行严格地定义。只要可以创建和使用为
Web 服务接口定义的消息,那么Web 服务的使用者便可以用任何编程语言在任何平台上实现。(摘自MSDN2003)
WSDL:web service description language,即web服务描述语言。它是一个XML文档,描述了该web服务的参数信息。
SOAP:simple object access protocol,即简单对象访问协议,它是一种基于XML的信息格式协议标准,用来在两个终端之间传递信息。
代理类:proxy class,参见P285.
信封:envelop,两台终端进行通信时的数据包。
2.简述web服务的工作流程:
a:请求服务的服务器A向提供服务的服务器B发送请求获得web服务的soap信封b:webservice提供者B返回带有WSDL信息的soap信封
c:请求服务者A发送带有正确调用方法格式的信封
d:webservice提供者B返回请求的结果
e:请求服务者解析这个结果并为己所用
3.不是,web服务是两个服务器之间的通信,和客户端没有任何关系
4.web服务能返回的数据类型:最基本的数据类型,比如:字符串,数字,日期,布尔等;也可以是一个数组,或者一个DataSet对象;甚至可以返回一个类。
5.第1个不可以,第2个可以
6.略。
2.选择题
1:B,asmx。
2:D,vb这里只是考虑https://www.doczj.com/doc/315284383.html,,如果是用C# 就是cs为扩展名。
3:C,WSDL。
4:A,vbc,同样这是指考虑编程语言是https://www.doczj.com/doc/315284383.html,的情况。
3.上机练习题
1:开发一个简单的web服务,分别来计算a,b的和差积商。代码在:第十章\mymath\文件夹下
2:开发一个查找自己感兴趣网站的web服务。代码在:第十章\wwwlink\文件夹下
第11章配置应用程序和其他应用
1.思考题
1.名词解释
应用程序:添加了虚拟目录的文件夹。
Global.asax:用来存放Session对象和Application对象事件过程的全局设置文件。每个应用程序只有一个该文件。
web.config:用来存放一些自定义常量,设置访问权限,还可以设置一些其它调试选项。该文件是层次式的,可以在每个文件夹下设置,并且会继承父文件夹的相应设置。
认证:认证就是通过用户名和密码验证用户的类型和合法性的过程。https://www.doczj.com/doc/315284383.html,提供了三种认证过程。详见P300。
授权:授权就是对不同类型的用户分配不同访问权限的过程。比如:普通用户和管理员就拥有截然不同的授权。
缓存:使用缓存就是将常用的数据和对象保存在内存中,再次使用时就可以从内存中直接调用,这样会提高访问速度,但是使用太多会消耗大量的内存资源。
跟踪:跟踪就是对程序中变量的值和代码执行情况进行跟踪。分为页面跟踪和应用程序跟踪。
2.保存数据库连接字符串可以用一下方法:保存在一文本文件中,保存在Session中,保存在Cookies中,保存在Global.asax中,保存在web.config中。
3.可以。区别是:Session对每一个用户存在,Application对所有用户存在。
4.不可以,会出现如下提示“由于已明确禁止所请求的页类型,无法对该类型的页提供服务。扩展名“.config”可能不正确。请检查以下的URL 并确保其拼写正确。”
5.将htm改为.aspx文件,并将其设为通过认证后才能浏览。
6.在授权中作如下设置:
7.这样就会严重影响系统的性能,适得其反。
8.web.config文件中的设置对.aspx有效,对HTML文件和其它文件如:图像,数据库文件都无效。
9.设置了应用程序跟踪,可以在执行完毕后通过Http://你的程序路径/trace.axd访问察看。
2.选择题
1.B,一个应用程序只能有一个Global.asax文件。
2.C,每个文件夹都可以拥有自己的web.config文件,所以有若干个。
3.上级练习题
1.这里只给出了一个使用MD5具体方法的网页,同学们可以自己在存取数据的时候应用这个函数来给数据加密。代码在:第十一章\1.aspx
2.略。请参考:P296~294.
3.要统计访问人数和当前在线人数九是要自定义Session_Start()和Session_End()函数。这里只给出了主要代码。
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' visitedNumber++
'OnLineNumber++
Dim sr As StreamReader
sr = New StreamReader(Server.MapPath("num.txt"), Encoding.Default)
Dim visitedNumber, OnLineNumber As Integer
visitedNumber = CInt(sr.ReadLine()) + 1
OnLineNumber = CInt(sr.ReadLine()) + 1
sr.Close()
Dim sw As StreamWriter
sw = New StreamWriter(Server.MapPath("num.txt"), False, Encoding.Default)
sw.WriteLine(visitedNumber.ToString)
sw.WriteLine(OnLineNumber.ToString)
sw.Close()
End Sub
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
'OnLineNumber--
Dim sr As StreamReader
sr = New StreamReader(Server.MapPath("num.txt"), Encoding.Default)
Dim visitedNumber, OnLineNumber As Integer
visitedNumber = CInt(sr.ReadLine())
OnLineNumber = CInt(sr.ReadLine()) - 1
sr.Close()
Dim sw As StreamWriter
sw = New StreamWriter(Server.MapPath("num.txt"), False, Encoding.Default)
sw.WriteLine(visitedNumber.ToString)
sw.WriteLine(OnLineNumber.ToString)
sw.Close()
End Sub 4.暂无。
编程一 1.请编写代码,在页面上显示如下图形。注意:只要写出主要代码即可 ********** ********* ******** ******* ****** ***** **** *** ** * 答案:<% Dim I,J For I=10 To 1 Step -1 For J=1 To I Response.Write "*" Next Response.Write "
" Next %> 2.利用Recodset对象也可以插入记录,现在针对图1所示的数据表,利用插入一条记录:其中网站名称为“搜狐”,网站地址为“https://www.doczj.com/doc/315284383.html,”,网站简介为“门户网站”,提交日期为当天。 注意:只给出主要代码即可,程序的开头部分已经给出。 <% Dim db, strConn strConn="Dbq=" & Server.Mappath("address.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}" Set db=Server.CreateObject("ADODB.Connection") 答:<% Dim db, strConn strConn="Dbq=" & Server.Mappath("address.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}" Set db=Server.CreateObject("ADODB.Connection") '建立Recordset对象 Set rs=Server.CreateObject("ADODB.Recordset") strSql ="Select * From link" rs.Open strSql,db,0,2 '添加记录
第一章 1.填空题 (1).NET Framework主要包括公共语言运行库CLR和类库。 (2)https://www.doczj.com/doc/315284383.html,网站在编译时,首先将语言代码编译成微软中间语言MSIL。(3)一台IIS Web服务器IP地址为210.78.60.19,网站端口号为8000,则要访问虚拟目录xxxy中default.aspx的URL为 http://210.78.60.19.8000/xxxy/default.aspx。 (4)可以通过复制网站同步网站上的一个文件。 2.是非题 (1)托管代码是以CLR为基础的代码。(√) (2)https://www.doczj.com/doc/315284383.html,3.5仍使用https://www.doczj.com/doc/315284383.html,2.0引擎。(√) (3).NET Framework 3.0是.NET Framework 3.5的一部分。(√) (4)https://www.doczj.com/doc/315284383.html, 3.5是边解释边执行的。(×) (5)在Visual Studio 2008环境中开发网站必须安装IIS。(×) 3.选择题 (1).NET Framwork3.5不包括(A) A. .NET Framework 1.1 B. .NET Framework 2.0 C. LINQ D. https://www.doczj.com/doc/315284383.html, AJAX (2)下面(D)网站在建立时要求安装Microsoft FrontPage服务器扩展。 文件系统 B. 本地IIS C. FTP站点 D.远程站点 (3)发布网站后不可能存在的文件夹是(B) A.App_Data B.App_Code C.App_Themes D.bin 第二章 1.填空题 (1)Visual Studio 2008 默认建立的XHIML文件类型是Transitional。 (2)利用XHTML建立一个链接到jxst@https://www.doczj.com/doc/315284383.html,邮箱的元素是……。 (3)存放Web窗体页C#代码的模型有单文件页模型和代码隐藏页模型。(4)单文件页模型中,C#代码必须包含于之间。 (5)外部样式表通过元素链接到网页。 (6)XML主要用于传输和存储数据。 2.是非题 (1)XHTML是HTML的子集。(×) (2)XHTML中每个元素都有结束标记。(√) (3).htm文件不需要编译,直接从Web服务器下载到浏览器执即可。(√)(4)基于类的样式在定义是要加前缀“#”。(×) (5)JavaScript代码必须包含在