1 ASP重要的内部对象

Request对象——获取客户端发送来的数据
Response对象——将数据信息发送给客户端
Session对象——存储单个用户的信息
Application对象——存放同一个网站所有用户之间共享的信息
Server对象——提供和其他组件交互的方法等

2 浏览器发送HTTP请求的方法

2.1 输入网址(URL)(Get方式)

URL代表网络上的一个资源,因此表示向IIS请求一个资源文件

2.2 提交表单(Post方式或Get方式)

将向IIS提交表单中的内容,如果选择Get方式,则提交的内容将以URL字符串的形式发送

3 GET/POST方式的区别

存放位置:HTTP请求Header/body
编码方式: url编码/多种编码
数据类型: 字符串/无限制
数据长度:2k/无
安全性:缓存、历史记录/否
发送方法:一次/一次或分次

4 Request对象

Request对象用来获取客户端的信息,主要依靠以下几种数据集合:
QueryString
Form
Cookies
ServerVariables
ClientCertificate

语法为:Request[集合名] (参数)

4.1 发送HTTP请求的基本方法

4.2 使用ServerVariables获取环境变量

利用该方法可以获取服务端或客户端的一些信息,如来访者的IP地址和来访者的来路

4.2.1 语法如下:

Request.ServerVariables(“环境变量名”)

常用的环境变量 有:

  • LOCAL_ADDR服务器端IP地址
  • REMOTE_ADDR客户端IP地址
  • SCRIPT_NAME正在运行的脚本文件的路径信息
  • HTTP_REFERER 从哪个网页进入这个网页的(来路)

5 Response对象

Response对象:用于向客户端浏览器发送数据。包括:

  • 直接发送信息给浏览器
  • 重定向浏览器到另一个URL
  • 设置Cookies的值等

5.1 Response对象的方法

  • Write():直接输出信息给客户端。
  • Redirect () :重定向到另一个URL
  • End () :停止处理当前脚本。
  • Flush () : 发送缓冲区内容
  • Clear () : 清除缓冲区内容

5.2 使用Response.Write输出信息

<%Response.Write "先生"Response.Write iResponse.Write "<p>欢迎您:" & i &"</p>"Response.Write "<a href='test1.asp'>返回首页</a>"
%>

5.3 Response.write方法的简写形式

<%= "欢迎您:"%>
<%= "<p>欢迎您:" & i &"</p>" %>

如果ASP代码的前面和后面都是HTML代码,则用这种方式比较方便
只能写在一行内输出

5.4 使用Response.Redirect方法重定向网页

<% Response.Redirect "http://www.baidu.com"Response.Redirect "test1.asp" Response.Redirect "?flag=1"Response.Redirect strURL
%>

Response.Redirect方法要求在重定向之前不允许服务器向浏览器输出任何内容
以下内容报错

<% Response.write "test"Response.flushResponse.Redirect "http://www.baidu.com"
%>

5.5 使用Response.End停止处理当前脚本

提示:Response.Redirect方法在内部调用了Response.End方法

6 使用Cookies集合

6.1 什么是Cookie

Cookie俗称甜饼,可以在客户端长期保存信息。它是服务器端发送到客户端的一些文本,保存在客户机的硬盘上
在HTTP协议下,Cookies仅仅是一个文本文件,是服务器在浏览器端写入的小文件。
Cookies存放在浏览器端的本机上C:\Documents and Settings\登录用户名\Cookies,而不是存放在服务器端。

6.2 Cookie可以做什么

  • 记录用户登录次数
  • Cookie是网站识别老客户的一种方法

6.3 Cookie是怎么实现的

Cookie的本质:记住了用户的一些信息
实现方式:向用户硬盘上写入一些信息
每个网站都可以有自己的Cookie,但是每个网站只能读取自己的Cookie。

6.4 Cookie有两种形式

会话Cookie:浏览器关闭就消失
永久Cookie:存放在硬盘上,总是可用(本节讨论的)。
使用Response对象的Cookies集合可设置Cookie变量的值,使用Request对象的Cookies集合可获取Cookie变量的值。

6.5 写入Cookie变量

Response.Cookies(变量名)[(key)|属性]=值
设置多值Cookie

<% Response.Cookie("user")="小泥巴"Response.Cookies("age")=21Response.Cookies("User")("UserName")="小泥巴"
%>

6.6 使用Request对象读取Cookie

变量=Request.Cookies(变量名)[(key)|.attribute]

<% Response.Cookies("user")="llll"Response.Cookies("age")=21
%><%=Request.Cookies("user")%>
<%=Request.Cookies("age")%>

6.7 Haskeys属性

