亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP編程入門進階(七):內置對象Server

2020-07-27 13:19:37
字體:
來源:轉載
供稿:網友
Server 對象提供對服務器上的方法和屬性的訪問 , 其中大多數方法和屬性是作為實用程序的功能服務。(IIS HELP翻譯)
有了 Server 對象,你就可以在服務器上啟動 ActiveX 對象例程,并使用 Active Server 服務提供象 HTML 和 URL 編碼這樣的函數。
一,Script.ScriptTimeout
在腳本運行超過一段時間之后,即作超時處理。
服務器一般的默認腳本運行時間是90秒。
你可以從“Internet信息服務”中“默認Web站點”的屬性彈出框中看出,你也可以自己設定。

呵呵,上面的可不是,900秒了。
應該是“主目錄”標簽中的“配置”對話框中,WINXP一樣。



在理解腳本運行時間之前,先來看一個程序,主要功能就是進行計算網頁執行時間的。

[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

當然對應的ASP也就是看到許多站點都有的頁面執行時間顯示

1,time.asp


<%startime=timer()%>
<a href=#bot>到下面看執行的時間</a>
<%
for i= 1 to 5000
response.write("<hr width="&int(500+i)&">")
next
%>
當然中間還可以添加其它內容。<br>
<%endtime=timer()%>
<a name=bot></a>
<%=FormatNumber((endtime-startime)*1000,3)%>毫秒



那如果上面的程序變成for i= 1 to 5000000
呵呵,是不是機器快反應不過來的感覺,那這個就是腳本的執行時間了。
為了讓程序能很好的執行,就該把腳本執行時間放長了。
怎么放長?把默認的改?呵呵,當然不是:)


<%Server.ScriptTimeout=110%>


時間的設定當然要是比默認90秒大的,現在的代碼就是:指定服務器處理腳本在 110 秒后超時。
還有,腳本時間的確定要看自身的程序了,一般情況100秒左右也差不多了,即使能執行出來,可能觀看網頁的人早就把它叉叉了。

以上的ScriptTimeout就是Server對象唯一屬性了

二,Server.HtmlEncode
HtmlEncode就是Server對象的其中一個方法了。它允許你對特定的字符串進行 HTML 編碼,雖然 HTML 可以顯示大部分你寫入 ASP 文件中的文本,但是當你需要實際包含 HTML 標記中所使用的字符,就會遇到問題。這是因為,當瀏覽器讀到這樣的字符串時,會試圖進行解釋。

還是看一個程序,我想在頁面顯示“&nbsp;”這樣的代碼(附:&nbsp;是空格的代碼)
那么當我進行書寫的時候你會發現,瀏覽器已經給我解釋了的。

[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

所以,為了要讓一些特殊代碼能夠顯示,就運用該方法了。

2,htmlencode.asp


<%Response.write ("這是沒有采用 HTMLEncode 方法的測試。<br> 這里就另起一行,說明代碼被執行。&nbsp;")%>
<hr>
<%Response.write Server.HtmlEncode("這是對 HTMLEncode 方法的測試。<br> 這里應該不會另起一行,也就是代碼沒有被執行了。&nbsp;")%>


這在許多網站,論壇都存在的一些BUG,不信你可以到各論壇試試:敲入&nbsp;就是沒有,急死你呢:)當然HtmlEncode只是其中的一個原因,最主要的還是UBB代碼的轉換。不過關于這點我也已經調試解決了。
調試地址參看 http://www.cnbruce.com/juven/showart.asp
當然經典論壇不存在這問題,要不你也不會看到效果了。

三,Server.UrlEncode
正如 HtmlEncode 方法使客戶可以將字符串翻譯成可接受的 HTML 格式一樣,Server 對象的 UrlEncode 方法則是根據 URL 規則對字符串進行正確編碼,當字符串數據以 URL 的形式傳遞到服務器時,在字符串中不允許出現空格,也不允許出現特殊字符。為此,如果你希望在發送字符串之前進行 URL 編碼,可以使用 Server.URLEncode 方法。
為方便起見,我們先看為處理送交,然后處理接受的效果。

