WEB程序设计习题及答案.doc
WEB程序设计复习题(1)1HTML是什么?简述它的基本结构。 答:HTML(Hypertext Marked Language,超文本标记语言)是一种用来制作 WEB 上超文 本文档的简单标记语言。 对于大多数WEB页面来说,都具有如下所示的基本结构: <html> <head> <title> 标题内容 </title> </head> <body> 主体内容 </body> </html> 2浏览器/服务器模式的通信方式是什么? 答:(1)用户打开计算机的浏览器; (2)输入网址,浏览器将生成一个请求并把它发送到指定的WEB服务器; (3)服务器将主页发回,浏览器将其显示到屏幕上。 3、简述在普通的 HTML语句中和在 ASP语句中所采用的注释语句的区别? 答:在普通的 HTML中使用的注释语句为:<!-!>; 而在 ASP中使用的注释语句为: <% REM 注释行 或 注释行 %> 用 REM 或 符号来表示该符号所在行的所有在该符号后面的语句是注释语句,运行时 ASP不执行该句。加注释主要是为了方便自己和别人阅读程序4分别说明什么是超文本和普通文本,并简述2者的区别。 超文本是相对普通文本而言的,与普通文本按顺序定位不同,超文本是典型的特点就是文本中 包含指向其他位置的链接,通过这些链接使文档组织成了网状结构. 我们可以把常规意义上的书本理解为普通文本,而把由超链接组织起来的电子文档理解为超 文本. 5当前较为流行的服务器端脚本编程技术有哪些? 几种有代表性的服务器端脚本编程技术是 ASP、PHP、JSP。6什么是脚本?试比较JavaScript和 VBScript这两种脚本语言的异同点。 所谓脚本(Script),是由对应用程序或实用程序的一组说明组成的一种程序,它可发嵌入到 Web页面中。简单地说,就是使用脚本语言编写的基于 Web的小程序。 相似之处:两者都是面向对象的、两者都是解释性的脚本语言、两者都不需要额外的插件 或播放工具、两者都可用来创建客户端脚本。不同之外:基础语言和语法不同、开发者不 同、可扩展性不同、平台兼容性不同。7什么是静态网页,什么是动态网页? 答:所谓静态网页,就是网站的网页内容固定不变,当用户在浏览器中通过 HTTP(Hypertext Transfer Protocol)协议向 web 服务器请求提供网页内容时,服务器仅仅是 将已设计好的静态 HTML 标准代码传送给浏览器。静态网站的缺点就是不易维护,如果网 站维护者要更新网页的内容,就必须更新 HTML 文 档,然后重新上传到服务器上。随着 网站内容和信息量的日益扩大,网页维护的工作量会非常巨大。所谓动态网页,并不是指 在网页上显示几个动态图片,而是网页 文件含有程序代码,应用程序会根据用户的要求和 选择作出动态响应,不用修改程序,便会自动生成新的页面。这样可使不同的人在不同的 时间访问同一网址时,会 产生不同的页面,因此可大大节省网站维护的工作量,并能很好 地体现网站与客户端用户的交互性。 8简要说明在网页中插入JavaSCRIPT脚本的几种方式? 在网页中插入脚本语言通常有三种方式:使用 SCRIPT 标记符、在标记符中直接嵌入脚本以 及链接外部脚本文件. 9说明在网页中使用 CSS的几种方式?CSS选择符的作用及分类? 在网页中使用 CSS包括三种常用方式:将样式定义直接嵌入到标记符中、将样式定义嵌入到 网页中以及将样式定义包含在外部 CSS样式文件中. CSS(Cascading Style Sheet,层叠样式表)技术是一种格式化网页的标准方式,它扩展了 HTML 的功能,使网页设计者能够以更有效的方式设置网页格式. 常用的 5 种 selector:HTML 标记符、具有上下文关系的 HTML 标记符、用户定义的类、用 户定义的 ID、虚类.10VBScript是什么? 答:VBScript 是 Microsoft Visual Basic 的简化版本。VBScript 是一种脚本语言。这意味着 这种语言比 Basic 语言的成熟版本既容易使用又难于使用。读者可以在 HTML 文件中直接 嵌入 VBScript脚本,这可以扩展 HTML,使它不仅仅是一种页面格式语言。带有 VBScript 脚本的网页在每次下载到浏览器时都可以是不同的,而且可以对用户的操作做出反应。 VBScript是 Active Sever Pages的默认语言。11VBScript变量的数据类型是什么?有什么特点? 答:在 VBScript 中只有一种数据类型,称为 Variant,也叫做变体类型。Variant 是一种特 殊的数据类型,根据不同的使用方式,它可以包含不同的数据类别信息,如字符串、整 数、日期等。这些不同的数据类别称为数据子类型 12VBScript中的变量和数组在功能上有何异同? 答:所谓 VBScript 变量,从专业的角度说,就是存储在内存中的用来包含数据的地址的名 字。声明 VBScript变量可以使用 Dim语句,多数情况下,只需为声明的变量赋一个值。只 包含一个值的变量被称为标量变量。有时候,将多个相关值赋给一个变量更为方便,因此 可以创建包含一系列值的变量,称为数组变量。数组变量和标量变量是以相同的方式声明 的,唯一的区别是声明数组变量时变量名后面带有括号 ( )。13简述ASP页的执行过程。答案要点: 浏览器向Web服务器发出ASP页请求,Web服务器将ASP页传递给应用程序服务器; 应用程序服务器接到执行ASP页中的服务器端脚本指令,根据指令要求访问数据库并进行有关计算; 将计算结果生成标准的HTML代码并插入到页面中相应的位置,然后将页传递给Web服务器; Web服务器将页面发送回发出请求的浏览器端。14ASP提供的 6个内置全局对象的名称及其主要功能是什么? (1)Response(响应)对象:它控制在HTTP响应消息中,将消息发送给浏览器 (2)Request(请求)对象:它在一个HTTP请求过程中,获取由浏览器传送给服务器的消息 (3)Server(服务器)对象:它提供对驻留在服务器上的资源的访问 (4)Session(会话期)对象:它用于存储和管理与一个特定的用户会话有关的信息 Application(应用程序)对象:它用于存储和管理与该 Web 应用程序有关的信息 ObjectContext:用来配合 Microsoft Transction Server进行分散式交易处理。15Response对象 Request对象的区别是什么? 答:ASP 提供的内置对象。Response(响应)对象:它控制在 HTTP 响应消息中,将消息 发送给浏览器 Request(请求)对象:它在一个 HTTP请求过程中,获取由浏览器传送给服 务器的消息 16POST与 GET的区别是什么? 一般 GET 方式是将数据附在 URL 后发送,数据长度不能超过 100 个字符,一般搜索引擎 查找关键词等简单操作是通过 GET方式进行。而 POST则不存在字符长度的限制,而且不 会把内容附在 URL后,比较适合内容较多的表单。 17同样是 ASP所提供的通用对象,Session对象和 Application对象的区别是什么? 答:使用 Application 对象可使整个 ASP 应用程序的所有用户共享数据,由此把一个 ASP 程序中的不同用户、不同页面联系在一起。Session对象主要用来存储访问者的用户信息,多 个页面可以同时访问该信息,但是两个访问者之间不能共享该信息。 18. 什么是 Cookies集合?如何在 ASP网页中创建和使用 Cookies集合? 答:其实就是浏览器在用户端硬盘上为每个网站开辟的一小块硬盘空间,这样服务器端程 序就能在这块区域中记录与用户相关的信息,以便区分不同的用户。Response.Cookies 用 来设置 Cookies 集合中的 Cookie 的值。若指定的 Cookie 不存在,则创建它,若存在,则设 置新的值并且将旧值删去。 19. 假设 WWW 根目录是 C:inetpubwwwroot , 网页当时所在的目录是 C:inetpubwwwrootasp,某个文件的实际路径为 C:inetpubwwwrootaspimagesTitle.gif, 请用相对路径和虚拟路径来表示该文件。 答:相对路径 server.mappath("imagesTitle.gif ") 虚拟路径 server.mappath("imagesTitle.gif ")20. Server 对象的主要功能是什么?它所提供的方法中最为常用有哪几个,各有什么功能? 如何读取 Server对象所提供的信息? 答:Server 对象提供许多高级的功能,可以用该对象的 Scripttimeout 属性来指定文件执行 的时间期限,以避免诸如服务器正好非常忙不能处理该程序,或者程序本身出现的某些错误 而导致不能运行的情况。该对象还提供了最常用的方法 Createobject,该方法可用来创建 ActiveX组件的实例,该对象的其他方法用于将 URL或 HTML编码成字符串,将虚拟路径 映射到物理路径等。 Mappath 方法方法主要用于返回指定文件的相对路径或虚拟路径映射到服务器上相应的物 理路径。Createobject 方法用来创建一个对象的实例,创建该对象之后,就可以使用这个对 象提供的属性和方法。CreateObject 方法恐怕是 ASP 中最为实用,也是最具强劲功能的。 它用于创建已经注册到服务器上的 ActiveX 组件实例。 server 对象提供你运用许多 server 端的应用函数,利用这些函数可以读取 Server 对象所提 供的信息。例如,你可以利用 server对象来控制你的脚本语言在超过时限前的运行时间21怎样在 ASP程序中混合使用服务器端脚本和客户端脚本? 答:使用<Script LANGUAGE=“VBScript”></Script>编写客户端脚本,而使用<% %>来编 写服务器端脚本。客户端编程语言的优点是浏览器完成了所有的工作,这样可减轻服务器 的负担。但执行时必须要有一个配备了解释器的 Web 浏览器才行,除 Microsoft Internet Explorer 能解释 VBScript。 <% LANGUAGE=“VBScript” %>表示该页中所有脚本(在<%和%>之间)用 VBScript 生成。VBScript为 IE浏览器默认的脚本处理语言,如果使用 IE浏览器,则可省略此句。22在客户端与在服务器端运行 VBScript脚本有何区别?分别应如何声明? 答:使用<Script LANGUAGE=”VBScript”></Script>编写客户端脚本,客户端编程语言的 优点是浏览器完成了所有的工作,这样可减轻服务器的负担。但执行时必须要有一个配备 了解释器的 Web浏览器才行(除 Microsoft Internet Explorer能解释 VBScript);而使用<% %>来编写服务器端脚本,即<% LANGUAGE=”VBScript” %>表示该页中所有脚本(在 <% 和 %> 之间 ) 用 VBScript 生成 ( 或 <Script LANGUAGE=”VBScript” runat=server></Script>)。VBScript 为 IE 浏览器默认的脚本处理语言,如果使用 IE 浏览 器,则可省略此句。 23什么是 ODBC?怎样用ODBC数据源管理器来建立系统 DSN? 答:ODBC(开放数据库连接)提供了一个与产品无关的在前端应用和后端数据库服务器之间 的接口,简言之,ODBC 是一种访问数据库的方法,只要系统中有相应的 ODBC 驱动程 序, 任何程序都可以通过 ODBC操纵驱动程序的数据库。 通过 ODBC 建立与数据库的连接:此方法必须应用“ODBC 管理器”(位于控制面板中) 注册一个数据源,并根据数据源提供的数据库位置、数据库类型及 ODBC 驱动程序等信 息,建立起 ODBC 与具体数据库的联系。这样,只要应用程序将数据源名提供给 ODBC, ODBC 就能建立起与相应数据库的连接(使用 ODBC时,经常用到 DSN这个名词,DSN即 Data Source Name的意思,数据源名)。 24请说明数据库调用的基本格式(三种格式之一即可)和特点。 答:格式说明:利用Execute方法执行 SQL语句 '第一步:建立 Connection对象 set conn=Server.CreateObject("ADODB.Connection") '第二步:使用 Connection对象的 Open方法建立数据库链接 conn.Open("driver=Microsoft Access Driver(*.mdb);dbq=" & Server.MapPath("Access 数据 库.mdb") '第三步:使用 Connection对象的 Execute方法执行 SQL语句 '如果执行查询语句 set rs=conn.Execute("数据查询语句") '如果执行数据操纵语句 conn.Execute("数据操纵语句") 格式一的特点:不足是数据记录指针只能向下移(即:rs 对象的指针只能向后,不能向前移 动)。编写程序:1login.htm 文件中包含一段表单的源代码如下,主要功能提将用户填写的用户名和密 码提交给服务器,让服务器上的 verify.asp 页面验证用户名和密码 <form name="form1" method=" post " action ="verify.asp"> 用户名: <input name="username" type="text" id="username2" size="10"> 密码:<input name="password" type=" password " id="password" size="10"> <input type=" Submit " name="Submit" value=" submit "> </form> verify.asp 用于获取用户在表单中填写并提交用户名和密码,如果用户名和密码正确(分别 为 abc 和 123),则将用户名输出到客户端浏览器中,否则在客户端浏览器中输出非法用 户,源代码如下: <% option explicit dim name, pws name= request.form("name") pws = request.form("pws") if name="abc" and pws ="123" then response.write ("你的用户名是" & name ) else response.write ("非法用户") end if %> 2、在服务器的 WWWROOT 文件夹中有一个名为 Addr.mdb 的数据库,该数据库中包含一 个名为 Person 的表,表中有:name、age、sex、tel、addr 五个字段,并保存了若干记录。在 WWWROOT文件夹下有一个名 browse.asp的网页,其主要功能为连接 Addr.mdb 数据库, 并将 Addr.mdb中所有的记录显示在客户端浏览器上。browse.asp的源代码如下(将源代码中 的空格填完整) <% Set conn = Server.CreateObject("ADODB.Connection") conn.open "driver = Microsoft Access Driver (*.mdb) ; dbq=" & Server.MapPath (" addr.mdb ") Set rs = Server.CreateObject("ADODB. Recordset ") sql = " select * from person " rs.Open sql, conn, 3, 3 rs. movefirst do while Not rs.eof response.write rs.Fields("name").Value response.write rs.Fields("age").Value response.write rs.Fields(" sex ").Value response.write rs.Fields("tel").Value response.write rs.Fields(" addr ").Value & "<br>" rs. movenext loop %>3用 HTML语言编写一个程序,实现如下结构的 web框架页,并为每个框架格指定对应的页 面文件。 1.htm 2.htm 3.htm <frameset rows="80,*" cols="*" frameborder="NO" border="0" framespacing="0"> <frame src="1.htm" name="topFrame" scrolling="NO" noresize> <frameset rows="*" cols="170,*" framespacing="0" frameborder="NO" border="0"> <frame src="2.htm" name="leftFrame" scrolling="NO" noresize> <frame src="3.htm" name="mainFrame"> </frameset> </frameset> 4编写一个 ASP 网页,根据一周 7 天的不同跳转到不同的网页。(提示:asp 页面里使用 response对象的 redirect方法) <% dim thisday thisday=weekday(date() select case thisday case 2 response.redirect "sy4-1.asp" case 3 response.redirect "sy4-2.asp" case 4 response.redirect "sy4-3.asp" case 5 response.redirect "sy4-4.asp" case 6 response.redirect "sy4-5.asp" case 7 response.redirect "sy4-6.asp" case else response.redirect "sy4-7.asp" end select %> 5编写如下所示的一个HTML页面。<form name="form1" method="post" action="http:/www.eduwel.asp"> <table width="293" height="143" border="1" align="center" cellpadding="0" cellspacing="3"> <tr> <td width="103">您的姓名:</td> <td width="175"><input type="text" name="textfield"></td> <tr> <td>您的性别:</td> <td><input type="radio" name="radiobutton" value="radiobutton">男 <input type="radio" name="radiobutton" value="radiobutton">女 </td> <tr><td>请选择您要订阅的报刊:</td> <td valign="top"><input type="checkbox" name="checkbox" value="checkbox"> 电脑报<br> <input type="checkbox" name="checkbox" value="checkbox"> 电脑爱好者<br> <input type="checkbox" name="checkbox" value="checkbox"> 中国计算机报</td> <tr> <td colspan="2"><div align="center"> <input type="submit" name="Submit" value="提交"> <input type="reset" name="Submit" value="重填"> </div></td> </tr></table> </form> 6要在客户端用 cookies记录下当前用户的用户名(username)及密码(password),应该如何写语 句?如果要将记录用户名的 cookies保存期设置为一个月,应如何做? response.cookies("username")=username response.cookies("password")=password response.cookies("username").expires=date()+30 利用 session的 contents集合,写一个小程序来显示当前页面上所有的 session变量。 <% for each x in session.contents response.write x next %> 7用 application对象来编写一个网页计数程序,并用 session来控制使得用户按刷新按钮时, 计数器不会加 1 if session("user")="" then application.lock application("count")=application("count")+1 application.unlock session("user")="userIn" end if response.write application("count") WEB程序设计复习题(2)一、选择题1、下列标记不属于HTML文档的基本结构的是:( D )A <html> B <body> C <head> D <form>2、请问下面程序段执行完毕,页面上显示内容是什么:( A )Response.Write (“<a href=''>新浪</a>”)A 新浪 B <a href=''>新浪</a>C 新浪 D 该句有错,无法正常输出3、Session对象的默认有效期为多少分钟:(C )A 10 B 15 C 20 D 应用程序从启动到结束4、下面哪一个对象用于与数据源建立连接:( B)A Command B ConnectionC DataReader D DataAdapter5、Global.asax文件中Session_Start事件何时激发( B )A 在每个请求开始时激发 B 尝试对使用进行身份验证时激发C 启动会话时激发 D 在应用程序启动时激发6、下面哪一个文件是全局配置文件(B )A Global.asax B Web.configC Styles.css D AssemblyInfo.vb7、需要写入与HTML标记相同的文本时,应利用以下何种方法进行编码:( D)A Response.Server.(HtmlEncode (“<B>”) B Response.Write(“Server.HtmlEncode (“<B>”)”)C Response.Write(Server.HtmlEncode (“<B>”)D Server.Server(Write.HtmlEncode (“<B>”)8、下列说法正确的是(B )A 页面上有动态的东西就是动态网页B 静态网页内容固定,交互性能比动态网页差C ASP、JSP和ASP.NET技术都是把脚本语言嵌入到HTML文档中D ASP.NET程序和ASP程序一样都是解释执行9、下面关于HTML的描述错误的是DA 超文本标记语言,一种为Internet文档设计的标记语言B 与操作系统平台的选择无关,只要有浏览器就可以运行HTML文档C 所有的标记都是成对出现D 由浏览器解释HTML标记符号并以它们指定的格式把相应的内容显示在屏幕上10、下列关于ASP.NET的验证控件描述错误的是( A )A 在客户端和服务器端都能进行验证B 其客户端验证和服务器端验证对所有浏览器都适用C 如果页面调用了多个验证控件,当有其中的一个验证未通过时,整个页面不会被通过验证D 一个服务器控件可同时被多个验证控件验证11、在ASP.NET应用程序中访问SqlServer数据库时,需要导入的命名空间为BA System.Data.Oracle B System.Data. SqlClient C System.Data. ODBC D System.Data.OleDB12、如果需要确保用户输入大于30的值,应该使用( C )验证控件A RequiredFieldValidator B CompareValidatorC RangeValidator D RegularExpressionValidator 13、下面哪一个不是网页文件的后缀名 (D)A htm B aspx C asp D txt二、填空题1. 列举ASP.NET中的七个内置对象:(Page,Response,Request,Session,Application,Cookie, Server)2 URL的中文意思是指.(统一资源定位符)3 几乎所有的HTML标记都可以转化为HTML Server控件,只需要在标记中加入(.runat="server")即可4 控件TextBox的AutoPostBack属性的作用是(是否响应服务器事件,值为true/false;)5 Server.MapPath()方法的主要功能是(获取文件对象绝对路径)6 Command对象ExecuteNOQuery()方法的功能是_ ASP.NET复习题2一、 选择题1. ASP.NET不支持的应用程序文件类型的扩展名是( D )A. .ascx B. .asmxC. .disco D. .pas2. 下面哪一个验证控件的作用是限定用户按照一定的模式进行输入?(A )A. RegularExpressionValidator B. CompareValidatorC. RequireFieldValidator D. ValidationSummary 3. 将已有的Web窗体页转换为用户控件时,除了要从该页中移除所有的<html>,<body>,<form>元素外,还应将原窗体页中的page指令更改为( b )A. Page B. ControlC. ascx D. Control 4. Cookie是Web服务器保存在用户硬盘上的一段文本,分会话Cookie和永久Cookie。如要定义一个永久Cookie,则必须设置Cookie的( d )属性。A. Value B. ItemC. Path D. Expires5. 要获取Web站点中某个文件的物理存储路径,可以使用Server对象的( b )属性。A. Execute B. MapPathC. Transfer D. HtmlEncode6. Response对象的( b )方法可以使Web服务器停止处理脚本。A. Clear B. EndC. BufferOutput D. Flush7. 访问DataReader对象中的某列可以采用如DataReader(“Name”)的方法。该示例默认使用的是DataReader对象的(c )属性。A. IsClosed B. FieldCount 字段数C. Item D. RecordsAffected8. 在绑定了数据源的Repeater对象中,系统会自动提供( b )对象,可以使用该对象的Eval方法从指定的列中检索数据。A. Container B. DataBinderC. DataReader D. DataTable9. 在DataList控件中,任何一个按钮单击时,都会触发( b )事件。A. EditCommand B. ItemCommandC. CancelCommand D. SelectCommand10. 要将存储过程参数Name设定为输出参数 ,则应该设定SqlParameter对象的( a )属性。A. Direction B. SqlDbTypeC. Value D. Size11. 在使用DataView对象进行筛选和排序等操作之前,必须指定一个( a )对象作为DataView对象的数据来源。A. DataTable B. DataGridC. DataRows D. DataSet12. 在包含多个表的DataTable对象的DataSet中,可以使用( a )对象来使一个表和另一个表相关。A. DataRelation B. CollectionsC. DataColumn D. DataRows13. DataGrid控件使用( a )列来指定要显示数据源中的那些列、自定义每列的标头和脚注以及控件的排序等。A. 绑定列 B. 按钮列C. 超级链接列 D. 模板列14. 在DataGrid控件中设定显示学生的学号,姓名,出生日期等字段。现要将出生日期设定为短日期格式,则应将数据格式表达式设定为(a )。A. 0:d B. 0:cC. 0:yy-mm-dd D. 0:p15. Web Service公开的每个方法,必须用自定义的( c )属性进行标记。A. NameSpace B. ClassC. WebMethod D. Description二、程序填空题本题将创建一个简单的学生管理信息系统,包含用户登陆页面(Login.aspx)和学籍管理页面(Student.aspx)。假设已经建好数据库StudentMS。请按要求补全程序。1、创建用户登陆页面(Login.aspx)(1)添加web窗体,命名为Login.aspx ,该页面的设计布局如下:(2) 分别将两个TextBox控件和Button控件的ID设置为:txtName, txtPassword, btnSubmit;分别为两个TextBox控件添加RequiredFieldValidator验证控件,限制用户必须输入用户名和密码;在Web.config中定义对数据库访问的连接字符串;导入相应的命名空间。(3) 定义私有过程,实现将用户的登陆名保存到Cookie中。代码如下:Private Sub AddLoginNameToCookie(ByVal strLoginName As String) Dim MyCookie As New HttpCookie("StudentMS") MyCookie.Expires = DateTime.Now.AddDays(30) MyCookie.Values.Add("LoginName", strLoginName) Response.Cookies.Add(MyCookie) 将MyCookie添加到Cookies集合 End Sub(4) 定义私有函数,实现从Cookie中获取用户的登陆名返回给调用者。代码如下:Private Function GetLoginNameFromCookie() As String Dim MyCookie As HttpCookie = Request.Cookies("StudentMS") Dim strLoginName As String = "" If Not My