Haskeys属性:用来判断一个Cookie变量是单值Cookie还是多值Cookie

7 Server对象

有时希望ASP能完成连接数据库、访问文本文件等特殊功能,就需要用到Server对象
Server对象主要用来调用其它程序或组件。
其次还提供了一些比较有用的方法。

7.1 Server对象的方法

  • CreateObject:用于创建已注册到服务器的ActiveX组件、应用程序或脚本对象的实例
  • HTMLEncode:将字符串转换成HTML编码格式
  • URLEncode:将字符串转换成URL编码格式
  • MapPath:将虚拟路径转化为物理路径
  • Execute:转到新的网页执行,执行完毕后返回原网页,继续执行后面的语句
  • Transfer:转到新的网页执行,执行完毕后不返回原网页,而是停止执行

7.1.1 CreateObject方法

用来创建组件、应用程序或脚本对象的实例,利用它就可以调用其它外部程序或组件的功能了
语法如下:
Server.CreateObject(progID)

7.1.2 HTMLEncode方法

该方法可以将字符串中的特殊字符(<、>和空格等)自动转换为字符实体。
Server.HTMLEncode(string)
其中string是转换的字符串常量、变量或表达式。例如:

<% str=Server.HtmlEncode("<p>lllll<br>sssss</p>")
%>
<%Response.Write(str)
%>

7.1.3 URLEncode方法

该方法也是用来转化字符串,不过它是按照URL规则对字符串进行转换的。按照该规则的规定,URL字符串中如果出现“空格、?、&”等特殊字符,则接收端有可能接收不到准确的字符,因此就需要进行相应的转换

7.1.4 MapPath方法

什么是相对路径、物理路径?
MapPath方法,可以将相对路径转换为物理路径。
语法如下:
Server.MapPath(path)
其中path是相对路径字符串。

7.1.4.1 MapPath方法示例