3,urlencode.asp


<%filepath=request.servervariables("script_name")%>
接受URL中的值(沒有處理接受值,發現值被解釋了): <%=request.querystring("cnbruce")%>
<form action="<%=filepath%>">
你可以輸入“&lt;hr&gt”等代碼看看:<input type="text" size="20" name="cnbruce"><input type="submit">
</form>
接受URL中的值(進行了urlencode編碼,不會執行): <%=Server.URLEncode(request.querystring("cnbruce"))%>



當然你會發現,雖然不執行了,但會出現“<”變成了“%3C”,“>”變成了“%3E”,那這就是因為沒有在發送之前處理。
不過,我們還可以通過Replace函數將這些特殊代碼再逆轉過來。

4,vurlencode.asp


<%
function tihuan(what)
tihuan=what
if not isnull(what) then
tihuan=replace(tihuan,"%3C","&lt;")
tihuan=replace(tihuan,"%3D","=")
tihuan=replace(tihuan,"%3E","&gt;")
tihuan=replace(tihuan,"%26","&amp;")
tihuan=replace(tihuan,"%20","&nbsp;")
tihuan=replace(tihuan,"%3B","&#59;")
tihuan=replace(tihuan,"%22","&quot;")
tihuan=replace(tihuan,"%2B","+")
tihuan=replace(tihuan,"%2F","/")
end if
end function
%>

<%filepath=request.servervariables("script_name")%>

接受URL中的值(沒有處理接受值,發現值被解釋了): <%=request.querystring("cnbruce")%>

<form action="<%=filepath%>">
你可以輸入“&lt;hr&gt”等代碼看看:<input type="text" size="20" name="cnbruce"><input type="submit">
</form>
接受URL中的值(進行了urlencode編碼,不會執行): <%=tihuan(Server.URLEncode(request.querystring("cnbruce")))%>



呵呵,其實上面我是做的無用功啦,真正應該是在發送之前就該處理下的,不過對學習該方法的舉例確是個好方法:)

四,Server.MapPath
相信看過我寫的《DW2ASP系列》的朋友,都卡在這個上了。DW畢竟是入門的好東西,但要系統學ASP編程,對這個就該好好認識了解下。
MapPath方法,具體的就是將指定的相對或虛擬路徑,映射服務器上相應的物理目錄上。
用法,也就是語法了,如下:


Server.MapPath(Path)


Path 指定要映射物理目錄的相對或虛擬路徑。若 Path 以一個正斜杠 (/) 或反斜杠 (/) 開始,則 MapPath 方法返回路徑時將 Path 視為完整的虛擬路徑。若 Path 不是以斜杠開始,則 MapPath 方法返回同本文件中已有的路徑相對的路徑。這里需要注意的是 MapPath 方法不檢查返回的路徑是否正確或在服務器上是否存在。
當然這可以和Request.ServerVariables連起來使用看看。

5,mappath.asp


Request.ServerVariables("APPL_PHYSICAL_PATH") : <%=Request.ServerVariables("APPL_PHYSICAL_PATH")%><p>
Request.ServerVariables("PATH_INFO") : <%=Request.ServerVariables("PATH_INFO")%><p>
Request.ServerVariables("SCRIPT_NAME") : <%=Request.ServerVariables("SCRIPT_NAME")%><p>
Request.ServerVariables("URL") : <%=Request.ServerVariables("URL")%><p>
Request.ServerVariables("PATH_TRANSLATED") : <%=Request.ServerVariables("PATH_TRANSLATED")%><hr>
上面都是通過ServerVariables提取得出的值,下面就來運用mapath把一個虛擬地址轉變為實際的物理地址。<p>
Server.MapPath(Request.ServerVariables("URL")) :<%=Server.MapPath(Request.ServerVariables("URL"))%><p>
或者自己隨便寫個不存在的路徑,同樣能夠執行<p>
Server.MapPath("cnbruce.asp") : <%=Server.MapPath("cnbruce.asp")%><p>
再來個“/”的<p>
Server.MapPath("/cnbruce.asp") : <%=Server.MapPath("/cnbruce.asp")%><br>
Server.MapPath("/cnbruce.asp") : <%=Server.MapPath("/cnbruce.asp")%><p>
你會發現物理地址轉變到IIS默認根目錄下面了。
這就是如6to23之類的站點mappath的問題所在。還是虛擬主機好,即使是根,也還是自己站點的默認存放節點根。


