第3章 ASP 基础学习
3-1 ASP 的特点和功能
* 动态服务器网页 ASP(Active Server Pages)
服务器端的编写环境,
用于创建和运行动态的交互式Web服务器应用程序。
* 通用网关接口 CGI(Common Gateway Interface)
* ADO(ActiveX Data Object)
ActiveX:控件,实现特殊功能的部件;
与ASP结合建立提供数据资源的网页;
通过 ADO 接口访问数据库。
3-1-2 ASP 功能(P70)
处理用户提交的表单,完成交互过程;
访问和编辑服务器的数据库内容;
读写 Web 服务器端的文件,如访客计数器;
通过 Cookies 读写用户端的文件。
3-1-3 ASP 的工作流程
客户端 浏览器 Windows98 |
HTTP Request 请求 ASP 程序 ————————→ ←———————— HTTP Response 响应返回HTML网页 |
WWW 服务器 Windows2000 IIS5.0 VBScript JScript |
——→ ←—— |
ASP 运行动态的 交互式 Web服务器 应用程序 |
|↑ || ↓| |
||||
ADO 接口 访问数据库 |
——→ ←—— |
MDB 数据库 |
3-2 ASP 文件结构
1.简单的 ASP 程序
<% @ LANGUAGE=VBScript %>
<!- 设置服务器脚本语言VBScript -!>
<html>
<head>
<title>简单的 ASP 程序</title>
</head>
<p>
<%
' 注释 Now begin
' ASP 脚本定界符 <%......%>,
' ASP 脚本块在服务器端执行,输出结果与 HTML 代码整合。
response.write"Hello,world!<br>"
' 响应对象中的输出方法
response.write"Now Time:"&now()
%>
</p>
</body>
</html>
3-3 ASP 的基本语法(P72)
HTML 定界符 <......>,
ASP 脚本定界符 <%......%>。
MS 的<Script> 默认在客户端执行;
指定在服务器端执行:RunAt=Server
3-4 在 ASP 中捆绑 HTML 和 VBScript
3-4-1 声明脚本语言
1.在 ASP 页面中包含 Script 脚本选择(例3-3 P74)
<Script LANGUAGE=JScript RunAt=Server>
response.write"Hello.world!"
</Script>
2.VBScript、JScript脚本混用(例3-5 P75)
<% @ LANGUAGE=VBScript %>
…………
<Script LANGUAGE=JScript RunAt=Server>
' JScript 脚本
response.write"Hello.world!"
</Script>
<%
' VBScript 脚本
response.write"Now Time:"&now()
%>
3-4-2 HTML 文件中应用 ASP 变量(P76)
1.引用 ASP 中的日期变量
Today is <%=date%>
或 <% response.write(date) %>
2.返回浏览器的HTML 代码
Today is 当前系统日期
3-4-3 在 ASP 中使用基本脚本语言
1.FOR 循环语句(P77)
for I=1 to 3
response.write"Now I am in FOR and the counter is"&I&<br>
next
2.DO...LOOP 循环语句(P78)
I=1
do while I<4
response.write"Now I am in DO...LOOP
and the counter is"&I&"<br>
I=I+1
loop
3.格式化日期(P79)
today=now()
for I=0 to 4
response.write"<hr>Today is:"&today&"<br>
select case I
case 0
formatno="VbGeneralDate"
......
end select
response.write"FormatDateTime(now(),"&I&")
="&FormatDateTime(today,i)
next
4.格式化化数字(P80)
number=1234.5678
......
response.write"FormatNumber("&mumber&,2")is:"
response.write FormatNumber(mumber,2)&"<hr>"
5.使用 WITH 语句(P81)
减少代码重复
with response
.write"Hello,world!<br>"
......
.write"Now end.<br>"
end with
6.使用函数和过程(P82)
使用函数
number=64
response.write"The result is:"&sqr(number)
使用过程
<%Call MyFunc%>
......
</html>
<SCRIPT RunAt=Server language=VBScript>
function MyFun()
response.write"Now call my function!"
End Fumction
</SCRIPT>
3-5 ASP 提供的内置对象和组件(P83)
1.对象:包含实体的操作和数据组成的变量。
2.组件:包含在动态链接库.dll或要执行文件.exe中,
提供对象、方法、属性。
3.使用组件对象:创建对象的实例,为实例分配变量名。
创建访问数据库的对象实例 cn:
Set cn=Server.CreateObject("ADODB.Connection")
变量 cn=
服务器对象.创建对象方法("访问数据库的对象.链接方法")
3-5-1 ASP 的内置对象(P84)
* ASP 的内置对象:供脚本中使用。
用于收集浏览器请求信息、响应浏览器、存储用户信息。
1.请求对象 Request:访问浏览器表单请求的数据。
2.响应对象 Response:响应浏览器请求返回处理结果数据。
3.服务器对象 Server:提供服务器功能。
4.应用程序对象 Application:使给定应用程序的用户共享信息。
5.会话对象 Session:维护用户信息,存储用户会话信息。
6.页面处理对象 ObjectContext:页面内事务处理。
3-5-2 ASP 的服务器组件
* ActiveX 服务器组件用于制作动态交互网页。
1.循环演示广告组件 Ad Rotator
2.数据库访问组件 Database Access:
ActiveX Data Objects (ADO) 访问数据库对象。
3.文件输入输出访问组件 File Access。
4-1 利用 Request 对象取得数据(P86)
语法:Request [.集合|属性|方法](变量)
举例:从表单中取得 Username 信息。
Request.form("username")
若不指明集合名"form",ASP 按下列顺序搜索:
QueryString 查询字符串
Form 表单
Cookie 客户机标记
Servervariable 服务器变量
4-1-1 QuetyString 集合(P87)
例子:提交到服务器端的 Access.asp 文件进行相应的处理。
<form method="get" action="access.asp">
'输入用户名,如 fsxss
账号:<input type="text" name="username"><br>
密码:<input type="password" name="userpassword"><br>
<input type="submit" name="submit" value="登录">
<input type="reset" name="reset" value="重置">
</form>
<%
dim userid
dim pwd
'username---userid
userid=request.querystring("username")
pwd=request.querystring("userpassword")
'如果用户名 userid="fsxss"
if userid="fsxss" and pwd="abc123" then
’登录成功!
response.write"登录成功!"
else response.write"错误!注意密码大小写!"
end if
%>
在 IE 浏览器地址栏中用“?”分隔 access.asp 和 username。
查询“?”后的指定值。
http://localhost/access.asp
? username=fsxss & userpassword=abc123
浏览器配对传递表单中的变量 name=value。
request.querystring 集合配对存取 name=value。
* GET 方法:获取信息,简单方式把请求数据传递到服务器端。
4-1-2 Form 集合(P88)
* POST 方法:检索邮送信息,将 HTML 表单数据提交到服务器端。
4-1-4 读取 Cookies(P93)
* 被访问的站点对客户机硬盘留下唯一标识客户机地址的标记。
使用 Cookies 可以在网页之间交换信息。
4-3 使用 Session 对象保存用户数据(P104)
* 网页间传递变量的会话 Session 对象存储用户会话信息。
Session 要求浏览器支持 Cookie。
4-4-1 Application 对象的属性(P110)
站点计数器
<%
Application("jsq")=Application("jsq")+1
%>
计数器:<%=Application("jsq")%>
4-6 Active X 服务器组件
4-6-1 Ad Rotator 组件(P119)
循环显示广告图像。
4-6-3 Database Access 组件(P124)
* ADO(ActiveX Data Objects):
供 Database Access 组件访问数据库用。
* ADO 主要对象:
数据连接对象(Connection),实例:如cn。
数据命令对象(Command),实例:如cmd。
记录集对象(Recordset),实例:如rs。
* Recordset 对象访问数据库方式:
打开(Open)、增加(Addnew)、删除(Delete)、
更新(Update)、移动到下一记录(MoveNext)。