E:\Web\Ch9\aa.asp的代码中
Server.MapPath(“ch6/6-3.asp”)
转换为当前目录下的chapter6/6-3.asp
E:\Web\Ch9\ch6/6-3.asp
Server.MapPath(“/ch6/6-3.asp")
E:\Web\ch6/6-3.asp

提示:一般不要用网站根目录形式去转换

7.1.5 Transfer方法

该方法用来停止执行当前网页,转到新的网页继续执行。语法如下:
Server.Transfer path
其中path也表示要执行文件的相对路径或绝对路径。
注意和Response.Redirect方法的区别

7.1.6 Execute方法

该方法用来停止执行当前网页,转到新的网页执行,执行完毕后又返回原网页,继续执行剩下的代码。
语法如下:
Server.Execute path
path表示要执行文件的相对路径或绝对路径
<% Server.Execute “6-4.asp” %>

7.1.6.1 Server.Execute方法与Include命令

Server.Execute方法先执行被调用的文件代码,执行完后将生成的HTML代码插入到当前位置

Include命令是先将代码插入到当前位置,再作为一个整体来执行

7.2 ScriptTimeOut属性

该属性就用来规定脚本文件执行的最长时间。如果超出最长时间还没有执行完毕,就自动停止执行,并显示超时错误。
语法如下:
Server.ScriptTimeOut=number
其中number表示最长时间,默认为90秒
例如:
<% Server.ScriptTimeOut=300 '设置最长执行时间为300秒%>

8 Session对象

在ASP中Session代表了服务器与客户端之间的“会话”,意思是服务器端和客户端在不断地交流。

如果不使用Session,则客户端每一次请求都是独立存在的。当用户在网站的多个页面间切换时(请求了多个页面),页面之间无法传递用户的相关信息。

8.1 Session有什么用

使用Session对象可以存储特定用户会话所需的信息。这样,当用户在网站的Web页之间跳转时,存储在Session变量中的信息将不会丢失,而是在整个用户会话中一直存在下去。
用途:可以使用Session变量作为全局变量,用于在该会话的所有页面中共享信息

8.2 Session与Cookies的区别

客户端保持状态(Cookies):发给顾客一张卡片,上面记录着消费的数量,一般还有个有效期(Expires)
服务器端保持状态(Session):发给顾客一张会员卡,除了卡号之外什么信息也不记录,店员在店里的电脑上找到这个卡号对应的消费记录

8.3 Session的创建过程

当用户请求网站中任意一个页面时,若用户尚未建立Session对象,服务器端就会自动创建一个Session对象,并指定一个唯一的Session ID,这个ID只允许此Session的拥有者使用,
不同的用户的Session存储着各自特定的信息。
并将该SessionID发送到客户端浏览器,浏览器将该SessionID保存在会话Cookies中。
当客户端再次向服务器发出HTTP请求时就会携带该SessionID。服务器检查申请表头的该SessionID,并回应相应Session ID的Session信息

8.4 Session和Cookies的比较

8.5 Session对象和Session变量

Session对象记载某一特定的客户信息,不同的客户用不同的Session对象来记载
一个用户访问网页所建立的Session变量,别人是看不到的

8.6 创建和访问Session变量

格式:
Session(“名字”)=变量/字符串
例如:

<%Session("name")="jack"
%>

访问Session变量
变量=Session(“名字")
例如:

<%Session("name")="jack"
%>

<%=Session(“name”)%>

8.7 用Session保存数组信息

Session存储数组和存储简单信息基本上是一样的。Session把传入的数组当成一个整体看待,只能把一个数组整体存入取出。
保存数组信息的语法:
Session(“Session数组”)=数组名
获取数组Session信息的语法:
a=Session(“Session数组”)

8.8 Session.集合

Session对象有两个集合:Contents和StaticObjects。其中,Contents集合保存所有非对象的Session变量。

8.8.1 Contents集合

Contents集合是是Session对象默认集合,因此下述两种格式是等价的:
Session.Contents(“变量名”)
Session (“变量名”)

8.8.2 StaticObjects 集合

包含所有使用 HTML 的 标签追加到 application/session 的对象。
读取Session.StaticObjects(Key)
写入在Global.asa文件中,

8.9 SessionID

在创建会话时,服务器会为每一个用户会话生成一个单独的ID,使用Session对象的SessionID属性可以返回当前会话的唯一标志符,即返回用户的会话标识。
语法:
Session.SessionID

8.9.1 SessionID用法示例

<%=Session.SessionID%>

8.9.2 SessionID与Session的生命期

双击浏览器打开一个新窗口会使SessionId值改变,因为服务器会认为有一个新的用户在访问

刷新页面或通过超链接打开一个新窗口不会改变SessionId的值,相当于是同一个用户在网站内页面之间跳转,所以仍然是同一个SessionID

8.9.3 Session对象的两种结束方式

Session对象有两种结束方法:一种是隐式方式,另一种是显式方式。

  • 隐式方式:当用户访问Web服务器的时间间隔超过Session对象的TimeOut属性设置的时间限制时,Session对象自动结束
  • 显式方式:Session.Abandon方法主动结束。

当Session结束之后,Session对象的变量也将被释放,其值不可再用

9 Application对象

Application是应用程序级对象,所谓应用程序在这里就是指网站,一个网站就是一个应用程序

9.1 Application对象和Session对象区别

9.1.1 应用范围不同

Application对象可以被所有用户共享。
Session对象是针对单一用户,某个用户无法访问其他用户的Session变量。

9.1.2 存活时间不同

由于Application变量是多个用户共享的,因此不会因为某一个用户甚至全部用户离开而消失。一旦建立了Application变量,就会一直存在,而Session变量会随着用户离开网站被自动删除。

9.2 Application的两个方法

Lock方法和Unlock方法
Application对象共有两个方法,它们分别是Lock方法和Unlock方法。
在一个ASP应用程序中,如果同时访问的用户很多,就可能会出现很多用户同时修改某个Application变量,这时必须确保同一时刻仅有一个用户修改和存取Application变量

10 Global.asa文件

Global.asa文件的功能是定义Session、Application对象事件所对应的程序。当Session或Application第一次被调用或结束时,将运行该文件中对应的程序。
注意
文件名必须是Global.asa,且必须存放在应用程序的根目录下。
在Global.asa中,不能写成<%…%>格式
在Global.asa中,不能包含任何输出语句

  1. Application的两个事件

Application_OnStart()
Application_OnEnd()

  1. Session的两个事件

Session_OnStart()
Session_OnEnd()
都必须放在Global.asa文件中

10.1 Global.asa文件格式

<Script language=“VBScript” runat=“server”>Sub Application_OnStart‘子程序End SubSub Application_ OnEnd‘子程序End SubSub Session_OnStart‘子程序End SubSub Session_ OnEnd‘子程序End Sub
</Script>
  1. application_onStart

这个事件是当第一个用户,第一次访问网站的网页时发生

  1. application_onEnd

这个事件是在网站的Web服务器关闭时发生

  1. Session_onStart

当某个用户第一次访问网站的某个网页时发生

  1. Session_onEnd

当某个用户Session超时或关闭时发生

动态网页设计(ASP)期末复习总结03 asp六大基本对象相关推荐

  1. php动态网站开发 唐四薪 答案,ASP动态网页设计与Ajax技术 (唐四薪谭晓兰) pdf扫描版_IT教程网...

    <asp动态网页设计与ajax技术>全面介绍了asp动态网页设计与ajax技术,采用asp作为开发环境结合基于jquery的ajax技术,显著降低了ajax的入门难度.在叙述有关原理时安排 ...

  2. [渝粤教育] 西南科技大学 动态网页设计(JSP) 在线考试复习资料

    动态网页设计(JSP)--在线考试复习资料 一.单选题 1.下面关于通过JDBC访问数据库哪项说明正确? A.对数据库操作一定要驱动程序 B.对数据库操作一定要DriverManager.getCon ...

  3. asp动态网页设计选用服务器,ASP动态网页设计

    摘要: <ASP动态网页设计>语言规范,内容新颖,编排合理,每一章开头对本章内容做简要介绍,同时提出学习目标与重点,方便教师组织教学与学生自学.ASP是当今流行的Web应用程序开发技术之一 ...

  4. PHP+MYSQL实现个人博客网站,PHP动态网页设计

    效果展示: 开发环境: 网站前台:html+div+css+js 动态技术:PHP+MYSQL 开发环境:PHPSTUDY(兼容XAMPP,WAMP,APPSERV,Laragon)等,了解区别 数据 ...

  5. dw网页设计期末设计一个网页_《Dreamweaver网页设计》期末试卷

    .. .. .. .. .. < Dreamweaver 网页设计 >期末试卷 班级: _________ : _________ 得分 : _________ 一.单项选择题(每个题只有 ...

  6. 计算机动态网站毕业论文,动态网页设计——花之家 毕业论文

    动态网页设计--花之家 毕业论文 (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 本科毕业论文 年 级 11 秋 专 业 计算机科学 ...

  7. 动态网页html语言,动态网页设计HTML语言基础.ppt

    动态网页设计HTML语言基础 * 动态网页设计(Dreamweaver CS3+ASP.NET) * 3.3 静态网页基础 3.3.4 表格 例3-7(3-7.html)DW CS3中的表格制作. 表 ...

  8. 论文 计算机动态网页的制作,计算机动态网页设计中多元素应用网页设计论文(范文1)...

    <计算机动态网页设计中多元素应用[网页设计论文].doc>由会员分享,可免费在线阅读全文,更多与<计算机动态网页设计中多元素应用[网页设计论文]>相关文档资源请在帮帮文库(ww ...

  9. 网页设计html期末大作业

    网页设计html期末大作业 网页设计期末大作业-自制网站 大一期末作业,外卖网站设计 网页设计期末大作业-精美商城-首页框架 网页设计期末大作业-自制网站 有导航栏,轮播图,按钮均可点进去,如下图所示 ...

最新文章

  1. linux下使用find xargs grep查找文件及文件内容
  2. java ReentrantLock 实现原理
  3. kbone-cli初始化项目,提示‘模板xx不存在’
  4. 别怕,是我......程序猿
  5. 互联网时代的发展给实体业都造成了不小的冲击
  6. java连接远程服务器之manyged-ssh2 (windows和linux)
  7. 系统服务器ping偶尔超时,云服务器ping超时原因
  8. ruby中调用dll的诡异错误
  9. 分布式存储系统设计的若干原则
  10. C4D插件X-Particles粒子特效(三)
  11. Qt使用资源管理器打开指定本地文件夹
  12. 【JavaScript 教程】第六章 数组11— filter() :过滤数组中的元素
  13. Arduino机器人快速上手经验分享(L298N马达驱动,摇杆模块)
  14. locust实现压测
  15. vue实现通过手机号发送短信验证码登录
  16. 你知道做一个网站要多少钱网站怎么运营能赚钱
  17. vm搭建虚拟服务器,VMware搭建vps虚拟主机,手动分区完整安装
  18. 三、Web漏洞-文件操作
  19. Omni-ScaleFeatureLearningforPersonRe-Identification简记
  20. 香港电影男演员十大代表

热门文章

  1. Tray is not a constructor ——electron new Tray报错 『 踩坑记录 』
  2. 综合实训 长沙气候数据分析
  3. 初次联系导师短信模板_20考研复试如何联系导师?需要注意什么?附自我介绍模板...
  4. C学习:一个负数补码把我整蒙了
  5. 6.5Python面向对象(5):多继承
  6. 操作系统课堂同步练习选择题(第五章)题库信阳师范学院柳春华老师
  7. 11.通用数据结构,并解析和生成(界限计划2)
  8. Rust引入外部包,VsCode引入失败,Blocking waiting for file lock on package cache lock
  9. 【2023更新】通过硬件触发信号实现OAK多相机之间的同步拍摄
  10. 2021年中国食品电商行业企业发展规模、融资规模及食品企业电商营销趋势分析[图]