測試我的地址http://www.cnbruce.com/server.asp
注意測試的地址和根目錄下的地址,對應的是同一文件夾(這就是虛擬主機),6to23之類是不會相同的。

有此些了解,對路徑的處理應該要好多了,再返回我的站點,看看我對數據庫的mappath路徑的處理方法,相信又是一個理解層次了。
數據庫的mappath路徑的處理方法在:
http://www.cnbruce.com/blog/showlog.asp?cat_id=27&log_id=241

五,Server.CreatObject
Server.CreateObject 這個方法恐怕是 ASP 中最為實用,也是最強勁的功能了。它可用于創建已經注冊到服務器上的 ActiveX 組件實例。這是一個非常重要的特性,因為通過使用 ActiveX 組件能夠使你輕松地擴展 ActiveX 的能力,正是使用了 ActiveX 組件,你可以實現至關重要的功能,譬如數據庫連接、文件訪問、廣告顯示和其他 VBScript 不能提供或不能簡單地依靠單獨使用 ActiveX 所能完成的功能。也正是因為這些組件才使得 ASP 具有了強大的生命力。
呵呵,不過,在我們沒有談及連接數據庫之前,這個先空著,“要得好,到臨了”:)等我們接觸到數據庫連接的時候再說不遲。

恩,那今天就主要把Server對象學習了下,感覺好象是每個都有用的,重要啊。
還有,需要說明的,如果您從本處轉載,發現和本源件有差錯,比如代碼&nbsp; 、 &lt 、 &gt等等,根本就是被執行了的。都說明您的站點存在著這些問題。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产伦精品一区二区三区精品视频| 久久久久久网址| 亚洲欧美国产视频| 国产激情久久久| 亚洲欧洲第一视频| 色999日韩欧美国产| 欧美激情精品久久久久| 国产精品综合久久久| 亚洲激情视频在线播放| 亚洲欧美精品在线| 亚洲国产精品99久久| 91色中文字幕| 欧美肥臀大乳一区二区免费视频| 亚洲欧美精品一区二区| 久久久黄色av| 97色在线观看| 国产午夜精品视频| 亚洲综合小说区| 成人免费视频97| 亚洲欧洲日韩国产| 亚洲欧美激情精品一区二区| 欧洲亚洲女同hd| 成人春色激情网| 国精产品一区一区三区有限在线| 久久久久久亚洲精品不卡| 欧美高清无遮挡| 日韩电影在线观看中文字幕| 久久99热精品这里久久精品| 奇米四色中文综合久久| 91日韩在线播放| 一个人看的www欧美| 欧美成人精品在线观看| 日本免费一区二区三区视频观看| 亚洲综合精品一区二区| 中文字幕一精品亚洲无线一区| 精品国产网站地址| 精品久久久视频| 欧美成人久久久| 国产精品揄拍一区二区| 国产一区二区三区视频在线观看| 欧美大片欧美激情性色a∨久久| 亚洲xxx自由成熟| 一级做a爰片久久毛片美女图片| 久久噜噜噜精品国产亚洲综合| 97在线视频免费播放| 夜夜嗨av一区二区三区免费区| 亚洲欧美另类在线观看| 中文字幕9999| 日韩中文字幕在线精品| 97婷婷涩涩精品一区| 在线观看亚洲视频| 另类少妇人与禽zozz0性伦| 国产精品va在线播放我和闺蜜| 日本不卡高字幕在线2019| 欧美电影在线观看高清| 一本色道久久综合狠狠躁篇怎么玩| 日韩欧美在线字幕| 日韩精品在线免费观看| 97碰在线观看| 亚洲精品美女免费| 日韩精品免费在线视频观看| 国产乱人伦真实精品视频| 国产成人一区二区三区小说| 欧美电影院免费观看| 日韩欧美亚洲成人| 国产精品久久久久久久久久99| 日韩av在线天堂网| 欧美丰满少妇xxxxx做受| 欧美日韩激情网| 欧美性猛交xxxxx免费看| 久久精品这里热有精品| 欧美激情一区二区三区在线视频观看| 久久av在线播放| 欧美日韩在线视频首页| 亚洲国产精品va在线观看黑人| 欧美视频中文字幕在线| 欧美一级淫片播放口| 日韩av免费观影| 日韩大片免费观看视频播放| 亚洲国产欧美一区二区三区久久| 欧美激情视频一区二区| 欧美性猛交99久久久久99按摩| 视频在线观看99| 欧美三级欧美成人高清www| 国产中文日韩欧美| 91禁外国网站| 日韩av男人的天堂| 国产一区红桃视频| 91高清免费在线观看| 久久精品久久久久| 久久久91精品国产一区不卡| 国产精品精品视频| 欧美成人一二三| 国产亚洲xxx| 91精品国产高清自在线看超| 狠狠躁天天躁日日躁欧美| 日韩欧美国产免费播放| 欧美亚洲激情在线| 欧美一区视频在线| 亚洲成色www8888| 欧美猛交ⅹxxx乱大交视频| 欧美精品一区在线播放| 久久99国产精品久久久久久久久| 亚洲色图18p| 国产精品自产拍在线观| 亚洲日本欧美中文幕| 欧美日韩久久久久| 人人做人人澡人人爽欧美| 成人精品视频99在线观看免费| 欧美日韩999| 日韩一二三在线视频播| 午夜精品一区二区三区在线| 日韩成人av一区| 欧美精品电影免费在线观看| 久久精品成人欧美大片古装| 亚洲国产成人一区| 国产成人+综合亚洲+天堂| 亚洲自拍偷拍视频| 成人在线小视频| 美女啪啪无遮挡免费久久网站| 国产98色在线| 精品久久久久久久久久ntr影视| 欧美亚洲国产日韩2020| 中文字幕综合在线| 欧洲亚洲免费在线| 91精品国产电影| 日韩久久免费电影| 久久久国产视频91| 久久影院免费观看| 成人伊人精品色xxxx视频| 亚洲视频999| 色黄久久久久久| 91在线免费看网站| 国语自产精品视频在线看抢先版图片| 日韩av免费在线观看| 91精品在线播放| 亚洲国产精品专区久久| 中文字幕亚洲二区| 亚洲精品国产综合久久| 日韩国产在线看| 日韩精品中文在线观看| 国产69精品99久久久久久宅男| 亚洲欧美制服第一页| 91精品在线播放| 国产精品va在线播放我和闺蜜| 亚洲精品免费在线视频| 91精品视频在线看| 亚洲永久在线观看| 欧美性猛交xxxx偷拍洗澡| 亚洲网站在线播放| 国产精品久久久久久久久久免费| 92看片淫黄大片欧美看国产片| 欧美激情欧美激情| 91成人在线播放| 国产精品草莓在线免费观看| 在线电影中文日韩| 国产在线精品成人一区二区三区| 91网站免费看| 欧美大片免费观看| 国产日本欧美一区二区三区| 久久精品欧美视频| 57pao成人国产永久免费| 色多多国产成人永久免费网站| 欧美自拍视频在线|