54
第第第 第第第 Asp Asp 第第第第 第第第第

第四讲 Asp 内置对象

  • Upload
    sylvie

  • View
    143

  • Download
    11

Embed Size (px)

DESCRIPTION

第四讲 Asp 内置对象. Asp 内置对象. ASP 编程代码包括两部分: 1 、一种脚本语言 2 、一组内置对象. 使用 VBSCRIPT 编写的 ASP 程序:.

Citation preview

Page 1: 第四讲  Asp 内置对象

第四讲 第四讲 AspAsp 内置对象内置对象

Page 2: 第四讲  Asp 内置对象

AspAsp 内置对象内置对象ASP 编程代码包括两部分: 1 、一种脚本语言 2 、一组内置对象

Page 3: 第四讲  Asp 内置对象

使用使用 VBSCRIPTVBSCRIPT 编写的编写的 ASPASP 程序:程序:<HTML><HTML><BODY><BODY><%<%

select case Request.Form("add")select case Request.Form("add")case "tsinghua"case "tsinghua"

Response.Redirect "http://www.tsinghua.edu.cn"Response.Redirect "http://www.tsinghua.edu.cn"case "yahoo"case "yahoo"

Response.Redirect "http://www.yahoo.com"Response.Redirect "http://www.yahoo.com"case "sina"case "sina"

Response.Redirect "http://www.sina.com.cn"Response.Redirect "http://www.sina.com.cn"end selectend select

%>%></BODY></BODY></HTML></HTML>

Page 4: 第四讲  Asp 内置对象

AspAsp 内置对象内置对象Active Server Pages (ASP) Active Server Pages (ASP) 结构五个重要的内建对象:结构五个重要的内建对象:

• Request Request • Response Response • Server Server • SessionSession• Application Application

Page 5: 第四讲  Asp 内置对象

RequestRequest 与与 ResponseResponse

浏览器浏览器 WEBWEB 服务器服务器HTTPHTTP 响应响应

TCP/IPTCP/IP

HTTPHTTP 请求请求

•Request Request 读用户的输入信息读用户的输入信息•Response Response 向用户输出信息向用户输出信息

RequestRequest

ResponseResponse

ASPASP

用户请求信息用户请求信息

反馈信息反馈信息

Page 6: 第四讲  Asp 内置对象

一、功能概述 :

Request Request 对象在 对象在 HTTP HTTP 请求期间,检索客户端浏览器传递请求期间,检索客户端浏览器传递给服务器的值 。给服务器的值 。语法语法Request[.Request[.collection|property|methodcollection|property|method](](variablevariable) )

集合集合 ::

ClientCertificateClientCertificate

存储在发送到 存储在发送到 HTTP HTTP 请求中客户端证书中的字段值。请求中客户端证书中的字段值。CookiesCookies HTTP HTTP 请求中被发送的 请求中被发送的 cookie cookie 的值。 的值。 FormForm HTTP HTTP 请求正文中表格元素的值。 请求正文中表格元素的值。

RequestRequest 对象对象

Page 7: 第四讲  Asp 内置对象

ServerVariablesServerVariables 预定的环境变量的值。 预定的环境变量的值。 QueryStringQueryString HTTP HTTP 中查询字符串中变量的值。 中查询字符串中变量的值。

属性属性TotalBytesTotalBytes 只允许读。指定客户端在请求正文中发送的字只允许读。指定客户端在请求正文中发送的字节总数。节总数。

方法方法BinaryReadBinaryRead 检索从客户端发送到服务器作为 检索从客户端发送到服务器作为 POST POST 请求的一请求的一部分的数据。部分的数据。

Page 8: 第四讲  Asp 内置对象

RequestRequest

querystringquerystring

当用当用 getget 方法提交表单,数据方法提交表单,数据被保存在被保存在 querystringquerystring 集合中集合中语法:语法:Request.querystring(Request.querystring( 变量)变量) .[index|.count].[index|.count]

Page 9: 第四讲  Asp 内置对象

Request Request 例子:例子:文件:文件: 4-6.htm4-6.htm

