1、1Web 程序设计实验指导书(教育技术学专业)编著:覃 伟、莫云峰浙江科技学院 信息学院2009 年 9 月2目 录实验一:ASP 编程环境及 VBScript 简单程序设计 .3实验二:Request 对象的使用 .13实验三:Application/Session 对象的使用 19实验四:注册管理模块的实现 .24实验五:简易留言本的实现 .30实验六:邮件组件的使用 .33实验七:选课系统制作 .343实验一:ASP 编程环境及 VBScript 简单程序设计一、实验目的1. 熟悉 ASP 的语法规则2. 掌握 ASP 编程中常用的各种语句3. 理解函数的定义和使用方法4. 掌握 ASP
2、 代码和 HTML 标签的混合使用二、实验内容1. 从下列 5 种语句中选择 3 种编写程序a) if 语句 输出成绩等级b) Switch 输出成绩等级c) For 语句 输出 1 到 100 的奇数的平方和d) Do 循环 输出 1 到 100 的奇数的平方和e) 循环嵌套 输出星号 * * * * * * * * * * *2. 定义 20 个元素的数组,为每个元素产生 1100 内的随机值。3. 编写输出一个 10 行 2 列的表格的代码。要求奇数行背景为白色,偶数行背景色为“abcdef” )三、实验提示(一)ASP 运行环境的配置ASP 必须运行在服务器上,因此实验的第一项工作是构
3、建服务器运行环境。本实验指导以 Windows 2000 操作系统下的 IIS 5.0 进行操作说明。1. 打开“开始”菜单,选择“设置” ,选择“控制面板” ,点击“添加删除程序”图标,打开如图 1-1 所示的窗口。图 1-1 图 1-22. 点击“添加/删除 Windows 组件”按钮,在弹出的对话框中选择“Internet 信息服务” ,如图 1-2 所示。3. 点击“下一步” ,按照提示插入光盘,直至 IIS 安装完成。4. IIS 安装好后,在系统盘(一般是 C 盘)会建立一 Inetpub 文件夹。下面还有4ftproot、wwwroot 目录。其中 ftproot 是 ftp 服
4、务的主目录,wwwroot 是 www 服务(网页浏览)的主目录。5. 在打开的“控制面板”窗口中选择“计算机管理” ,双击打开,然后双击“Internet 服务管理器 ”,如图 1-3 所示。图 1-36. 对“默认网站”单击鼠标右键,出现弹出菜单,选择“属性” ,如图 1-4 所示。图 1-4可根据需要修改默认网站的属性,一般多为“主目录”和“文档” 。主目录中主要包括网站在本地机器中的实际路径以及相关权限;文档则设置网站启用的默认文档。(二)虚拟目录的设置要从主目录以外的其他目录中进行发布,就必须创建虚拟目录。 “虚拟目录”不包含在主目录中,但在显示给客户浏览器时就象位于主目录中一样。虚
5、拟目录有一个“别名” ,供Web 浏览器用于访问此目录。别名通常要比目录的路径名短,便于用户输入。使用别名更安全,因为用户不知道文件是否真的存在于服务器上,所以便无法使用这些信息来修改文件。本实验以对实际路径(例如:d:asptemp)创建虚拟目录来说明其操作过程。1在硬盘上创建一个实际目录:d:asptemp52为 d:asptemp 创建虚拟目录在“Internet 信息服务” 窗口,在“默认网站”单击鼠标右键,选择“新建”“虚拟目录”,按提示操作分别设置虚拟目录别名(例如:asp) 、实际的目录路径(例:d:asptemp)以及虚拟目录的权限。3运行虚拟目录下文件假设实际目录下有文件:1
6、.asp,则访问该文件:2 http:/localhost/asp/1.asp 在虚拟目录 ASP 属性中的“文档”,添加一个启用默认文档:1.asp;则访问该文件:http:/localhost/1.asp(三)在 Dreamweaver 2004 MX 下设置管理站点本课程实验的开发工具为 Dreamweaver 2004 MX,为了能方便的在此软件中创建、调试和运行程序,需要在 DW 中给网页程序设置管理站点。假设要实验的应用程序存储在实际路径 d:asptemp 中,它的虚拟目录名为 asp,在 DW 中的管理站点名设为 “ASP 实验站点” ,则具体操作如下:1启动 Dreamwea
7、ver 2004 MX 程序,选择:站点站点管理,则出现图 1-5 所示的对话框。图 1-52单击 “新建”按钮,选择“站点”,如图 1-6 所示。图 1-63输入站点名:ASP 实验站点;单击下一步,如图 1-7 所示。4选择单选按钮:是,我想使用服务器技术,然后根据下拉菜单选择:ASP VBScript。单击下一步,如图 1-8 所示。5选择文件存储的实际位置,该实验指南为:d:asptemp。单击下一步,如图 1-9 所示。6图 1-7图 1-8图 1-96输入该管理站点浏览的根目录,该实验指南为:http:/localhost/asp/,然后单击“测试 URL(T)”按钮,来测试设置是
8、否成功。注:asp 即为前面已经设置的路径为: d:asptemp 的虚拟目录名。测试成功,再单击“下一步“,如图 1-10 所示。7选择单选按钮“否” ,单击“下一步”则出现站点定义总结,然后按“完成“按钮,则结束对管理站点的设置。7图 1-10(四)编写并运行一个简单的 ASP 网页程序1启动 Dreamweaver 2004 MX,然后选择已建立的“ASP 实验站点”,在其下进行创建、编辑和运行文件。2文件新建,选择“动态页”和“ASP VBScript”,点按“创建”,在出现的屏幕上的与 之间加入以下 ASP 代码:3将网页保存到形如 d:asptemp目录下,文件可命名为 first
9、.asp。4选择“在浏览器中预览”,注意观察输出结果。(五)VBScript 函数函数是一种特定的运算,在程序中要使用一个函数时,只要给出函数名并给出一个或多个参数,就能得到它的函数值。VBScript 内部函数可分为:转换函数、字符串函数、日期和时间函数、数学函数和检验函数。1转换函数VBScript 对 Variant 变量一般会根据需要自动转换成合适的数据类型;但有时,自动转换有可能造成数据类型不匹配错误。此时,就应使用 VBScript 的转换函数来强制转换数据的子类型。常用的转换函数见下表:函数 功能CStr(Variant) 将变量 Variant 转化为字符串类型CDate(Va
10、riant) 将变量 Variant 转化为日期类型CInt(Variant) 将变量 Variant 转化为整数类型CLng(Variant) 将变量 Variant 转化为长整数类型CSng(Variant) 将变量 Variant 转化为 Single 类型CDbl(Variant) 将变量 Variant 转化为 Double 类型CBool(Variant) 将变量 Variant 转化为布尔类型2字符串函数常用字符串函数及功能如下表:函数 功能取字符串长度 Len(string)大、小写字母转换 Lcase(String), Ucase(String)Mid(string,star
11、t,length)Left(string,length)截取子字符串Right(string,length)删除空格 Trim(string), Ltrim(string), Rtrim(string)重复 String(num1,str1)空格 Space(num1)8取代字符串 Replace(str1,str2,str3)字符串拆分为 1 维数组 Split(str1,delimiter)返回字符串位置 InStr(str1,str2)3时间和日期函数函数 功能Now() 取得系统当前日期和时间Date() 取得系统当前日期Time() 取得系统当前时间Month(Date) 取得给定日
12、期的月份Day(Date) 取得给定日期是几号WeekDay(Date) 取得给定日期是星期几(星期天,1 到 6 分别为 17)Year(Date) 取得给定日期的年份DateDiff(“Var”,Var1,Var2) 计算日期或时间 Var1 与 Var2 的间隔“Var”:为时间间隔因子DateAdd(“Var”,num,date)num:间隔倍数;date:原始日期或时间对时间/日期 num 作加法FormatDateTime(Date,2) 显示短日期格式FormatDateTime(Date,1) 显示长日期格式FormatDateTime(Date,4) 显示短时间格式Forma
13、tDateTime(Date,3) 显示长时间格式4数学函数函数 功能Abs(number) 返回一个数的绝对值Sqr(number) 返回一个数的平方根Int(number) 取 number 的最大整数部分FormatNumber(num1,num2) 将 num1 转化为指定小数位 num2 的数Rnd() 返回 0 到 1 的随机数Ubound(数组名,维数 ) 返回最大下标数Lbound(数组名,维数) 返回最小下标数5检验函数函数 功能VarType(Variant) 返回变量 Variant 的数据子类型IsEmpty(Variant) 检查变量 Variant 是否为 Empt
14、yIsNull(Variant) 检查变量 Variant 是否为 NullIsObject(Variant) 检查变量 Variant 是否为对象类型IsNumeric(Variant) 检查变量 Variant 是否为数值类型IsArray(Variant) 检查变量 Variant 是否为数组类型IsDate(Variant) 检查变量 Variant 是否为日期类型(六)VBScript 脚本语言语句1条件语句 If Then End If9If 条件语句 Then执行语句End If If Then Else End If(单条件)If 条件语句 Then执行语句 1Else执行语句
15、 2End If If Then Else End If(多条件)If 条件语句 1 Then执行语句 1ElseIf 条件语句 2 Then执行语句 2Else执行语句 n+1End If Select Case 语句Select Case 变量或表达式Case 结果 1执行语句 1Case 结果 2执行语句 2Case 结果 n执行语句 nCase Else执行语句 n+1End Select2循环语句 For Next 循环For counter=start To end Step number执行语句Next Do Loop 循环Do While 条件 1执行语句Loop或Do执行语句
16、Loop While 条件 1 For EachIn 循环For Each In Next说明:对 中的每一个 依次执行一次。其集合元素为离散型的。(七)VBScript 过程在 VBScript 中,过程有两种: Sub 子程序和 Function 函数。(1) Sub 子程序1. Sub 子程序的语法:Sub 子程序名(参数 1,参数 2,)10语句End Sub2. 调用子程序1) Call 子程序名(参数 1,参数 2,) 2) 子程序名 参数 1,参数 2,(2) Function 函数3. Function 函数的语法:Function 函数名(参数 1,参数 2,)语句End F
17、unction4. 调用函数变量= Function 函数名(参数 1,参数 2,)函数可以向变量一样引用和参与运算 (八) “显示当月日历”实例分析该程序的运行结果为显示当月的日历,其输出形式为:1要解决的主要问题 首先要计算当月有多少天? 其次要计算 1 号是星期几? 依次计算每一天到底位于第几行第几列?(不算标题行)? 计算该表格总共有多少行? 画一个若干行 7 列的表格,将每一天输出到相应的单元格。2计算当月有多少天? 每个月的天数在 2831 的范围。 利用 Isdate()函数判断 29、30、31 是否是该月的合法日期。使用自定义函数 numday()来完成该功能。9 计算 1
18、号是星期几? 利用 Weekday()函数来判断,它返回值 1 到 7,分别对应星期日、星期一、 .、星期六,因此 1 号是星期几正好对应第几列。使用自定义函数 firstday()来完成。10 计算每一天位于第几行第几列? 一个月前面空出来的天数为:firstday()-1 如果(当天日+ firstday()-1)能被 7 整除,则行数为: ( 当天日+ firstday()-1 ) 7 ;否则行数为: ( 当天日+ firstday()-1 ) 7 +1 。两个合为一个式子:行= ( 当天日+ firstday()-2 ) 7 +1 列= ( 当天日+ firstday()-1 ) 7
19、Mod 7 但余数为 0,应该在第 7 列。使用 2 维数组来保存行、列信息。利用自定义函数 arraydate()来完成。11 计算日历总共有多少行? 根据月份不同,日历的行数可能是 4、5 和 6 行。 该月最后一天的行数,即为日历的总行数。 总行数= ( numDay()+ firstday()-2 ) 7 +1 使用自定义函数 numRow()来完成。3绘制表格,将每一天输出到该表格中11 利用嵌套循环输出数组中的每个值。4程序代码简单的日历 年月日一 二三四五六“ 开始一个新行For J=1 To 7If theDate(I,J)四、实验过程与结果(一)实验过程1配置 IIS 环境。
20、2ASP 文件的新建。3ASP 文件的保存。4ASP 文件的调试。(二)实验结果上交 asp 页面,完成实现报告13实验二:Request 对象的使用一 实验目的1. 熟悉 ASP 的语法规则;2. 掌握表单的制作方法;3. 掌握 Request 对象的使用方法;4. 掌握对 Request 对象采集的数据进行格式转换的方法。二 实验内容1. 学生选课系统基本信息搜集表单的建立,并实现数据的采集,输出采集的内容学号姓名性别密码(身份证号码)密码验证学院、专业(代码实现 如,信息学院 教育技术学专业 用 0101 表示)班级联系电话邮箱爱好备注要求: a. 加上密码验证功能,如果 2 次输入的密
21、码不匹配,输出错误提示。b.“爱好”通过列表输出。c. 最好是在同一个页面中实现所有功能(表单合并) 。三 实验提示ASP 几个重要的内部对象: Request 对象:从客户端获取数据 Response 对象:向客户端输出数据 Session 对象:记载特定客户的信息 Application 对象:记载同一个应用程序中的所有用户之间的共享信息 Server 对象:创建 COM 对象和 Scripting 组件等 (一)Request 对象Request 对象:用于接受所有从浏览器发往服务器的请求内的所有信息。Request 对象的语法:Request.数据集合|属性|方法(变量或字符串)1Re
22、quest 对象的集合(获取方法)对象 功能QueryString 从查询字符串中读取用户提交的数据Form 取得表单信息Cookies 取得客户端浏览器的 Cookie 信息ServerVariables 取得服务器环境变量信息ClientCertificate 取得客户端浏览器的身份验证信息2Request 对象的属性属性 功能TotalBytes 只读属性,取得客户端响应数据的字节大小143Request 对象的方法属性 功能BinaryRead 以二进制码方式读取客户端 POST 数据(二)Response 对象功能:将输出发送到客户端。Response 对象的语法:Response.
23、集合|属性|方法1Response 对象的方法方法 功能Write 输出信息到客户端浏览器Redirect 引导客户端浏览器至新的 Web 页面BinaryWrite 输出二进制信息到客户端浏览器Clear 清除在缓冲区的所有 HTML 页面End 终止处理 ASP 程序,并返回当时的状况Flush 立即送出缓冲区的 HTML 数据2Response 对象的属性属性 功能Buffer 设置是否把 Web 页面输出至缓冲区,取值为 false 或 true;默认为 falseContentType设置服务器响应给客户端的 HTTP 文件形式;如果未指定,默认为 TEXT/HTML3Respons
24、e 对象的集合属性 功能Cookies 设置客户端的 Cookie 值 设置 Cookies语法:Response.Cookies(“cookiesname”)=“cookiesvalue”功能:将 cookiesvalue 写入至客户端硬盘。 设定 Cookies 的有效期语法:Response.Cookies(“cookiesname”).expires=“settingtime”功能:将 Cookies 设为永久的方式,其有效期为 settingtime。(1) 取出 Cookies语法:Request.Cookies(“cookiesname”)功能:取得客户端硬盘内所存的 Cooki
25、es 值。(三)实例分析:网站注册和进入1程序功能若是首次访问本网站,则先注册,并把用户名记入 cookies;若是老顾客,则直接进入网站。15主程序:4_index.asp注册程序:4_login.asp主页显示程序:4_home.asp 验证程序:4_verify.asp新用户 老用户提交失败 成功2程序流程(1)主程序:4_index.asp判用户名是否写入 cookies? 开始注册程序:response.redirect “4_login.asp“主页显示程序:N Y判传递的参数类别? 开始老客户,显示“欢迎再次光临!” 新客户,显示“欢迎首次光临!” 1 016开始判传递的参数类别
26、? 主页显示程序:用户名写入 cookies,有效期设为 3 年显示错误!重新注册:合法有错(2) 注册程序:4_login.asp开始FORM 表单输入:用户名密码密码确认E-mailQQ 号 调 4_verify.asp 验证输入提交(3) 验证程序:4_verify.asp3程序代码 主程序:4_index.asp” thenresponse.write “进入主页”elseresponse.redirect “4_login.asp” 注册end if % 主页显示程序:4_home.asp无标题文档 17 注册程序:4_login.asp用户注册 用户注册用户名:*密码:* (密码长
27、度不能少于 6 位数)密码确认:*E_mail:*QQ 号: 验证程序:4_verify.asp您的密码不能为空且不能少于 6 位数!”End IfIf Trim(Request(“user_pass1”)5删除:Delete_form.asp利用 Delete 语句删除选择的网站信息记录 。具体代码如下:6修改:Update_form.asp 从数据库表 Link 中取出要修改的网站信息记录,并形成Form 修改表单。利用 Update 语句修改数据库表中的记录 。代码如下:修改记录表单示例修改网站 网站名称“网站地址“网站简介四 实验过程与结果(一)实验过程1. 建立 access 数据库
28、。2. 建立表单,实现注册信息内容的获取界面。3. 建立连接页面,实现数据库连接代码的编写。4. 建立插入页面,实现注册信息的提取和注册信息写入数据库。5. 编写信息查询页面,实现个人信息的显示页面。并加上编辑、删除按钮。6. 编写删除页面,实现信息的删除。7. 编写编辑页面,建立表单,实现信息输出的外观,建立查询,实现信息的输出。然后集成信息的更新功能到该页面,实现信息的显示与修改功能。(二)实验结果上交 asp 页面,完成实现报告30实验五:简易留言本的实现一 实验目的1. 会分析系统的功能,以实现简单的应用 2. 能根据系统功能设计相应的数据库3. 复习和巩固数据库连接和操作方法二 实验
29、内容1. 设计数据库,画出数据表的结构。2. 画出网页之间的跳转关系和参数传递等信息。3. 留言本的实现三 实验提示(一)总体设计设计思想:对普通客户来说,只要能浏览和添加留言即可;而对管理员来说,除了浏览和添加留言外,最好还能删除和回复留言。因此该系统包括如下主要 ASP 文件:1首页 index.asp:在其中显示原有留言(20 个一页)和一个添加留言的表单。2添加留言 add.asp:当客户在首页表单中输入内容后,就传递到本页面,添加完毕后自动返回首页。3删除留言 delete.asp:单击首页中的“ 删除”超链接就可以打开本页面,输入管理员密码后就可以删除该信息,删除完毕返回首页。4回复留言 radd.asp:单击首页中的“ 回复”超链接就可以打开本页面,输入管理员密码后就可以回复该信息,回复完毕返回首页留言版系统框架结构如下:(二)数据库设计数据库系统采用 Access 2000,数据库为 Guestmdb,并包含一个数据表 guest,其结构如下:首页:index.asp1.添加留言的表单2.原有留言添加留言:add.asp(在数据表中增加一个记录)回复留言:readd.asp(在表单中回复所选留言,并输入管理员密码)删除留言:delete.asp(输入管理员密码,在数据表中删所选记录)添加 添加 删除