第9章 服务器对象

第9章 服务器对象

ID:1244311

大小:155.00 KB

页数:10页

时间:2017-11-09

第9章 服务器对象_第1页
第9章 服务器对象_第2页
第9章 服务器对象_第3页
第9章 服务器对象_第4页
第9章 服务器对象_第5页
资源描述:

《第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章服务器对象<%response.write"网页中,加黑显示一段文字的使用形式为:文字内容
"response.write"在C语言中,变量a、b中取较大者的表示形式为:a显示结果如图9-1所示,显然是不希望的结果。图9-1正常文字被当作标签处理为此,可以

4、使用服务器对象来对输出内容进行编码。形式如下:Server.HtmlEncode(“输出字符串”)即把上例改成如下形式:【例9-2】编码输出字符串<%response.writeServer.HtmlEncode("加黑显示文字的形式为:文字内容")response.write"
"response.writeServer.HtmlEncode("两变量中取较大者的表示形式为:a浏览结果如图9-2所示。如果被编码的字符串是来自于数据库的某一字段,这时,很可能是一个Null•185•第9章服

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。