欢迎来到天天文库
浏览记录
ID:1244311
大小:155.00 KB
页数:10页
时间:2017-11-09
《第9章 服务器对象》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第9章服务器对象第9章服务器对象在ASP中,除了前面讨论的四个内置对象外,还有一个称为服务器的对象(Server),用它可以创建其它类型的对象,本教材第11章的所有对象都要使用服务器对象来创建,服务器对象还有一些其它属性和方法。本章主要内容如下:l用服务器对象创建对象l对发送内容进行编码l求文件的服务路径l脚本运行时间的控制9.1用服务器对象创建其它对象除了ASP中内建的对象外,其它所有对象都必须通过服务器对象来创建,如后面要讨论的文件对象、数据库对象,以及其它已注册到服务器上的ActiveX组件对象。创建对象一般形式为:set对象变量名=Server.CreateObject(
2、“对象组件名称”)例如:setconn=Server.CreatObject(“ADODB.connection”)创建了一个用于处理数据库的对象,其中conn为对象变量名,ADODB.connection为对象组件名称。创建的每一个对象,都占用一些系统资源,如果对象不再使用时,应该释放其占用的资源,其语法为:set对象变量名=nothing例如:setconn=nothing9.2编码发送内容在HTML语言,将某些符号赋予了新的含义,因此,ASP中将要发送的内容发送给浏览器时,应将包含的可能产生对浏览器来说具有特殊含义的符号进行必要的转换。为此,服务器对象根据不同的需要设计了几
3、个实现转换的方法。1.HTML编码字符串当你将一段来自于数据库或其它位置的内容插入到HTML文档中时,浏览器会把其中的一些符号当作HTML的标签来识别,从而显示出不正常的结果,请看例9-1。【例9-1】发送包含特殊信息的网页•185•第9章服务器对象
4、使用服务器对象来对输出内容进行编码。形式如下:Server.HtmlEncode(“输出字符串”)即把上例改成如下形式:【例9-2】编码输出字符串
5、务器对象值,而直接对它进行编码将产生运行错误。如例9-3所示。图9-2经转换后的特殊符号【例9-3】空对象的转换<%dimstrstr=Nullresponse.writeServer.HtmlEncode(str)%>运行这个脚本时,将会接收到如下VBScript错误信息:MicrosoftVBScript运行时错误错误'800a000d'类型不匹配:'Server.HtmlEncode'/L9_3.asp,行4为了避免这一错误的发生,在输出来自于数据库的内容时,应先使用函数isNull进行判空的操作。形式如下:IfisNull(str)thenResponse.write“”
6、ElseResponse.writeServer.HtmlEncode(str)Endif2.URL编码字符串对于发送给服务器的带有查询字符串的重定向命令中,有时也可能包含一些特定的字符。例如,要通过网页abc.asp查询一个包含a+b的表达式,可能使用如下形式:<%Response.Redirect"abc.asp?exp=a+b"%>而此时,服务器端接收到的查询字符串变成了“exp=ab”,即其中的“+”变成了空格。为了让服务器端能接收到正确的查询字符串,可以使用服务器对象的URLEncode方法。使用形式如下:•185•第9章服务器对象Server.URLEncode(“编
7、码字符串”)即把上面的一行改写成如下形式:<%Response.Redirect"abc.asp?exp="&Server.URLEncode("a+b")%>注意:不能将整个查询字符串作为参数来进行编码,即不能把上式写成如下形式:<%Response.Redirect"abc.asp?"&Server.URLEncode("exp=a+b")%>因为式中的“=”是不应该转换的。另外对于多个查询变量还需要分别转换,如例9-4所示。【例9-4】编码URL字符串<%@language
此文档下载收益归作者所有