Server对象提供对服务器上的方法和属性的访问,其中大多数方法和属性是作为实用程序的功能服务。(IISHELP翻译)
有了Server对象,你就可以在服务器上启动ActiveX对象例程,并使用ActiveServer服务提供象HTML和URL编码这样的函数。
一,Script.ScriptTimeout
在脚本运行超过一段时间之后,即作超时处理。
服务器一般的默认脚本运行时间是90秒。
你可以从“Internet信息服务”中“默认Web站点”的属性弹出框中看出,你也可以自己设定。
呵呵,上面的可不是,900秒了。
应该是“主目录”标签中的“配置”对话框中,WINXP一样。
在理解脚本运行时间之前,先来看一个程序,主要功能就是进行计算网页执行时间的。
<script language=vbs>startime=timer()//以下为网页内容for i= 1 to 5000 step 20document.write("<hr width="&int(500+i)&">")next//结束时间endtime=timer()document.write ("页面执行时间:"&FormatNumber((endtime-startime)*1000,3)&"毫秒")</script>[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
当然对应的ASP也就是看到许多站点都有的页面执行时间显示
1,time.asp
那如果上面的程序变成fori=1to5000000
呵呵,是不是机器快反应不过来的感觉,那这个就是脚本的执行时间了。
为了让程序能很好的执行,就该把脚本执行时间放长了。
怎么放长?把默认的改?呵呵,当然不是:)
时间的设定当然要是比默认90秒大的,现在的代码就是:指定服务器处理脚本在110秒后超时。
还有,脚本时间的确定要看自身的程序了,一般情况100秒左右也差不多了,即使能执行出来,可能观看网页的人早就把它叉叉了。
以上的ScriptTimeout就是Server对象唯一属性了
二,Server.HtmlEncode
HtmlEncode就是Server对象的其中一个方法了。它允许你对特定的字符串进行HTML编码,虽然HTML可以显示大部分你写入ASP文件中的文本,但是当你需要实际包含HTML标记中所使用的字符,就会遇到问题。这是因为,当浏览器读到这样的字符串时,会试图进行解释。
还是看一个程序,我想在页面显示“ ”这样的代码(附: 是空格的代码)
那么当我进行书写的时候你会发现,浏览器已经给我解释了的。
空格的代码是: <br>你会发现上面的代码都被执行了。[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
所以,为了要让一些特殊代码能够显示,就运用该方法了。
2,htmlencode.asp
这在许多网站,论坛都存在的一些BUG,不信你可以到各论坛试试:敲入 就是没有,急死你呢:)当然HtmlEncode只是其中的一个原因,最主要的还是UBB代码的转换。不过关于这点我也已经调试解决了。
调试地址参看/juven/showart.asp
当然经典论坛不存在这问题,要不你也不会看到效果了。
三,Server.UrlEncode
正如HtmlEncode方法使客户可以将字符串翻译成可接受的HTML格式一样,Server对象的UrlEncode方法则是根据URL规则对字符串进行正确编码,当字符串数据以URL的形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。为此,如果你希望在发送字符串之前进行URL编码,可以使用Server.URLEncode方法。
为方便起见,我们先看为处理送交,然后处理接受的效果。
3,urlencode.asp
当然你会发现,虽然不执行了,但会出现“<”变成了“%3C”,“>”变成了“%3E”,那这就是因为没有在发送之前处理。
不过,我们还可以通过Replace函数将这些特殊代码再逆转过来。
4,vurlencode.asp
呵呵,其实上面我是做的无用功啦,真正应该是在发送之前就该处理下的,不过对学习该方法的举例确是个好方法:)
四,Server.MapPath
相信看过我写的《DW2ASP系列》的朋友,都卡在这个上了。DW毕竟是入门的好东西,但要系统学ASP编程,对这个就该好好认识了解下。
MapPath方法,具体的就是将指定的相对或虚拟路径,映射到服务器上相应的物理目录上。
用法,也就是语法了,如下:
Path指定要映射物理目录的相对或虚拟路径。若Path以一个正斜杠(/)或反斜杠(/)开始,则MapPath方法返回路径时将Path视为完整的虚拟路径。若Path不是以斜杠开始,则MapPath方法返回同本文件中已有的路径相对的路径。这里需要注意的是MapPath方法不检查返回的路径是否正确或在服务器上是否存在。
当然这可以和Request.ServerVariables连起来使用看看。
5,mappath.asp
测试我的地址/server.asp
注意测试的地址和根目录下的地址,对应的是同一文件夹(这就是虚拟主机),6to23之类是不会相同的。
有此些了解,对路径的处理应该要好多了,再返回我的站点,看看我对数据库的mappath路径的处理方法,相信又是一个理解层次了。
数据库的mappath路径的处理方法在:
/blog/showlog.asp?cat_id=27&log_id=241
五,Server.CreatObject
Server.CreateObject这个方法恐怕是ASP中最为实用,也是最强劲的功能了。它可用于创建已经注册到服务器上的ActiveX组件实例。这是一个非常重要的特性,因为通过使用ActiveX组件能够使你轻松地扩展ActiveX的能力,正是使用了ActiveX组件,你可以实现至关重要的功能,譬如数据库连接、文件访问、广告显示和其他VBScript不能提供或不能简单地依靠单独使用ActiveX所能完成的功能。也正是因为这些组件才使得ASP具有了强大的生命力。
呵呵,不过,在我们没有谈及连接数据库之前,这个先空着,“要得好,到临了”:)等我们接触到数据库连接的时候再说不迟。
恩,那今天就主要把Server对象学习了下,感觉好象是每个都有用的,重要啊。
还有,需要说明的,如果您从本处转载,发现和本源件有差错,比如代码 、<、>等等,根本就是被执行了的。都说明您的站点存在着这些问题。