1. 了解并掌握 Windows 2000/NT服务器上IIS(Internet服务管理器)的安装与配置;
2. 了解并掌握虚拟目录的设置方法;
3. 了解并掌握ASP文件上传、下载和运行方法。
4. 掌握Dreamweaver MX站点环境的设置。
5. 按教材所介绍的方法,在自己的个人计算机上不同的Windows系统安装IIS或PWS。
6. 编写一个简单的ASP网页程序,实现在浏览器IE中输出“这是我的第一个ASP程序!”。
(一)IIS的安装与配置
ASP必须运行在服务器上,因此实验的第一项工作是构建服务器运行环境。本实验指导以Windows 2000操作系统下的IIS 5.0进行操作说明。
1.安装IIS
开始->控制面板->添加删除程序->添加/删除Windows组件->Windows组件向导,则出现如下对话框:
若没选取IIS信息服务(IIS),则选择,并点按“下一步”按钮,按屏幕提示安装。
2.检验安装
在IE浏览器的地址栏输入:http://localhost 或http://127.0.0.1,观察其结果。3.
. 配置IIS 5.0
开始->控制面板->管理工具-> Internet服务管理器,则出现如下对话框:
对“默认网站”单击鼠标右键,出现弹出菜单,选择“属性”,则屏幕显示:
可根据需要修改默认网站的属性,一般多为“主目录”和“文档”。
主目录中主要包括网站在本地机器中的实际路径以及相关权限;文档则设置网站启用的默认文档。
(二)虚拟目录的设置
要从主目录以外的其他目录中进行发布,就必须创建虚拟目录。“虚拟目录”不包含在主目录中,但在显示给客户浏览器时就象位于主目录中一样。虚拟目录有一个“别名”,供Web浏览器用于访问此目录。别名通常要比目录的路径名短,便于用户输入。使用别名更安全,因为用户不知道文件是否真的存在于服务器上,所以便无法使用这些信息来修改文件。
本实验以对实际路径(例如:d:\asptemp)创建虚拟目录来说明其操作过程。
1.在硬盘上创建一个实际目录:d:\asptemp
2.为d:\asptemp创建虚拟目录
在“Internet信息服务”窗口,在“默认网站”单击鼠标右键,选择“新建”->“虚拟目录”,按提示操作分别设置虚拟目录别名(例如:asp)、实际的目录路径(例:d:\asptemp)以及虚拟目录的权限。
3.运行虚拟目录下文件
假设实际目录下有文件:1.asp,则访问该文件:
⑴ http://localhost/asp/1.asp
⑵ 在虚拟目录ASP属性中的“文档”,添加一个启用默认文档:1.asp;则访问该文件:http://localhost/asp
(三)在Dreamweaver 2004 MX下设置管理站点
本课程实验的开发工具为Dreamweaver 2004 MX,为了能方便的在此软件中创建、调试和运行程序,需要在DW中给网页程序设置管理站点。假设要实验的应用程序存储在实际路径d:\asptemp中,它的虚拟目录名为asp,在DW中的管理站点名设为“ASP实验站点”,则具体操作如下:
1.启动Dreamweaver 2004 MX程序
2.选择:站点→站点管理
3.单击“新建”按钮,选择“站点”,则屏幕显示:
输入站点名:ASP实验站点;单击下一步,显示如下对话框:
选择单选按钮:是,我想使用服务器技术,然后根据下拉菜单选择:ASP VBScript。单击下一步,显示如下对话框:
选择文件存储的实际位置,该实验指南为:d:\asptemp。单击下一步,继续显示如下:
注:asp即为前面已经设置的路径为:d:\asptemp 的虚拟目录名。
测试成功,再单击“下一步“,出现:
选择单选按钮“否”,单击“下一步”则出现站点定义总结,然后按“完成“按钮,则结束对管理站点的设置。
(四)编写并运行一个简单的ASP网页程序
1.启动Dreamweaver 2004 MX,然后选择已建立的“ASP实验站点”,在其下进行创建、编辑和运行文件。
2.文件→新建,选择“动态页”和“ASP VBScript”,点按“创建”,在出现的屏幕上的与之间加入以下ASP代码:
3.将网页保存到形如d::\asptemp\目录下,文件可命名为first.asp。
⒋ 选择“在浏览器中预览”,注意观察输出结果。
1.某同学开发了一个显示来访时间的 ASP 文件,存放在 C:\inetpub\wwwroot 下,然后在资源管理器中双击该文件,却不能正常显示,请问是什么原因?
2.想一想,把一个 HTML 网页文件直接更改扩展名为.asp 行不行?
3.请根据自己的实际情况搭建 ASP 的运行环境。
4.请在 C:\Inetpub\wwwroot 下 建立子文件 夹 asptemp,并为其设置虚拟目录为asptemp,并设置默认文档为 index.asp 和 index.htm。
5.请参考 IIS 的专门书籍好好研究一下,并思考是否一定要在 C:\Inetpub\ wwwroot 下开发 ASP 文件?可不可以放在别的文件夹下?
1.了解并掌握VBScript脚本程序设计语言的基本语法知识及简单程序设计方法;
2.熟练掌握ASP环境中的输出方法;
3.熟练掌握VBScript的If语句和Select Case语句的编程技术;
4.熟练掌握VBScript的For…Next、Do…Loop和For each…In等循环语句的编程技术;
⒈ 利用VBScript在网页中输出当前的时间和日期。
⒉ 上机验证教材上的VBScript各个函数的功能,熟悉其用法。
⒊ 上机验证教材上的例3-1至例3-8。
⒋ 试用VBScript编程,实现计算并输出1到10的阶乘之和。
⒌ 试用VBScript编程,实现计算并输出100到500的之间的水仙花数(水仙花数是指该数的值等于各位数字的立方和)。
⒍ 试用VBScript编程,利用数组实现矩阵乘法。
(一)VBScript函数
函数是一种特定的运算,在程序中要使用一个函数时,只要给出函数名并给出一个或多个参数,就能得到它的函数值。
VBScript内部函数可分为:转换函数、字符串函数、日期和时间函数、数学函数和检验函数。
1.转换函数
VBScript对Variant变量一般会根据需要自动转换成合适的数据类型;但有时,自动转换有可能造成数据类型不匹配错误。此时,就应使用VBScript的转换函数来强制转换数据的子类型。
常用的转换函数见下表:
函数 | 功能 |
CStr(Variant) | 将变量Variant转化为字符串类型 |
CDate(Variant) | 将变量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,start[,length]) |
Left(string,length) |
Right(string,length) |
删除空格 | Trim(string), Ltrim(string), Rtrim(string) |
重复 | String(num1,str1) |
空格 | Space(num1) |
取代字符串 | Replace(str1,str2,str3) |
字符串拆分为1维数组 | Split(str1,delimiter) |
返回字符串位置 | InStr(str1,str2) |
3.时间和日期函数
函数 | 功能 |
Now() | 取得系统当前日期和时间 |
Date() | 取得系统当前日期 |
Time() | 取得系统当前时间 |
Month(Date) | 取得给定日期的月份 |
Day(Date) | 取得给定日期是几号 |
WeekDay(Date) | 取得给定日期是星期几 (星期天,1到6分别为1~7) |
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) | 显示短时间格式 |
FormatDateTime(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是否为Empty |
IsNull(Variant) | 检查变量Variant是否为Null |
IsObject(Variant) | 检查变量Variant是否为对象类型 |
IsNumeric(Variant) | 检查变量Variant是否为数值类型 |
IsArray(Variant) | 检查变量Variant是否为数组类型 |
IsDate(Variant) | 检查变量Variant是否为日期类型 |
(二)VBScript脚本语言语句
1.条件语句
⑴ If Then End If
If 条件语句 Then
执行语句
End If
⑵ If Then Else End If(单条件)
If 条件语句 Then
执行语句1
Else
执行语句2
End If
⑶ If Then Else End If(多条件)
If 条件语句1 Then
执行语句1
ElseIf 条件语句2 Then
执行语句2
……..
Else
执行语句n+1
End If
⑷ Select Case 语句
Select Case 变量或表达式
Case 结果1
执行语句1
Case 结果2
执行语句2
……
Case 结果 n
执行语句n
Case Else
执行语句n+1
End Select
2.循环语句
⑴ For …… Next循环
For counter=start To end [Step number]
执行语句
Next
⑵ Do …… Loop循环
Do While 条件1
执行语句
Loop
或
Do
执行语句
Loop While 条件1
⑶ For Each…In循环
For Each <元素> In <集合>
<语句>
Next
说明:对<集合>中的每一个<元素> 依次执行<语句>一次。其集合元素为离散型的。
(三)VBScript过程
在VBScript中,过程有两种:Sub子程序和Function函数。
(1) Sub子程序
● Sub子程序的语法:
Sub 子程序名(参数1,参数2,…)
语句……
End Sub
● 调用子程序
1) Call 子程序名(参数1,参数2,…)
2) 子程序名 参数1,参数2,…
(2) Function函数
● Function函数的语法:
Function 函数名(参数1,参数2,…)
语句……
End Function
● 调用函数
变量= Function 函数名(参数1,参数2,…)
函数可以向变量一样引用和参与运算
(四)“显示当月日历”实例分析
该程序的运行结果为显示当月的日历,其输出形式为:
3.要解决的主要问题
⑴ 首先要计算当月有多少天?
⑵ 其次要计算1号是星期几?
⑶ 依次计算每一天到底位于第几行第几列?(不算标题行)?
⑷ 计算该表格总共有多少行?
⑸ 画一个若干行7列的表格,将每一天输出到相应的单元格。
8. 计算当月有多少天?
● 每个月的天数在28~31的范围。
● 利用Isdate()函数判断29、30、31是否是该月的合法日期。
● 使用自定义函数numday()来完成该功能。
9. 计算1号是星期几?
● 利用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 Mod 7 但余数为0,应该在第7列。
● 使用2维数组来保存行、列信息。利用自定义函数arraydate()来完成。
11. 计算日历总共有多少行?
● 根据月份不同,日历的行数可能是4、5和6行。
● 该月最后一天的行数,即为日历的总行数。
● 总行数= ( numDay()+ firstday()-2 ) \ 7 +1
● 使用自定义函数numRow()来完成。
4.绘制表格,将每一天输出到该表格中
● 利用嵌套循环输出数组中的每个值。
● 如果数组值为0,就输出一个空格;如果不为0,可分为3种情况:当天,蓝色加粗显示;周末,红色显示;其他则黑色。
5.程序代码
年月
1.在你的个人主页上添加时间显示信息,显示当天的日期、时间及星期几。
2.请编写程序段,将字符串“祖国”和“万岁”两边的空格去掉,并连成一个字符串“祖国万岁”。
3.请编写程序段,判断当天日期,如果是 25 日,则显示“请注意,明天可能有病毒发作”。
4.S=1^2+3^2+5^2+…+99^2,请利用两种循环语句编写程序,计算 S 的值。(提示:注意步长)。
5.请编写函数计算 a 到 b 的立方和,并举例调用,调用时 a、b 分别为 3 和 6。
6.有 100 个和尚吃 100 个馒头,大和尚 1 人吃 4 个,小和尚 4 人吃 1 个,问有多少个大和尚和多少个小和尚?(提示:使用循环嵌套和判断语句)
实验三 Request和Response程序设计 TOP 1.熟练掌握利用Request对象从客户端获得信息的技术;
2.熟练掌握Form和QueryString方法,编制用户注册信息的填写与显示程序;
3.熟练掌握利用Response对象向客户端输出信息的技术;
4.熟练掌握Write、Redirect和Cookies方法,编制相关的验证演示程序。
1.上机验证教材上的例4-1至例4-7。
2.试编写一个简单的注册程序,客户注册后显示客户的注册信息。
3.试编写一个HTML页面,在页面中输出4个多项选择题,题目内容自拟,每个题目均有A、B、C和D四个选项,当用户单击“交卷”按钮时,提交答案给grade.asp页面,grade.asp页面获得表单所提交的数据后,将数据直接输出给客户端,以显示用户对各题所作出的选择。
4.试编写一个ASP程序,实现在浏览器中显示接受请求的服务器的IP地址、服务器的端口号、当前网页的实际物理路径、当前网页的虚拟路径和发出请求的客户端IP地址。
ASP几个重要的内部对象:
● Request对象:从客户端获取数据
● Response对象:向客户端输出数据
● Session对象:记载特定客户的信息
● Application对象:记载同一个应用程序中的所有用户之间的共享信息
● Server对象:创建COM对象和Scripting组件等
(一)Request对象
Request对象:用于接受所有从浏览器发往服务器的请求内的所有信息。
Request对象的语法:Request[.数据集合|属性|方法](变量或字符串)
1.Request对象的集合(获取方法)
对象 | 功能 |
QueryString | 从查询字符串中读取用户提交的数据 |
Form | 取得表单信息 |
Cookies | 取得客户端浏览器的Cookie信息 |
ServerVariables | 取得服务器环境变量信息 |
ClientCertificate | 取得客户端浏览器的身份验证信息 |
2.Request对象的属性
属性 | 功能 |
TotalBytes | 只读属性,取得客户端响应数据的字节大小 |
3.Request对象的方法
属性 | 功能 |
BinaryRead | 以二进制码方式读取客户端POST数据 |
(二)Response对象
功能:将输出发送到客户端。
Response对象的语法:Response.集合|属性|方法
1.Response对象的方法
方法 | 功能 |
Write | 输出信息到客户端浏览器 |
Redirect | 引导客户端浏览器至新的 Web 页面 |
BinaryWrite | 输出二进制信息到客户端浏览器 |
Clear | 清除在缓冲区的所有HTML页面 |
End | 终止处理ASP程序,并返回当时的状况 |
Flush | 立即送出缓冲区的HTML数据 |
2.Response对象的属性
属性 | 功能 |
Buffer | 设置是否把Web页面输出至缓冲区, 取值为false或true;默认为 false |
ContentType | 设置服务器响应给客户端的HTTP文件形式; 如果未指定,默认为TEXT/HTML |
3.Response对象的集合
属性 | 功能 |
Cookies | 设置客户端的Cookie值 |
⑴ 设置Cookies
语法:Response.Cookies(“cookiesname”)=“cookiesvalue”
功能:将cookiesvalue写入至客户端硬盘。
⑵ 设定Cookies的有效期
语法:Response.Cookies(“cookiesname”).expires=“settingtime”
功能:将Cookies设为永久的方式,其有效期为settingtime。
(1) 取出Cookies
语法:Request.Cookies(“cookiesname”)
功能:取得客户端硬盘内所存的Cookies值。
(三)实例分析:网站注册和进入
1.程序功能
若是首次访问本网站,则先注册,并把用户名记入cookies;若是老顾客,则直接进入网站。
12.程序结构
2.程序流程
⑴ 主程序:4_index.asp
⑵ 主页显示程序:4_home.asp(有参数jr)
⑶ 注册程序:4_login.asp
⑷ 验证程序:4_verify.asp
2.程序代码
⑴ 主程序:4_index.asp
⑵ 主页显示程序:4_home.asp
⑶ 注册程序:4_login.asp
用户注册
用户名: | * |
密码: | * (密码长度不能少于6位数) |
密码确认: | * |
E_mail: | * |
QQ号: | |
| |
⑷ 验证程序:4_verify.asp
1.Response 的 Write 方法的两种写法有何区别。
2.Redirect 方法和超链接的区别是什么?
3.当使用 Redirect 方法时,为什么有时要在文件开头加这句话?
4.请开发一个简单的在线考试程序,可以包括若干道单选题、多选题,单击交卷按钮后就可以根据标准答案在线评分
, <>”” then
else
response.redirect “4_login.asp” ‘注册
end if
%>
⑵ 主页显示程序:4_home.asp
⑶, 注册程序:4_login.asp
用户注册
用户名: | * |
密码: | * (密码长度不能少于6位数) |
密码确认: | * |
E_mail: | * |
QQ号: | |
| |
⑷ 验证程序:4_verify.asp
四、实验思考题
1.Response 的 Write 方法的两种写法有何区别。
2.Redirect 方法和超链接的区别是什么?
3.当使用 Redirect 方法时,为什么有时要在文件开头加这句话?
4.请开发一个简单的在线考试程序,可以包括若干道单选题、多选题,单击交卷按钮后就可以根据标准答案在线评分