<html><html><body ><body ><form method="get" action="4-6.asp"><form method="get" action="4-6.asp"> 姓名: 姓名: <input type="text" name="name"> <br><input type="text" name="name"> <br> 密码: 密码: <input type="password" name="pwd"><br><input type="password" name="pwd"><br> 性别: 性别: <select name="gender"><select name="gender"> <option><option> 男男 </option></option> <option><option> 女女 </option></option> </select> <br></select> <br> <input type="submit" name="Submit" value="<input type="submit" name="Submit" value=" 提交提交 ">"> <input type="reset" name="Submit2" value="<input type="reset" name="Submit2" value=" 重置重置 ">"></form></form></body></body></html></html>

Page 10: 第四讲  Asp 内置对象

Request Request 例子:例子:文件:文件: 4-6.ASP4-6.ASP

<%@ Language=VBScript %><%@ Language=VBScript %><% <% Response.Expires=0 Response.Expires=0 Sname =Request.QueryString("name")Sname =Request.QueryString("name")Spwd =Request.QueryString("pwd") Spwd =Request.QueryString("pwd") SGender =Request.QueryString("gender")SGender =Request.QueryString("gender")%>%><HTML><HTML><BODY><BODY>姓名姓名 : <%= Sname%><Br><Br>: <%= Sname%><Br><Br>密码密码 : <%= Spwd%><Br><Br>: <%= Spwd%><Br><Br>性别性别 : <%= SGender%><Br><Br>: <%= SGender%><Br><Br>URLURL 后面的字符串后面的字符串 : <Br>: <Br><%= Request.ServerVariables("Query_String")%><%= Request.ServerVariables("Query_String")%></BODY></BODY></HTML></HTML>

Page 11: 第四讲  Asp 内置对象

RequestRequest

FormForm

当用当用 POSTPOST 方法提交表单,数据方法提交表单,数据被保存在被保存在 FormForm 集合中集合中

元素:表单元素名称元素:表单元素名称 Index:Index: 表单多值中表单多值中 1~request.form(1~request.form( 参数参数 ).Count).Count 中的一个中的一个 Count:Count: 集合中元素的个数集合中元素的个数

语法:语法: request.Form(request.Form( 元素)元素) [.index|.count][.index|.count]

Page 12: 第四讲  Asp 内置对象

RequestRequestForm Form 集合例子: 文件(集合例子: 文件( 4-7.htm4-7.htm ))

<html><html><body><body><form method="post" action="4-7.asp"><form method="post" action="4-7.asp"> 姓名: 姓名: <input type="text" name="yourname"><br><input type="text" name="yourname"><br> 性别: 性别: <select name="gender"><select name="gender"> <option><option> 男男 </option></option> <option><option> 女女 </option></option> </select> <br></select> <br> 爱好(可多选):爱好(可多选): <br> <br> <input name="hobby" type="checkbox" value="<input name="hobby" type="checkbox" value=" 电脑电脑 ">"> 电电脑脑 <input name="hobby" type="checkbox" value="<input name="hobby" type="checkbox" value=" 游戏游戏 ">"> 游游戏戏 <input name="hobby" type="checkbox" value="<input name="hobby" type="checkbox" value=" 体育体育 ">"> 体体育育 <input name="hobby" type="checkbox" value="<input name="hobby" type="checkbox" value=" 阅读阅读 ">"> 阅阅读读 <br><br> 留言: 留言: <textarea name="message"><textarea name="message"></textarea> <br></textarea> <br> <input type="submit" name="Submit" value="<input type="submit" name="Submit" value=" 提交提交 ">"> <input type="reset" name="Submit2" value="<input type="reset" name="Submit2" value=" 重置重置 ">"></form></form></body></body></html></html>

Page 13: 第四讲  Asp 内置对象

RequestRequestForm Form 集合例子: 文件(集合例子: 文件( 4-7.asp4-7.asp ))

<%@ Language=VBScript %><%@ Language=VBScript %><% <% Response.Expires=0Response.Expires=0SName = Request.Form("yourname") SName = Request.Form("yourname") SGender = Request.Form("gender")SGender = Request.Form("gender")SM =Request.Form("message")SM =Request.Form("message")SMsg = Replace(SM,vbcrlf,"<Br>" & vbcrlf) SMsg = Replace(SM,vbcrlf,"<Br>" & vbcrlf) %>%><HTML><HTML><BODY><BODY>姓名姓名 : <%= SName%><Br><Br>: <%= SName%><Br><Br>性别性别 : <%= SGender%><Br><Br>: <%= SGender%><Br><Br><% Response.Write "<% Response.Write " 爱好爱好 :<Br>":<Br>"For I = 1 to Request.Form("hobby").CountFor I = 1 to Request.Form("hobby").Count

