- 1
- 0
- 约4.63千字
- 约 38页
- 2019-08-29 发布于广东
- 举报
第9章 服务器对象 本章主要内容如下 在ASP中,服务器的对象(Server)是五个内置对象之一,用它可以创建其它类型的对象,本章分别讨论: 用服务器对象创建对象 对发送内容进行编码 求文件的物理路径 脚本运行时间的控制 本章目录 9.1 用服务器对象创建其它对象 除了ASP中内建的对象外,其它所有对象都必须通过服务器对象来创建,如后面要讨论的文件对象、数据库对象,以及其它已注册到服务器上的ActiveX组件对象。 以下分别讨论: 对象的创建 对象的释放 1.对象的创建 创建对象一般形式为: set 对象变量名=Server.CreateObject(“对象组件名称”) 例如: set conn=Server.CreatObject(“ADODB.connection”) 创建了一个用于处理数据库的对象,其中conn为对象变量名,ADODB.connection为对象组件名称。 2.对象的释放 创建的每一个对象,都占用一些系统资源,如果对象不再使用时,应该释放其占用的资源,其语法为: set 对象变量名=nothing 例如: set conn=nothing 9.2 编码发送内容 在html中,将某些符号赋予了新的含义,因此,ASP中将某些内容发送给浏览器时,应将包含的可能产生对浏览器来说具有特殊含义的符号进行必要的转换。为此,服务器对象根据不同的需要设计了几个实现转换的方法。 1.html编码字符串 2.URL编码字符串 3.编码脚本路径 1.html编码字符串 (1)必要性 当你将一段来自于数据库或其它位置的内容插入到html文档中时,浏览器会把其中的一些符号当作html的标签来识别,从而显示出不正常的结果,请看下例。 网页中包含特殊信息的网页 网页内容 html body % response.write 网页中,加黑显示一段文字的使用形式为:B文字内容/BBR response.write 在C语言中,变量a、b中取较大者的表示形式为:ab?b:a % /body /html 网页中包含特殊信息的网页 浏览结果 1.html编码字符串 (2)处理方法 可以使用服务器对象来对输出内容进行编码,以解决上述存在的问题。形式如下: Server.HtmlEncode(“输出字符串”) 请看修改后的例子 对输出字符进行编码 网页内容 html body % response.write Server.HtmlEncode(加黑显示文字的形式为:B文字内容/B) response.write BR response.write Server.HtmlEncode(两变量中取较大者的表示形式为:ab?b:a) % /body /html 对输出字符进行编码 浏览结果 1.html编码字符串 (3)特殊情况的处理 如果被编码的字符串是来自于数据库的某一字段,这时,很可能是一个Null值,而直接对它进行编码将产生运行错误。例: % dim str str=Null response.write Server.HtmlEncode(str) % 1.html编码字符串 (3)特殊情况的处理 为了避免这一错误的发生,在输出来自于数据库的内容时,应先使用函数isNull进行判空的操作。形式如下 : If isNull(str) then Response.write “” Else Response.write Server.HtmlEncode(str) End if 2.URL编码字符串 对于发送给服务器的带有查询字符串的重定向命令中,有时也可能包含一些特定的字符。例如,要通过网页abc.asp查询一个包含a+b的表达式,可能使用如下形式: % Response.Redirect abc.asp?exp=a+b% 而此时,服务器端接收到的查询字符串变成了“exp=a b”,即其中的“+”变成了空格。 2.URL编码字符串 为了让服务器端能接收到正确的查询字符串,可以使用服务器对象的URLEncode 方法。使用形式如下: Server.URLEncode(“编码字符串”) 即把上面的一行改写成如下形式: % Response.Redirect abc.asp?exp= Server.URLEncode(a+b)% 注意:不能将整个查询字符串作为参数来进行编码,即不能把上式写成如下形式: % Response.Redirect abc.asp? Server.URLEncode(exp=a+b)% 因为式中的“=”是不应该转换的。 2.URL编码字符串 另外对于多个查询变量还需要分别转换,
原创力文档

文档评论(0)