ASPNET简明教程 第4章 ASPNET的常用内置对象
合集下载
ASPNET应用开发与实战第4章 ASPNET内置对象

将缓冲区的内容清除 将目前缓冲区中所有的内容发送至客户端然后关闭 将缓冲区中所有的数据发送至客户端 将网页重新导向另一个地址 将数据输出到客户端 将指定的文件直接写入HTTP内容输出流
4.1.3
在页面中输出指定信息数据
Response对象通过Write方法或WriteFile方法在页面上输出数据,输出的对象可以是字符、字 符数组、字符串、对象或文件等。 【例4-1】 本实例主要是使用Response对象的Write方法和WriteFile方法实现在页面上输出数 据的功能。新建一个网站,默认主页为Default.aspx。在Default.aspx的Page_Load事件中 定义4个变量,分别为字符型变量、字符串变量、字符数组变量和Page对象,然后将定义的数据在 页面上输出。代码如下:
【例4-2】 本实例主要是使用Response对象的Redirect方法实现页面跳转并传递参数的功能。运 行程序,在TextBox文本框中输入姓名并选择性别,单击“确定”按钮,跳转到welcome.aspx页,实 例运行结果如图4-2和图4-3所示。
图4-2 页面跳转传递参数
图4nse对象
4.1.1 4.1.2 4.1.3 4.1.4
Response对象概述 Response对象常用属性和方法 在页面中输出指定信息数据 页面跳转并传递参数
4.1.1
Response对象概述
Response对象用于将数据从服务器发送回浏览器,它允许将数据作为请求的结果发送到浏览器 中,并提供有关响应的信息,另外,它还可以用来在页面中输入数据、跳转或者传递页面中的参数 。
protected void Page_Load(object sender, EventArgs e) { char c = 'a'; string s = "Hello World!"; //定义一个字符数组 char[] cArray = { 'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd' }; Page p = new Page();//定义一个Page对象 Response.Write("输出单个字符:"); Response.Write(c); Response.Write("<br>"); Response.Write("输出一个字符串:" + s + "<br>"); Response.Write("输出字符数组:"); Response.Write(cArray, 0, cArray.Length); Response.Write("<br>"); Response.Write("输出一个对象:"); Response.Write(p); Response.Write("<br>"); Response.Write("输出一个文件:"); Response.WriteFile(Server.MapPath(@"TextFile.txt")); } //定义一个字符变量 //定义一个字符串变量
4.1.3
在页面中输出指定信息数据
Response对象通过Write方法或WriteFile方法在页面上输出数据,输出的对象可以是字符、字 符数组、字符串、对象或文件等。 【例4-1】 本实例主要是使用Response对象的Write方法和WriteFile方法实现在页面上输出数 据的功能。新建一个网站,默认主页为Default.aspx。在Default.aspx的Page_Load事件中 定义4个变量,分别为字符型变量、字符串变量、字符数组变量和Page对象,然后将定义的数据在 页面上输出。代码如下:
【例4-2】 本实例主要是使用Response对象的Redirect方法实现页面跳转并传递参数的功能。运 行程序,在TextBox文本框中输入姓名并选择性别,单击“确定”按钮,跳转到welcome.aspx页,实 例运行结果如图4-2和图4-3所示。
图4-2 页面跳转传递参数
图4nse对象
4.1.1 4.1.2 4.1.3 4.1.4
Response对象概述 Response对象常用属性和方法 在页面中输出指定信息数据 页面跳转并传递参数
4.1.1
Response对象概述
Response对象用于将数据从服务器发送回浏览器,它允许将数据作为请求的结果发送到浏览器 中,并提供有关响应的信息,另外,它还可以用来在页面中输入数据、跳转或者传递页面中的参数 。
protected void Page_Load(object sender, EventArgs e) { char c = 'a'; string s = "Hello World!"; //定义一个字符数组 char[] cArray = { 'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd' }; Page p = new Page();//定义一个Page对象 Response.Write("输出单个字符:"); Response.Write(c); Response.Write("<br>"); Response.Write("输出一个字符串:" + s + "<br>"); Response.Write("输出字符数组:"); Response.Write(cArray, 0, cArray.Length); Response.Write("<br>"); Response.Write("输出一个对象:"); Response.Write(p); Response.Write("<br>"); Response.Write("输出一个文件:"); Response.WriteFile(Server.MapPath(@"TextFile.txt")); } //定义一个字符变量 //定义一个字符串变量
ASPNET网络应用开发教程第4章 ASPNET内置对象

获取Web页的缓存策略(过期时间、保密性、变化子句等) 设定或获取HTTP的输出字符编码 获取或设置在浏览器上缓存的页过期之前的分钟数 获取当前请求的Cookie集合 传回客户端是否仍然和服务器连接 设定是否将HTTP的内容发送至客户端浏览器,若为True,则网页 将不会传至客户端
(1)Expires属性
4.2.2 Response对象常用属性、方法
1.Response对象的属性
由于Response对象映射到Page对象 的Response属性,因此可以直接把它用在 页面中。
表4.2
属 性
Response对象常用属性及说明
说 明
Cache Charset Expires Cookies IsClientCon nected SuppressCon tent
第4章 内置对象
为了提高网络程序的开发效率, 提供了一些内置对象。 的基本对象是程序设计中最频繁 使用的元素,它通过向用户提供基本的请求、 响应、会话等处理功能实现了的绝大 多数功能。
这些对象主要有响应对象Request、请 求对象Response、通用工具栏对象Server、 记录浏览器端的变量对象Session、记录应 用程序参数对象Application、缓存对象 Cookie。
Response.Write("输出字符串");
图4.1
response.aspx执行的结果
(3)WriteFile方法
将指定的文件直void WriteFile (string filename)
图4.2
直接输出文本文件
4.2.3 Response对象在实际开发中的应用示例
Redirect
Write WriteFile
第4章ASPNET常用内置对象

4.1.3 Page对象的Load事件与Init事件比较
【演练4-2】 设计一个网站,向Web窗体中添加 两个列表框控件ListBox1和ListBox2,添加一个按钮控件 Button1。在Page对象的Load事件和Init事件中分别向 ListBox1和ListBox2中填充若干数字作为选项。按钮控件无 须编写任何代码,只是要在用户单击按钮时引起一个服务 器端回发。
Response.Redirect("")
使用Response对象的Redirect方法时应注意如下问题:
① 使用该方法实现跳转时,浏览器地址栏中将显示目标URL。
② 执行该方法时,重定向操作发生在客户端,涉及两个不同页面,甚 至是两个Web服务器之间的通信,第一阶段是对原页面的请求,第二 阶段是对目标URL的请求。
③ 该方法执行后内部控件保存的所有信息将丢失,因此当从A页面跳 转到B页面后,在页面B中无法访问A页面提交的数据。若需从A页面 传递数据到B页面,只能通过url参数中的“?”来实现。例如:
string MyName = UserName.Text; 入变量
//将文本框中的文本存
//将变量值以Name为形参变量(也称为“查询字符串”)传送给目 标页面welcome.aspx
下列语句向浏览器写入包含有脚本的超链接文字信息,当 用户单击该超链接时可实现无确认直接关闭当前窗口:
Response.Write("<a href='javascript:window.opener=null;window.close()'>关闭窗口 </a>");
3. 使用WriteFile方法
务器时间 //向浏览器写入带有超链接的文字信息 Response.Write("<a href=''>访问网易</a><br><br>"); //向浏览器输出带有双引号的文字信息,输出为:"Welcome to my home."
第4章 ASP内置对象

5
Response对象的Write方法
其语法格式为: Response.Write Variant
6
说明
向浏览器中传递的数据可以混合使用HTML标记. 如果<%和%>之间只有一行Response.Write,
则可以写成简略写法:
<%= “<H1>Response对象的Write方法</H1><br>” %>
迎您<br>" Response.Write user_name(1) & "您好,欢
迎您<br>" %>
25
注意
把一个数组保存到Session中是当做一个 整体存取的。要修改或使用数组中某一元素 值时,只能将Session对象赋给一个数组 变量,然后在数组变量中操作。
如<%Session(“arty”)(4)=“李 敏”%>,给数组中的单个元素分别赋值是 不允许的。
Name=Request.form("userName")
Mail=Request("UserMail")
A=Request("UserAge")
Select Case A
Case “AGE1”:
Age="未满20岁"
Case "AGE2":
Age="20~29"
Case "AGE3":
Age="30~39"
年龄:<%=Age%><BR>
曾经使用过的手机厂家:<%=Phone%><BR>
Response对象的Write方法
其语法格式为: Response.Write Variant
6
说明
向浏览器中传递的数据可以混合使用HTML标记. 如果<%和%>之间只有一行Response.Write,
则可以写成简略写法:
<%= “<H1>Response对象的Write方法</H1><br>” %>
迎您<br>" Response.Write user_name(1) & "您好,欢
迎您<br>" %>
25
注意
把一个数组保存到Session中是当做一个 整体存取的。要修改或使用数组中某一元素 值时,只能将Session对象赋给一个数组 变量,然后在数组变量中操作。
如<%Session(“arty”)(4)=“李 敏”%>,给数组中的单个元素分别赋值是 不允许的。
Name=Request.form("userName")
Mail=Request("UserMail")
A=Request("UserAge")
Select Case A
Case “AGE1”:
Age="未满20岁"
Case "AGE2":
Age="20~29"
Case "AGE3":
Age="30~39"
年龄:<%=Age%><BR>
曾经使用过的手机厂家:<%=Phone%><BR>
Asp.net演示文档教程-教你学会asp编程(零基础)-04

案例名称: 案例名称:从浏览器获取数据 程序名称: 程序名称:4-08.aspx <%@ Page Language="C#"%> <% string strUserName = Request["Name"]; string strUserLove = Request["Love"]; %> 姓名:<%=strUserName%><BR> 爱好:<%=strUserLove%>
案例名称: 案例名称:图形网页计数器 程序名称: 程序名称:4-14.aspx <% @ Page Language="C#" %> <script language="C#" runat="server"> public string G(int counter){ string myimage=""; string S = counter.ToString(); for(int i = 0 ;i<=S.Length-1;i++) { myimage = myimage + "<IMG SRC=" + S.Substring(i,1) + ".gif>"; } return myimage; } </script> <% Application.Lock(); Application["count"] =Convert.ToInt32(Application["count"]) + 1; Application.UnLock(); %> 您是本站第 <%=G(Convert.ToInt32((Application["count"])))%> 位贵宾!
案例名称: 案例名称:图形网页计数器 程序名称: 程序名称:4-14.aspx <% @ Page Language="C#" %> <script language="C#" runat="server"> public string G(int counter){ string myimage=""; string S = counter.ToString(); for(int i = 0 ;i<=S.Length-1;i++) { myimage = myimage + "<IMG SRC=" + S.Substring(i,1) + ".gif>"; } return myimage; } </script> <% Application.Lock(); Application["count"] =Convert.ToInt32(Application["count"]) + 1; Application.UnLock(); %> 您是本站第 <%=G(Convert.ToInt32((Application["count"])))%> 位贵宾!
补充(简单) ASPNET常用内置对象

中的常用内置对象
向浏览器输出数据
Response 输出客户端脚本 弹出对话框
Response.Write("<script language=javascript>alert('欢迎学 习')</script>") Response.Write("<script language=vbscript>msgbox(""hello!"")</script>")
中的常用内置对象
使用Application对象保存信息
使用Application对象保存信息:
Application[“键名”] = 值;
获取Application对象信息: 变量名 = Application[“键名”];
更新Application对象的值
Application[“键名”] = 值
它们都可以由用户通过虚拟目录层次结构来请求访问;
中的常用内置对象
Application对象
在中,使用Application对象代表 Web应用程
序的运行实例。
一个Web站点可以包含不止一个应用程序,而每个 应用程序的运行实例都可以由一个Application对象来表 达。 可以将任何对象作为全局变量存储在Application对象中。
中的常用内置对象
简化Request操作
问题:Request.Form用于表单提交方式为Post的情况, 而Request.QueryString 用于表单提交方式为Get的情 况,如果用错,则获取不到数据。 解决方法:利用Request[“元素名”]来简化操作
中的常用内置对象
ASPNET20程序设计教程第4章 ASPNET内置对象编程

4.2 的数据持久性对象
4.2.1 Response对象 4.2.2 Request对象 4.2.3 Application对象 4.2.4 Session对象
4.2.5 Cookie对象
4.esponse对象
1.Response对象概述 在中,HTTP响应信息一般都封装在HttpResponse类中。Response对象用于将数据从服务器发送 回浏览器。它允许将数据作为请求的结果发送到浏览器中,并提供有关响应的信息。它可以用来在页 面中输入数据,在页面中跳转,还可以传递各个页面的参数。它与HTTP协议的响应消息相对应。 2.Response对象常用属性、方法介绍 Http Response类定义了许多属性和方法,以处理将发送到浏览器的文本。下面对此对象的常用属性和 方法进行简单介绍。 由于Response对象映射到Page对象的Response属性,因此可以直接把它用在 2.0以上版本的页 面中。与 1.1相比, 2.0以上版本中的Response对象添加了几个新功能。其常用属性 及说明如表4-1所示。
第 4 章 内置对象编程
【学习目标】
提高网络程序的开发效率是力求的原则,为此提 供了一些内置对象。的基本对象是程序设计中使用最频繁 的元素,它通过向用户提供基本的请求、响应、会话等处理功能 从而实现的绝大多数功能。通过学习本章内容,读者可以 达到以下学习目的。 ● 掌握Response对象常用属性和方法,以及该对象实现页面导 向与文件写入的方法。 ● 掌握Request对象常用属性和方法,以及该对象实现页面传值 并调用该对象各种属性的方法。 ● 学习Application对象实现网上在线人数的统计。 ● 掌握Session对象在页与页之间实现传值功能的方法。 ● 学习Cookie对象的值加密及其属性的一些应用。 ● 掌握如何使用Server对象的各种属性和方法。 ● 了解一个简单在线投票系统的应用。 ● 应用Session和Cookie对象防止重复投票技术。
04第4章ASPNET的内置对象

4.2.1 Response对象的属性
Response对象主要用于生成HTML内容并送交浏览器。 在编程实践中,经常用到Response对象的下列属性: BufferOutput : 给 出 或 设 置 是 否 启 用 缓 冲 处 理 。 当 Response.BufferOutput为True时,服务器将先完成对所有 Response 的处理,然后才将结果发送至浏览器。 Charset:给出或设置字符编码方式。 ContextType : 给 出 或 设 置 输 出 的 HTTP 内 容 类 型 。 默 认 为 text/HTML,若要输出GIF图片,可设置为image/GIF。 IsClientConnected:用于判断客户端是否仍然与服务器连接。
4.5
访问服务器端文件系统
1.访问服务器端目录信息 用于对服务器端目录进行操作的常用方法如下: Directory.CreateDirectory(Path):按照参数Path给定的路径创建目录。 Directory.Delete(Path,recursive):删除参数Path给出目录。 Directory.Exists(Path) :该方法返回一个布尔值,代表参数 Path 所指定的目 录是否存在。 Directory.GetCreationTime(Path) :返回 DateTime 型数据,代表参数 Path 所指 定的目录或文件的创建日期和时间。 Directory.GetCurrentDirectory() :返回值为字符串,给出 程序所在 的工作目录。 Directory.GetDirectoryRoot(Path):给出参数Path所指定目录的根目录。 Directory.GetFileSystemEntries(Path,searchPattern) :返回值为字符串数组, 给出参数Path所指定的目录中子目录及文件的完整路径及名称。 Directory.GetDirectories(Path,searchPattern) :返回值为字符串数组,给出参 数Path所指定的目录中子目录的完整路径及目录名称。 Directory.GetFiles(path,searchPattern) :返回值为字符串数组,给出参数 Path 所指定的目录中文件的完整路径及文件名称。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章的常用内置对象
使用Response和Request响应用户请求。 使用环境变量获取环境信息。 定义、创建和使用Application对象。 用Session对象来记录用户信息。 使用Server对象。 了解 Cookie 的基础知识,设置和检索 Cookie。
Response对象
例子
Session对象的属性
• Session 对象的常用属性有: SessionID、TimeOut、
LCID、Contents集合和StaticObjects集合。 – SessionID表示一个会话的存在,可以区分不同的 Session。 – TimeOut属性表示在一个会话结束之前会等待用户没有任
如何使用Application对象
• 从Web站点的主目录开始,每个目录和子目录
都可以作为一个Application。只要在一个目录 中没有找到其他的Application,那么这个目录 中的每一个文件和子目录都是这个Application 的一部分。
配置Application
• 使用IIS配置Application
HTTP
例子
PATH_INFO
• PATH_INFO可以获得一个程序所在文件的
URL的值,使用这个变量通常可以使程序更 加灵活。
例子
REMOTE_ADDR
• 通过REMOTE_ADDR可以得到客户或代理服
务器的IP地址
例子
获取用户的浏览器的信息
• 要获取用户的浏览器的信息,最简单的方法
就是使用Request对象的Browser属性。 • 这个属性本身也是一个对象,它的常用属性 有两个: – (1)Browser:表示浏览器的名称 – (2)MajorVersion:表示浏览器的版本的整数位 – (3)Version:表示浏览器的完整版本号
•输出字符串到网页上 •重定向 •缓存HTML •输出文本文件的内容
Response对象
• Response对象是用于控制如何将响
应发送给用户的内置对象。它提供了丰富的 方法和属性用于控制响应的输出方式。
输出字符串到网页上
• 将一个字符串输出到网页上是Response对象的
一个最常用的功能,使用它的Write方法就可 以实现。
例子
Request对象
•get方法 •post方法 •使用环境变量
Request对象
• Request对象是中用于提取浏览器中
用户输入信息的内置对象。在使用这个内部 对象时,用户的信息可以通过表单来提交, 也可以通过直接用URL的参数来获取,还可 以通过环境变量来提供。
get方法
例子
StaticObjects集合
• 那些用<OBJECT>定义的对象可以用
StaticObjects集合来访问
Lock和UnLock方法的使用
• 由于 Web 程序是一个多用户的程序,那么对于一些
存在计算功能的程序就可能因为存在多个用户而产 生计算错误问题。 • Application 恰恰又是一个存储着共享信息的对象, 当有多个用户同时希望改变 Application 对象中某个 项目的内容的时候,就有可能出现数据不一致的问 题。 • 为了防止这个问题的发生,Application对象提供了 两种方法:Lock和UnLock。 –当希望修改某个项目的内容时,先用Lock方法将
Server对象
•Server对象的属性 •Server对象的方法
Server对象
• Server对象的属性反映了Web服务器的各种
信息,它提供了服务器可以提供的各种服务。 这个对象与Application对象和Session对象不 同,它不负责为用户存储什么信息,也没有 什么事件
Server对象的属性
例子
Application对象
•如何使用Application对象 •Contents集合和StaticObjects集合 •Lock和UnLock方法的使用 •Application事件
Application对象
• 在中,Application是的一
个特殊的内置对象,它代表一个目录以及它 所有子目录中的所有文件,方便了 文件之间的数据共享。 • 由于它是一个内置对象,所以使用它的时候 与使用Response对象和Request对象类似,不 需要进行任何对象的实例化,就可以直接使 用。
• 使用get方法进行数据提交是把用户要提交的
信息作为查询字符串加在URL的后面传给接 收程序。URL是指Uniform Resource Locators(统一资源定位器),它的通常形式是 类似http:/filename.ext形 式的字符串。而查询字符串则是加在URL的 后面,与前面的URL一起提交给服务器的字 符串。
何活动的最大时间,单位是分钟。 – LCID是表示不同的地区的一个内部标识。 –Contents集合和StaticObjects集合的使用与Application 对象的 Contents 集合和 StaticObjects 集合的使用方法一 样
Session对象的方法
• Session对象只有一个方法:Abandon,调用
例子
创建永久性Cookie
• 为了能够长期地保存Cookie信息,需要设置
Cookie的过期日期,这样才能让Cookie成为永 久性Cookie。
例子
使用Cookie字典
– OnStart是当第一个客户请求文件的时候,
• 将在第9章讲解这两个事件的使用方法。
Session对象
•Session对象的属性 •Session对象的方法 •Session对象的事件 •使用Session对象的注意事项
Session对象
• 提供了内置对象Session负责存储、
例子
重定向
• 在网站的设计过程中,通常会遇到需要把用
户带到一个新页面中。这时可以使用Response 的Redirect方法。在这种方法中要给出需要重 定向的页面的相对路径或URL。
例子
缓存HTML
• Response对象有一个属性是Buffer,这个属性的值用
来确定数据发送给客户之前是否要缓冲。 • 它的默认值是True,表示确定数据发送给客户之前 需要缓冲,也就是说把需要发送给客户的信息先放 置到一个预先设定的缓冲区中,然后再一次性地发 送给客户; • 如果把这个值设置为False,那么所有的信息都会在 产生的时候立即发送给客户。从速度上说,这种不 使用缓冲的方法会比使用缓冲的方法要慢得多。
Application对象锁住,限制其他的用户修改Application中 的项目的值,然后再对项目的值进行修改。 –修改完成后,使用UnLock方法把锁打开。
例子
Application事件
• Application有两个事件:OnStart和OnEnd。
由调用执行; – OnEnd 事 件 则 是 在 服 务 器 关 闭 的 时 候 , 由 调用执行,通常是把所有需要永久保存 的信息写入到磁盘中,以便在服务器重新启动并 被访问的时候重新加载。
例子
post方法
• 使用post方法可以用Request对象的Form集合属性来
得到用户提交的数据。这时,用户浏览器的地址栏 中不会显示相关的查询字符串。因此如果需要提交 的数据很多时,应该使用post方法,因为它对数据的 大小和长度没有什么限制。 • 如果使用Web表单而不是HTML表单的话,那么也 只能够使用post方法来获取数据,因为这是Web表单 默认使用的方法,无需在定义表单的时候说明。
Cookie
•什么是Cookie •设置Cookie •检索Cookie •检测用户是否使用了Cookie
什么是Cookie
• 在 Web 程序设计中,它表示一个长度不超过
4K 的一个普通的文本文件。这个文件在用户 的硬盘上,可以由Web浏览器进行访问。
Cookie基础知识
–会话Cookie就是在前一节中讲解Session对象时提
这种方法可以立即销毁Session对象并立即释 放Session对象占用的资源。 • 当Session对象所记录的内容不再有用的时候, 就可以使用这种方法将Session对象销毁。
Session对象的事件
• OnStart事件在客户第一次从应用程序中请求
页的时候由调用,OnEnd 事件在会话关闭的时候调用。当会话超时或 调用Session的Abandon方法的时候也会发生 这个事件。 • 在第9章中讲解
Session和Cookie的比较
• 根据要存储数据的重要性进行选择。 • 根据要存储的数据量的大小进行选择
设置Cookie
• 在中采用的是面向对象的方法来创
建Cookie,所有的Cookie都是由HttpCookie类 创建的。当在HttpCookie类上创建了一个实例, 那么就创建了一个Cookie。把需要在Cookie中 保存的信息准备好之后,再用Response对象的 AppendCookie方法把这个Cookie写到客户端 的硬盘上。
例子
输出文本文件的内容
• Response对象的WriteFile方法可以实现将文
本文件的内容值接像屏幕输出。 • 这种方法与Wirte方法一样都可以向客户输出 数据,惟一的不同在于Write方法是输出它所 带参数中保存的字符串,而WriteFile方法所 带的参数则是代表一个文本文件的名字,可 以把这个文件中的文本当作数据输出给客户。
例子
Contents集合
• Application对象的Contents属性是一个集合,
它包含了这个对象中所有的不是用 <OBJECT>定义的非对象项目信息。 • 使用Contents集合可以得到这个项目的值,方 法如下: – Response.Write(Application.Contents["greeting"]);
使用Response和Request响应用户请求。 使用环境变量获取环境信息。 定义、创建和使用Application对象。 用Session对象来记录用户信息。 使用Server对象。 了解 Cookie 的基础知识,设置和检索 Cookie。
Response对象
例子
Session对象的属性
• Session 对象的常用属性有: SessionID、TimeOut、
LCID、Contents集合和StaticObjects集合。 – SessionID表示一个会话的存在,可以区分不同的 Session。 – TimeOut属性表示在一个会话结束之前会等待用户没有任
如何使用Application对象
• 从Web站点的主目录开始,每个目录和子目录
都可以作为一个Application。只要在一个目录 中没有找到其他的Application,那么这个目录 中的每一个文件和子目录都是这个Application 的一部分。
配置Application
• 使用IIS配置Application
HTTP
例子
PATH_INFO
• PATH_INFO可以获得一个程序所在文件的
URL的值,使用这个变量通常可以使程序更 加灵活。
例子
REMOTE_ADDR
• 通过REMOTE_ADDR可以得到客户或代理服
务器的IP地址
例子
获取用户的浏览器的信息
• 要获取用户的浏览器的信息,最简单的方法
就是使用Request对象的Browser属性。 • 这个属性本身也是一个对象,它的常用属性 有两个: – (1)Browser:表示浏览器的名称 – (2)MajorVersion:表示浏览器的版本的整数位 – (3)Version:表示浏览器的完整版本号
•输出字符串到网页上 •重定向 •缓存HTML •输出文本文件的内容
Response对象
• Response对象是用于控制如何将响
应发送给用户的内置对象。它提供了丰富的 方法和属性用于控制响应的输出方式。
输出字符串到网页上
• 将一个字符串输出到网页上是Response对象的
一个最常用的功能,使用它的Write方法就可 以实现。
例子
Request对象
•get方法 •post方法 •使用环境变量
Request对象
• Request对象是中用于提取浏览器中
用户输入信息的内置对象。在使用这个内部 对象时,用户的信息可以通过表单来提交, 也可以通过直接用URL的参数来获取,还可 以通过环境变量来提供。
get方法
例子
StaticObjects集合
• 那些用<OBJECT>定义的对象可以用
StaticObjects集合来访问
Lock和UnLock方法的使用
• 由于 Web 程序是一个多用户的程序,那么对于一些
存在计算功能的程序就可能因为存在多个用户而产 生计算错误问题。 • Application 恰恰又是一个存储着共享信息的对象, 当有多个用户同时希望改变 Application 对象中某个 项目的内容的时候,就有可能出现数据不一致的问 题。 • 为了防止这个问题的发生,Application对象提供了 两种方法:Lock和UnLock。 –当希望修改某个项目的内容时,先用Lock方法将
Server对象
•Server对象的属性 •Server对象的方法
Server对象
• Server对象的属性反映了Web服务器的各种
信息,它提供了服务器可以提供的各种服务。 这个对象与Application对象和Session对象不 同,它不负责为用户存储什么信息,也没有 什么事件
Server对象的属性
例子
Application对象
•如何使用Application对象 •Contents集合和StaticObjects集合 •Lock和UnLock方法的使用 •Application事件
Application对象
• 在中,Application是的一
个特殊的内置对象,它代表一个目录以及它 所有子目录中的所有文件,方便了 文件之间的数据共享。 • 由于它是一个内置对象,所以使用它的时候 与使用Response对象和Request对象类似,不 需要进行任何对象的实例化,就可以直接使 用。
• 使用get方法进行数据提交是把用户要提交的
信息作为查询字符串加在URL的后面传给接 收程序。URL是指Uniform Resource Locators(统一资源定位器),它的通常形式是 类似http:/filename.ext形 式的字符串。而查询字符串则是加在URL的 后面,与前面的URL一起提交给服务器的字 符串。
何活动的最大时间,单位是分钟。 – LCID是表示不同的地区的一个内部标识。 –Contents集合和StaticObjects集合的使用与Application 对象的 Contents 集合和 StaticObjects 集合的使用方法一 样
Session对象的方法
• Session对象只有一个方法:Abandon,调用
例子
创建永久性Cookie
• 为了能够长期地保存Cookie信息,需要设置
Cookie的过期日期,这样才能让Cookie成为永 久性Cookie。
例子
使用Cookie字典
– OnStart是当第一个客户请求文件的时候,
• 将在第9章讲解这两个事件的使用方法。
Session对象
•Session对象的属性 •Session对象的方法 •Session对象的事件 •使用Session对象的注意事项
Session对象
• 提供了内置对象Session负责存储、
例子
重定向
• 在网站的设计过程中,通常会遇到需要把用
户带到一个新页面中。这时可以使用Response 的Redirect方法。在这种方法中要给出需要重 定向的页面的相对路径或URL。
例子
缓存HTML
• Response对象有一个属性是Buffer,这个属性的值用
来确定数据发送给客户之前是否要缓冲。 • 它的默认值是True,表示确定数据发送给客户之前 需要缓冲,也就是说把需要发送给客户的信息先放 置到一个预先设定的缓冲区中,然后再一次性地发 送给客户; • 如果把这个值设置为False,那么所有的信息都会在 产生的时候立即发送给客户。从速度上说,这种不 使用缓冲的方法会比使用缓冲的方法要慢得多。
Application对象锁住,限制其他的用户修改Application中 的项目的值,然后再对项目的值进行修改。 –修改完成后,使用UnLock方法把锁打开。
例子
Application事件
• Application有两个事件:OnStart和OnEnd。
由调用执行; – OnEnd 事 件 则 是 在 服 务 器 关 闭 的 时 候 , 由 调用执行,通常是把所有需要永久保存 的信息写入到磁盘中,以便在服务器重新启动并 被访问的时候重新加载。
例子
post方法
• 使用post方法可以用Request对象的Form集合属性来
得到用户提交的数据。这时,用户浏览器的地址栏 中不会显示相关的查询字符串。因此如果需要提交 的数据很多时,应该使用post方法,因为它对数据的 大小和长度没有什么限制。 • 如果使用Web表单而不是HTML表单的话,那么也 只能够使用post方法来获取数据,因为这是Web表单 默认使用的方法,无需在定义表单的时候说明。
Cookie
•什么是Cookie •设置Cookie •检索Cookie •检测用户是否使用了Cookie
什么是Cookie
• 在 Web 程序设计中,它表示一个长度不超过
4K 的一个普通的文本文件。这个文件在用户 的硬盘上,可以由Web浏览器进行访问。
Cookie基础知识
–会话Cookie就是在前一节中讲解Session对象时提
这种方法可以立即销毁Session对象并立即释 放Session对象占用的资源。 • 当Session对象所记录的内容不再有用的时候, 就可以使用这种方法将Session对象销毁。
Session对象的事件
• OnStart事件在客户第一次从应用程序中请求
页的时候由调用,OnEnd 事件在会话关闭的时候调用。当会话超时或 调用Session的Abandon方法的时候也会发生 这个事件。 • 在第9章中讲解
Session和Cookie的比较
• 根据要存储数据的重要性进行选择。 • 根据要存储的数据量的大小进行选择
设置Cookie
• 在中采用的是面向对象的方法来创
建Cookie,所有的Cookie都是由HttpCookie类 创建的。当在HttpCookie类上创建了一个实例, 那么就创建了一个Cookie。把需要在Cookie中 保存的信息准备好之后,再用Response对象的 AppendCookie方法把这个Cookie写到客户端 的硬盘上。
例子
输出文本文件的内容
• Response对象的WriteFile方法可以实现将文
本文件的内容值接像屏幕输出。 • 这种方法与Wirte方法一样都可以向客户输出 数据,惟一的不同在于Write方法是输出它所 带参数中保存的字符串,而WriteFile方法所 带的参数则是代表一个文本文件的名字,可 以把这个文件中的文本当作数据输出给客户。
例子
Contents集合
• Application对象的Contents属性是一个集合,
它包含了这个对象中所有的不是用 <OBJECT>定义的非对象项目信息。 • 使用Contents集合可以得到这个项目的值,方 法如下: – Response.Write(Application.Contents["greeting"]);