Response.Write Request.Form("hobby")(I) & "<Response.Write Request.Form("hobby")(I) & "<Br>"Br>"NextNext%><Br>%><Br> 留言留言 : <Br>: <Br><%= SMsg%><%= SMsg%></BODY></BODY></HTML></HTML>

Page 14: 第四讲  Asp 内置对象

RequestRequest

ServerVariablesServerVariables

服务器的环境变量服务器的环境变量语法:语法: Request.ServerVariables(Request.ServerVariables( 服务器变量)服务器变量)

Page 15: 第四讲  Asp 内置对象

RequestRequest

CookieCookie

取得取得 HTTPHTTP 的的 cookiecookie 值值

语法:语法: request.Cookies(cookie)[.(request.Cookies(cookie)[.( 关键字关键字 )|.haskeys)|.haskeys

Mycookie1=sugarMycookie2=TYPE1=sugar&TYPE2=ginger

Page 16: 第四讲  Asp 内置对象

RequestRequest

Cookie Cookie 例子:例子:<% <% nickname=Request.Form("nick")nickname=Request.Form("nick")Response.Cookies("nick")=nicknameResponse.Cookies("nick")=nickname' ' 用 用 response response 对象将用户名写入 对象将用户名写入 Cookie Cookie 之中 之中 Response.Write " Response.Write " 欢迎 欢迎 "&Request.Cookies("nick")&" "&Request.Cookies("nick")&" 光临!光临! " " %> %> <html><html><head><head><title>cookie</title> <title>cookie</title> </head> </head> <body> <body> <form method="POST" action="4-8.asp"> <form method="POST" action="4-8.asp"> <p><input type="text" name="nick"> <p><input type="text" name="nick"> <input type="submit" value=" <input type="submit" value=" 提交 提交 " name="B1">" name="B1"><input type="reset" value=" <input type="reset" value=" 重填 重填 " name="B2"></p>" name="B2"></p></form> </form> </body></body></html></html>

Page 17: 第四讲  Asp 内置对象

<% dim Num Num=Request.Cookies("Visit_num") if Num>0 then Num=Num+1 Response.write " 您已是第 " & Num & " 次访问本站点了。 " else Response.write " 欢迎您首次访问本站。 " Num=1 end if Response.Cookies("Visit_num")=Num %>

Page 18: 第四讲  Asp 内置对象

有时在一个页面中可能需要定义很多个 Cookies 变量,为了更好地管理它,

在 Cookies 组件中常引入概念“子键”。引用它的语法如下: Request.Cookies(" 变更名 ")(" 子键名 ") 如下面的 Cookie 其中保存了三个键值: <% Response.Cookie("info")("Myname")="jeff" Response.Cookie("info")("Gender")="male" Response.Cookie("info")("Myheight")="172" %>

Page 19: 第四讲  Asp 内置对象

事实上客户机上的 Cookie 字典是以字符串的形式存在: info=Myname=jeff&Gender=male&Myheight=172 如果用户没有指定“子键”名而直接引用 Cookies 变量,将会返回一个包含 所有的“子键”名及值的字符串。例如上面这个例子包含三个“子键”:“Mynam e” 、“ Gender” 和“ Myheight” ,当用户没有指定其“子键”而直接通过Request.Co okies(“info”) 来引用时,则会得到下列字符串: info=Myname=jeff&Gender=male&Myheight=172

Page 20: 第四讲  Asp 内置对象

AspAsp 内置对象内置对象-----response

Page 21: 第四讲  Asp 内置对象

Response 对象 •Response 对象用于动态响应客户端请求( Reque

st ),并将动态生成的响应结果返回到客户端浏览器中。 •Response 的使用语法为:•Response.collection|property|method

Page 22: 第四讲  Asp 内置对象

• Response 对象的属性

属 性 功 能 说 明Buffer 表明页输出是否被缓冲CacheControl 决定代理服务器是否能缓存 ASP 生成的输出Charset 将字符集的名称添加到内容类型标题中ContentType 指定响应的 HTTP 内容类型Expires 在浏览器中缓存的页面超时前,指定缓存的时间ExpiresAbsolute 指定浏览器上缓存页面超时的日期和时间IsClientConnected 表明客户端是否与服务器断开Status 服务器返回的状态行的值

Page 23: 第四讲  Asp 内置对象

• Response 对象的方法 方 法 功 能 说 明

AddHeader 从名称到值设置 HTML 标题AppendToLog 在该请求的 Web 服务器日志条目后添加字符串BinaryWrite 将给出信息写入到当前 HTTP 输出中,并且不进行任何字符集转换Clear 清除任何缓冲的 HTML 输出End 停止处理 .asp 文件并返回当前的结果Flush 立即发送缓冲的输出Redirect 将重指示的信息发送到浏览器,尝试连接另一个 URLWrite 将变量作为字符串写入当前的 HTTP 输出

Page 24: 第四讲  Asp 内置对象

Response 对象• 11 .. WriteWrite 方法方法 :: 可以向浏览器输出动态信息。可以向浏览器输出动态信息。 格式:格式: Response.Write Response.Write 任何数据类型任何数据类型 Response.Write(Response.Write( 任何数据类型任何数据类型 ))

Page 25: 第四讲  Asp 内置对象

Response.write 基本用法:(一个简单例子) <%@Language=VBScript%><html><head><title>Response.Write 的基本用法 </title></head><body><%Response.Write"<p> 你好!! "t=now()Response.Write"<p> 现在是: "& t &"<br>"cht1=" 谢谢! "cht2=" 欢迎光临! "Response.Write cht1 & cht2%></body></html>

4-2.asp

Page 26: 第四讲  Asp 内置对象

第五讲数据库基础知识

Page 27: 第四讲  Asp 内置对象

讲解提纲• 7.1 数据库的基本概念• 7.2 建立 Access 数据库• 7.3 SQL 语言简介

Page 28: 第四讲  Asp 内置对象

7.1 数据库的基本概念

Page 29: 第四讲  Asp 内置对象

7.1.1 数据库管理技术的发展阶段• 人工管理• 文件管理• 数据库管理

Page 30: 第四讲  Asp 内置对象

7.1.2 数据库的基本术语• 字段、记录、值、表、数据库、数据模型

Page 31: 第四讲  Asp 内置对象

7.1.3 数据库管理系统• 大中型关系型数据库管理系统有 SQL Serve

r 、 IBM DB2 、 Oracle 、 SyBase 、 Informix 等,常用的小型数据库管理系统有 Access 、 Pradox 、 Foxpro 等。

• 在 ASP 中一般使用 SQL Server 或 Access 数据库。 • 本书主要使用 Sql server 。

Page 32: 第四讲  Asp 内置对象

7.2 建立 sql server 数据库

Page 33: 第四讲  Asp 内置对象

7.2.1 规划数据库• 主要是规划每一个表的字段和字段类型,不要有冗余。

Page 34: 第四讲  Asp 内置对象

7.2.2 新建一个数据库• 依次选择菜单命令【开始】、【程序】、【 Microsoft access 】就可以启动 Access200

0

Page 35: 第四讲  Asp 内置对象

7.2.3 新建和维护表 • 在上图双击【使用设计器创建表】选项,就可以打开新建表的设计视图。

Page 36: 第四讲  Asp 内置对象

在表中输入数据• 在主窗口中双击表名,就可以打开输入窗口

Page 37: 第四讲  Asp 内置对象

7.2.4 新建和维护查询 • 利用查询可以更方便的更改分析和处理数据。查询就好比是一张虚拟的表一样,用户可以像在表里操作一样,输入数据或浏览数据。 • 查询有很几种:简单查询、组合查询、计算查询和条件查询。现在就来建立一个简单查询,只显示姓名和 Email两个字段的内容。

Page 38: 第四讲  Asp 内置对象

新建简单查询• 在 Access 主窗口左侧选择”查询”按钮

Page 39: 第四讲  Asp 内置对象

显示查询内容• 在主窗口中双击查询名称

Page 40: 第四讲  Asp 内置对象

利用 SQL 语言建立查询 • 当进行左图时,直接单击【关闭】按钮,然后在主窗口中依次选择【视图】、【 SQ

L 视图】菜单命令,就会出现” SQL 视图”对话框。

Page 41: 第四讲  Asp 内置对象

7.3 SQL 语言简介 1 . Select 语句 查询数据2 . Insert 语句 添加记录3 . Delete 语句 删除记录4 . Update 语句 更新记录

Page 42: 第四讲  Asp 内置对象

7.3.1 Select 语句 •此时可以使用 Select 语句来取得满足特定条件的记录集。也就是说可以从数据库中查询有关记录。 • Select [Top( 数值 )] 字段列表 From 表 [W

here 条件 ] [Order By 字段 ] [Group By 字段 ]

Page 43: 第四讲  Asp 内置对象

Select 语句示例• Select * From users • Select real_name,email From users • Select Top 3 * From users • Select real_name,(submit_date+365) As new_

date From users • Select * From users Where submit_date<#200

3-11-1# AND real_name=“ 建波”

Page 44: 第四讲  Asp 内置对象

Select 语句示例• Select * From users Where real_name like “%勇%” • Select * From users Order By real_name DESC • Select Count(*) As total From users Where submit_d

ate<#2003-11-1# • Select users.real_name,day_log.log_date,day_log.IP

From users,day_log Where users.user_name=day_log.user_name

Page 45: 第四讲  Asp 内置对象

7.3.2 Insert 语句 • 向用户表 Uesrs 中增加新成员时,就需要将新用户的数据插入到表 users 中。此时,可以使用 SQL 语言中的 Insert 语句来实现这个功能。 • Insert Into 表 ( 字段 1, 字段 2,…) Values( 字段 1 的值 , 字段 2 的值 ,…)

Page 46: 第四讲  Asp 内置对象

Insert 语句示例• Insert Into users ( user_name, password,real_n

ame,tel,email,submit_date) Values(“mengmeng”,”123456”,”萌萌” ,”6887150”,”[email protected]”, #2003-11-2#)

Page 47: 第四讲  Asp 内置对象

Insert 语句示例• Insert Into users ( user_name ) Values(“liya”)• Insert Into users ( user_name, real_name ) Val

ues(“feiyun”,”费云” )• Insert Into users ( user_name, submit_date ) V

alues(“luofang”,#2003-12-5#)• Insert Into users ( user_name, age) Values(“zh

angpeng”,23)

Page 48: 第四讲  Asp 内置对象

7.3.3 Delete 语句 • 在 SQL 语言中,可以使用 Delete 语句来删除表中无用的纪录。 • Delete From 表 [Where 条件 ]

Page 49: 第四讲  Asp 内置对象

Delete 语句示例 • Delete From users Where user_name=“tutu” • Delete From users Where submit_date<#2003-

1-1# And real_name=“李亚” • Delete From users

Page 50: 第四讲  Asp 内置对象

7.3.4 Update 语句 • 可以使用 Update 语句来实现更新数据的功能• • Update 数据表名 Set 字段 1=字段值 1 ,字段 2=字段值 2 ,… [Where 条件 ]

Page 51: 第四讲  Asp 内置对象

Update 语句示例 • Update users Set tel=“8282999”,email=“jjshan

[email protected]” Where user_name=“jjshang”• Update users Set submit_date=#2003-1-1# Wh

ere submit_date<#2003-1-1#• Update users Set age=age+10

Page 52: 第四讲  Asp 内置对象

7.4 设置数据源

Page 53: 第四讲  Asp 内置对象

什么是数据源• 所谓数据源,就是数据源开放数据库连接

(ODBC ) ,利用它就可以访问来自多种数据库管理系统的数据。•比如,如果你有一个访问 Access 数据库的程序,数据源 (ODBC) 会允许您用同一个程序访问 SQL 数据库中的数据。至于具体访问细节你就不用关心,由 ODBC 来完成。

Page 54: 第四讲  Asp 内置对象

本讲练习• 按照本书讲述,自己建立一个 userinfo.md

b 数据库。• 然后自己练习 SQL 语句。• 最后为其建立数据源。