《ASP动态网页设计》 实 验 指 导 书 系部:信息工程系 专业:计算机应用专业 目 录 实验一 WINDOWS 2000 SERVER IIS的安装与配置 2 实验二 HTML标记符的使用(表格、表单对象、CSS样式) 2 实验三 JAVASCRIPT语言 3 实验四 VBSCRIPT编程 3 实验五 ASP内建对象 4 实验六 可安装组件和脚本对象 5 实验七 数据管理的存取操作 6 实验一 Windows 2000 Server IIS的安装与配置 一、实验目的: 熟悉PWS的安装过程与配置方法。通过编写简单的ASP页面,掌握ASP网页的编写和运行方法。 二、实验要求: 学生掌握关于动态网页的相关知识;具备制作静态网页的基础;具备一定的网络基础知识。 三、实验器材: Windows 2000 Server计算机系统;安装IIS、Dreamweaver MX 2004、Access 2000数据库系统等。 四、实验内容: 1、ASP Web服务器的安装与配置; [参考步骤]: 将windows 2000光盘插入教师机中,将其共享; 学生机器将查看自己的IP地址,在网络中配置; 在添加和删除程序中,添加IIS; 在自己的本地硬盘中用03soft建一文件夹; 在管理工具中Internet 信息服务中配置IIS; 运行Dreamweaver MX 2004建立站点,完成相关的设置,其中根目录与IIS中一致,并使用服务器技术; 新建一个网页,互相访问; 2、调试ASP页面显示: “这是利用ASP网页输出的信息”; [参考步骤]: 启动Dreamweaver MX 2004,然后切换到源代码显示方式; 在<body>与</body>之间,加入以下ASP代码: <%Response.write(“这是利用ASP网页输出的信息”)%>; 将网页保存到C:\Inetpub\wwwroot目录下,文件命名为first.asp; 启动IE浏览器,在地址栏中键入:http://localhost/first.asp或http://127.0.0.1/first.asp,然后按回车。注意观察输出结果; 在wwwroot目录下创建一个myweb子目录,并将first.asp文件移动到myweb目录下,然后在浏览器中键入http://Localhost/myweb/first.asp; 实验二 HTML标记符的使用(表格、表单对象、CSS样式) 一、实验目的: 熟悉并掌握HTML标记符的用法和功能。掌握HTML网页的基本结构,学会利用HTML标记符来编写简单的网页,达到能够编写和阅读HTML网页源代码的目的。 二、实验要求: 学生掌握关于HTML的相关知识;具备制作静态网页的基础;具备一定的网络基础知识。 三、实验器材: Windows 2000 Server计算机系统;安装IIS、Dreamweaver MX 2004、Access 2000数据库系统等。 四、实验内容: 1、试用记事本编写一个名为myfirst.htm的页面,并在网页中以标题2号字,居中,蓝色输出“Hypertext Mark-up Language”,页面的标题设置为“网页测试”。 2、编写一页面,设置页面背景图为bg.jpg,在页面中居中显示名为myphoto.jpg的图形文件。 3、编写一页面,在页面中显示输出图2.12所示的表格,表格的宽度为450,边线宽度为1. 单元格11 单元格12 单元格13  单元格21 单元格22   单元格31 单元格32  [参考代码] <table width="450" border="1" align="center"> <tr> <td width="113"><div align="center">单元格11</div></td> <td width="153"><div align="center">单元格12</div></td> <td width="162"><div align="center">单元格13</div></td> </tr> <tr> <td rowspan="2"><div align="center">单元格21</div></td> <td colspan="2"><div align="center">单元格22</div></td> </tr> <tr> <td><div align="center">单元格31</div></td> <td><div align="center">单元格32</div></td> </tr> </table> 4、编写用户登陆界面,“用户登陆”采用标题2、居中输出,网页标题设置为“用户登陆”。“用户名”、“口令”以及按钮全部要求居中对齐,用户名和口令输入框的默认值均为guest。表单对象命名为login,提交方法采用post,表单数据提交给login.asp页面处理,最后将网页保存为login.htm,并用浏览器浏览。 用户登录  用户名:   口 令:   确定 重填  [参考代码] <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>用户登录</title> </head> <body> <form name="form1" method="post" action="login.asp"> <table width="450" border="0" align="center"> <tr> <td colspan="2"> <h2 align="center">用户登录</h2></td> </tr> <tr> <td width="204"><div align="center">用户名:</div></td> <td width="236"> <div align="center"> <input name="textfield" type="text" value="guest"> </div></td> </tr> <tr> <td><div align="center">口令:</div></td> <td> <div align="center"> <input name="textfield2" type="password" value="guest"> </div></td> </tr> <tr> <td colspan="2"> <div align="center"> <input type="submit" name="Submit" value="确定"> <input type="reset" name="Submit2" value="重填"> </div></td> </tr> </table> </form> </body> </html> 4、编写名为index.htm的页面,在该页面中创建一超级链接,单击后,在新弹出的窗口中播放demo.avi动画;并添加背景音乐,播放的音乐文件为purelove.mid [参考代码] <body> <embed src="demo.avi" autostart="true"> <bgsound src="bg.mid" loop="-1"> </body> 实验三 JavaScript语言 实验目的: 深刻理解有关函数中变量的作用域和各类控制语句的功能; 理解和灵活运用JavaScript中常用的几个对象的属性和方法; 实验要求: 回顾和复习以前C语言的基本语法知识;进一步加深理解Javascript语法知识; 实验器材: Windows 2000 Server计算机系统;安装IIS、Dreamweaver MX 2004、Access 2000数据库系统等。 四、实验内容: 1、使用JavaScript编程实现:根据时间段的不同,在网页中显示不同的问候语,若小时数在12点以前,则输出“早上好!”的问候语;若在12点至18点,则输出“下午好!”;18点以后输出“晚上好!”。 [参考代码] <script language="javascript"> var curday=new Date(); switch(curday.getDay()) { case 1: document.write("星期一");break; case 2: document.write("星期二");break; case 3: document.write("星期三");break; case 4: document.write("星期四");break; case 5: document.write("星期五");break; case 6: document.write("<font color='FF0000'>星期六</font>");break; case 0: document.write("<font color='FF0000'>星期日</font>");break; } </script> 2、运用JavaScript和windows对象setTimeout方法编程实现在网页中不断显示不同图片的动画效果; [参考代码] <body> <img src="" alt="" name="my_image" width="32" height="32" id="my_image" /> <Script Language="JavaScript"> var image,i=1 function image_change() { if(i==5) {i=1;} my_image.src="Image"+i+".jpg"; i=i+1; image=setTimeout('image_change()',1000); } image_change(); </Script> </body> 3、运用JavaScript和windows对象status属性编程实现网站状态行跑马灯式文字效果的显示:“欢迎光临本站”。 实验四 VBScript编程 一、实验目的:熟悉VBScript的语法、掌握服务器端利用VBScript编程的基本方法。 二、实验要求:学生掌握VB语言的语法特点和内置的常用函数的用法;对程序的结构(顺序、分支、循环、过程)的概念和语法比较清晰;具备基本的编写程序的能力。 三、实验器材:Windows 2000 Server计算机系统;安装IIS、Dreamweaver MX 2004、Access 2000数据库系统等。 四、实验内容: 1、利用VBScript在页面中输出当前的日期; 2、上机验证VBScript各函数的用法和功能; 3、试用VBScript编写一个求数n阶乘的函数Power,利用表单获得要求阶乘的数,然后通过调用Power函数,实现阶乘的计算并输出结果; [参考代码] shuru.htm <form name="form1" method="post" action="jisuan.asp"> <table width="519" height="25" border="1" align="center"> <tr> <td width="174">请输入一个整数:</td> <td width="329"><input name="number1" type="text" id="number"></td> </tr> <tr> <td colspan="2"><div align="center"> <input type="submit" name="Submit" value="计算"> </div></td> </tr> </table> </form> jisuan.asp <%function jiecheng(t) dim j j=1 for i=1 to t j=j*i next jiecheng=j end function %> </head> <body> <%data=cint(request.Form("number1")) response.Write("阶乘为:"&jiecheng(data)) %> </body> 4、VBScript编程,实现计算并输出100至500间的水仙花数。(水仙花数是指该数的值与各位数字的立方和相等); [参考代码] <body> <%for i=100 to 500 a=i\100 b=i mod 100 b=b\10 c=i mod 10 if i=a^3+b^3+c^3 then response.Write(i & ",") end if next%> </body> 5、利用VBScript的数组,结合编程实现在页面中输出100个随机键位的大写字母,要求每行显示20个字母,各个字母间用一个空格分割。 [参考代码] <body> <%dim ran(100) for i=1 to 100 ran(i)=chr(int(26*rnd())+65) next for i=1 to 100 response.Write(ran(i) & "&nbsp;&nbsp;&nbsp;") if i mod 20=0 then response.Write("<br>") end if next %> </body> 实验五 ASP内建对象 实验目的: 熟悉和掌握各ASP内建对象的功能和用法。 实验要求: 学生充分理解面向对象的程序设计;理解各类变量的作用域的概念及其使用方法;理解和掌握ASP内建对象的常用属性和方法; 实验器材: Windows 2000 Server计算机系统;安装IIS、Dreamweaver MX 2004、Access 2000数据库系统等。 四、实验内容: 1、试编写一ASP页面,利用Response对象的write方法,向客户端浏览器输出一个4行3列,宽度为1的表格,并在每个单元格中填入该单元格的行号和列号; [参考代码] <table border="1" width="400" align="center"> <% for rownum=1 to 4%> <tr> <%for colnum=1 to 3%> <td><%=rownum & "," & colnum%></td> <%next%> </tr> <%next%> </table> 2、编写一个ASP页面,实现利用Response对象的write方法,向客户端输出一超级链接,该超链接的标题为“返回首页”,链接的地址为“index.asp”; [参考代码] <body> <% response.write "<a href='index.asp'>返回首页</a>" %> </body> 3、设计用户登陆页面login.htm。若用户名和口令均为guest,则导航到guest.asp页面;若用户名为administrator,口令为haweofw,则导航到manager.asp页面。若口令错误,则输出“口令错误!单击此处返回”的提示信息,“单击此处返回”为超链接,用户单击后,重新返回到登陆页面。用于表单处理并实现口令判断的页面为dispose.asp。要求分别用表单的Post和Get方法,来分别实现该操作; 用户登录  用户名:   口 令:   确定 重填   [参考代码] login.htm <form name="form1" method="post" action="dispose.asp"> <table width="479" height="98" border="1" align="center"> <tr> <td colspan="2"><div align="center"> <h2>用户登陆</h2> </div></td> </tr> <tr> <td width="211"><div align="center">用户名:</div></td> <td width="327"> <div align="left"> <input name="username" type="text" id="username" value="username"> </div></td> </tr> <tr> <td><div align="center">口令:</div></td> <td><div align="left"> <input name="psword" type="password" id="psword" value="111111"> </div></td> </tr> <tr> <td><div align="center"></div></td> <td><div align="left"></div></td> </tr> <tr> <td colspan="2"><div align="center"></div> <div align="center"> <input type="submit" name="Submit" value="确定"> <input type="submit" name="Submit2" value="重填"> </div></td> </tr> </table> </form> dispose.asp <body> <% username=request.Form("username") psword=request.Form("psword") if username="guest" and psword="guest" then response.Redirect("guest.asp") else if username="administrator" and psword="123456" then response.Redirect("manager.asp") else response.Write("<a href='login.asp'>单击此处返回!</a>") end if end if %> </body> 4、试编写一HTML页面,在页面中输出3个多项选择题,题目自定,每个选择题均有A,B,C,D四个选项,当用户单击“交卷”按钮时,提交所作的题给grade.asp页面,grade.asp页面获得表单所提交的数据后,将数据直接输出给客户端,以显示用户对各题所作的选择; [参考代码] shijuan.htm <body> <form name="form1" method="post" action="shijuancheck.asp"> <table width="545" border="1" align="center"> <tr> <td>1、电子商务包括()两个方面:</td> </tr> <tr> <td><input name="choice1" type="checkbox" id="choice1" value="A"> A、电子商务</td> </tr> <tr> <td><input name="choice1" type="checkbox" id="choice1" value="B"> B、电子交易</td> </tr> <tr> <td><input name="choice1" type="checkbox" id="choice1" value="C"> C、自动化生产</td> </tr> <tr> <td><input name="choice1" type="checkbox" id="choice1" value="D"> D、专家管理系统</td> </tr> <tr> <tr> <td>2、电子商务包括()两个方面:</td> </tr> <tr> <td><input name="choice2" type="checkbox" id="choice2" value="A"> A、电子商务</td> </tr> <tr> <td><input name="choice2" type="checkbox" id="choice2" value="B"> B、电子交易</td> </tr> <tr> <td><input name="choice2" type="checkbox" id="choice2" value="C"> C、自动化生产</td> </tr> <tr> <td><input name="choice2" type="checkbox" id="choice2" value="D"> D、专家管理系统</td> </tr> <tr> <td>3、电子商务包括()两个方面:</td> </tr> <tr> <td><input name="choice3" type="checkbox" id="choice3" value="A"> A、电子商务</td> </tr> <tr> <td><input name="choice3" type="checkbox" id="choice3" value="B"> B、电子交易</td> </tr> <tr> <td><input name="choice3" type="checkbox" id="choice3" value="C"> C、自动化生产</td> </tr> <tr> <td><input name="choice3" type="checkbox" id="choice3" value="D"> D、专家管理系统</td> </tr> <td><div align="center"> <input type="submit" name="Submit" value="交卷"> <input type="reset" name="Submit2" value="重置"> </div></td> </tr> </table> </form> </body> grade.asp <body> <%dim answer for m=1 to 3 answer="" for n=1 to request.Form("choice" & m).count answer=answer & request.Form("choice" & m)(n) next response.Write(answer) next %> </body> 5、试编写一ASP页面,实现在浏览器中显示输出接受请求的服务器的IP地址、服务器的端口号、当前网页的真实物理路径、当前网页的虚拟路径和发出请求的客户方IP地址。 [参考代码] <body> <% pagename=server.MapPath(request.ServerVariables("script_name")) response.Write(pagename) servername=request.ServerVariables("server_name") response.Write(servername) serverport=request.ServerVariables("server_port") response.Write(serverport) serverip=request.ServerVariables("local_addr") response.Write (serverip) %> </body> 实验六 数据管理的存取操作 一、实验目的:熟悉并掌握ASP中利用ADO实现对数据管理的存取访问方法; 二、实验要求:学生掌握基础的数据库理论知识;熟悉基础的数据库结构化查询语言SQL;熟悉VBScript中的ADO对象; 三、实验器材:Windows 2000 Server计算机系统;安装IIS、Dreamweaver MX 2004、Access 2000数据库系统等; 四、实验内容: 1、利用Access创建一个名为myStore.mdb的数据库,并将其保存或复制到站点根目录下的DataBase目录中; 2、在管理工具中,利用“ODBC数据源”为myStore.mdb数据库,创建一个名为store.dsn的文件数据源,并将其保存或复制到站点根目录下的database目录中; 3、在Dreamweaver中新建一页面,然后编程实现利用连接对象的execute方法,通过执行相应的SQL语句,实现以下功能; (1)在数据库中创建一个名为userdata的数据库,其字段和类型如下; 字段名 字段类型 字段宽度 说明 truename Text 10 username Text 15 不允许为空 password Text 10 允许为空 email Text 40 允许为空 stopflag Text 1 允许为空 (2)向userdata数据表添加两条记录,记录内容如下: 张三 happy2002 1973au 0 李四 xtfan ui3*96kw01 0 (3)将happy2002用户密码更改为“G#96KW01” [参考代码] <% dsnpath=server.MapPath("/chapter08/database/mydsn.dsn") set conn=server.CreateObject("adodb.connection") conn.open "filedsn=" & dsnpath fhsql="insert into 学生表 values('0004','李四','机电')" 'fhsql="delete from 学生表 where 学号='0002'" 'fhsql="update 学生表 set 专业='管理' where 学号='0003'" conn.execute(fhsql),num response.write "有"&num&"条记录插入到表中" %> 4、试编写一会员登陆页面(Login.htm)。若密码校验正确,则将页面导航到trade.asp;若密码错误,则输出秘密错误的提示信息;若数据表中无该用户,则提示用户注册,并产生注册的链接,用户单击该链接后,将页面导航到用户注册页面(register.htm)。另外,用户单击会员登陆页面中的“马上注册”按钮时,也将页面导航到用户注册页面。 [参考代码] Login.htm <body leftmargin="0" topmargin="60" marginwidth="0" marginheight="0" oncontextmenu="return false;" onselectstart="return false;"> <table width="64%" height="54%" border="0" align="center" cellspacing="0"> <tr> <td align="center"><form name="form1" method="post" action="loginchk.asp" onSubmit="return xxg()"> <table width="257" border="0" align="center" cellpadding="1" cellspacing="1" height="113" style="border: 1 solid #000000"> <tr> <td height="23" colspan="2" background="../pic/vip005bg.gif"><div align="center"> <p class="logintd1">后台管理登录</p> </div></td> </tr> <tr> <td width="71" align="center" class="logintd2">姓 名:</td> <td width="179"> <input type="text" name="user"> </td> </tr> <tr> <td width="71" align="center" class="logintd2">密 码:</td> <td width="179"> <input type="password" name="password"> </td> </tr> <tr> <td align="center">&nbsp; </td> <td><input type="submit" name="Submit" value=" 登 陆 "> <input type="reset" name="Submit2" value=" 取 消 " style="width: 64px" onClick="reset_form()"></td> </tr> </table> </form></td> </tr> </table> 实验七 可安装组件和脚本对象 一、实验目的:熟悉和掌握ASP中常用的,可以选择性安装的组件的用法与功能,掌握脚本对象中常用子对象的功能与用法; 二、实验要求:学生理解可安装组件的意义;熟悉常用组件的用法; 三、实验器材:Windows 2000 Server计算机系统;安装IIS、Dreamweaver MX 2004、Access 2000数据库系统等。 四、实验内容: 1、Ad Rotator组件; [参考代码] 1、Ad Rotator(主要由以下几个文件组成) advertise.asp <% set myad=server.CreateObject("mswc.adrotator") response.Write myad.getadvertisement("adort.txt") %> adort.txt edirect adredir.asp width 400 height 60 border 1 * adpic/press.gif http://localhost/chapter08/section5/teacher.asp 清华大学出版社 40 adpic/myschool.gif http://www.penctedu.cn 新思维网校 30 adpic/giga.gif http://www.gigabyte.com.cn 技嘉中文网站 30 adredir.asp <% response.Redirect(request.QueryString("url")) %> 2、访问权限检测组件:站点中有一个manager.asp页面需要授权访问,仅允许用户名为:“03soft”用户,密码为:“123”的登陆用户访问。 [参考代码] 实现的步骤与方法: 1、在系统中创建用户名03soft,设置帐户密码:123 2、设置manager.asp只有03soft用户可以访问 3、设置一个mainpage.asp其中存放访问权限检测组件,只有Administrator和03soft用户可以访问; 4、在IIS中,设置mainpage.asp页面的验证方式为“集成Windows验证”; 具体见案例: 3、计数器组件 [参考代码] <% set mypagecounter=server.CreateObject("mswc.pagecounter") mypagecounter.pagehit if mypagecounter.hits=20 then response.Write "<script language='javascript'>alert('恭喜你成为第20位访问者')</script>" end if response.Write "访问次数:" & mypagecounter.hits %> 4、文件存取组件 [参考代码] <% set fso=server.CreateObject("scripting.filesystemobject") filename=server.MapPath("counter.txt") set txtstream=fso.createtextfile(filename) txtstream.writeline("this is a test") txtstream.close set fso=nothing response.Write("文件创建成功!") %>