人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

其它的ASP常用組件

其它的ASP常用組件

更新時間:2022-07-10 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

一、 Browser Capabilities 組件眾所周知,并不是所有瀏覽器都支持現(xiàn)今 Internet 技術(shù)的方方面面。有一些特性,某些瀏覽器支持而另一些瀏覽器卻不支持,如 : ActiveX 控件、影像流、動態(tài) HTML、 Flash 以及腳本程序等。使用 ASP 的 Browser Capabilities 組件,就能夠設(shè)計“智能”的 Web 頁,以適合瀏覽器性能的格式呈現(xiàn)內(nèi)容。 Browser Capabilities 組件能夠創(chuàng)建一個 BrowserType 對象,該對象提供帶有客戶端網(wǎng)絡(luò)瀏覽器的功能說明的用戶腳本。該組件之所以能識別客戶瀏覽器的版本等信息,主要是因為當客戶瀏覽器向服務(wù)器發(fā)送頁面請求時,會自動發(fā)送一個 User Agent HTTP 標題,該標題是一個聲明瀏覽器及其版本的 ASCII 字符串。 Browser Capabilities 組件將 User Agent 映射到在文件 Browscap.ini 中所注明的瀏覽器 , 并通過 BrowserType 對象的屬性來識別客戶瀏覽器。若該對象在 browscap.ini 文件中找不到與該標題匹配的項,那么將使用默認的瀏覽器屬性。若該對象既未找到匹配項且 browscap.ini 文件中也未指定默認的瀏覽器設(shè)置,則它將每個屬性都設(shè)為字符串 "UNKNOWN"。在默認情況下, browscap.ini 文件被存放在 WINDOWS\SYSTEM\INERSRV( 如果是 95/98+PWS4) 或 NT\SYSTEM32\INERSRV( 如果是 NT) 目錄中,你可以自己編輯這個文本文件,以添加自己的屬性或者根據(jù)最新發(fā)布的瀏覽器版本的更新文件來修改該文件。請看以下 checkCookie() 過程,使用 BrowserCap 對象的 Cookie 屬性來判斷客戶端瀏覽器是否支持 Cookie,并返回信息 :

  < %
  Sub checkCookie()
  Set BrowserCap=Server.CreateObject("MSWC.BrowserType")
  if BrowserCap.Cookie=True then
  response.write "你的瀏覽器支持 Cookie!"
  else
  response.write "對不起,你所使用的瀏覽器不支持 Cookie!"
  end if
  end Sub
  %>


   有關(guān) Browser Capabilities 組件的詳細信息,請參見動態(tài)網(wǎng)站設(shè)計十八般武藝 --ASP 篇 (2)。

   二、 File Access 組件如果你的網(wǎng)齡足夠大的話,你一定見過“恐龍時代”的 CGI 留言簿,那是 WEB 留言簿最早的雛形。那時候在基于 Internet 的 WEB 應(yīng)用程序中連接服務(wù)器后端數(shù)據(jù)庫還十分困難,因此留言簿中的歷史信息并不是同如今一樣存儲在后端數(shù)據(jù)庫中。那么這些數(shù)據(jù)究竟是保存在哪里的呢?答案就是“文本文件”, CGI 程序可以將從客戶端接收的信息寫進一個存放在服務(wù)器端的文本文件中,該文件可以是 HTML 文件或 TXT 等文件,這樣就使得程序員們可以不通過同數(shù)據(jù)庫連接就可以將客戶信息保存下來,但是寫此類 CGI 程序甚是煩瑣,下面列出了一個此類程序的最簡單的樣本 :

  #!/usr/local/bin/perl
  # Perl Location one your server
  print "Content-type: text/plain\n\n";
  if($ENV{'REQUEST_METHOD'}eq"POST"){
  read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
  }elsif($ENV{'REQUEST_METHOD'}eq"GET"){
  $buffer=$ENV{'QUERY_STIRNG'};
  }
  @pairs=split(/&/,$buffer);
  foreach $pair(@pairs){
  ($name,$value)=split(/=/,$pair);
  $value=~tr/+//;
  $value=~s/%([a-f A-F 0-9][a-f A-f 0-9])/pack("C",hex($1))/eg;
  $FORM{$name}=$value;}
  $file_name="guestbook.txt";#File name
  #具體內(nèi)容
  open(FILE,">>$file_name")  die "打開文件錯誤";
  print FILE "記錄時間":$date \n\n";
  print FILE "姓名":$FORM{'name'}";
  print FILE "單位":$FORM{'company'}\n";
  print FILE "電話":$FORM{'phone'}
  print FILE "地址":$FORM{'address'}\n";
  print FILE "郵編":$FORM{'zip'}
  print FILE "郵件地址":$FORM{'email'}\n";
  print FILE "返回意見":$FORM{'content'}
  close (FILE)


  大家可以感覺到,與 ASP 相比此類 CGI 程序的可讀性和易操作性都較差。那么你一定想問 ASP 是否也能直接在服務(wù)器上寫文件呢?答案當然是肯定的。但是聰明的朋友可能會想到,既然 ASP 同 WEB 數(shù)據(jù)庫的連接如此便捷,我們又何需再將客戶信息寫在文本文件中呢, ASP 的這個功能豈不是畫蛇添足?的確,對于那些我們常見的留言簿、 BBS 等 WEB 應(yīng)用程序而言,無論是在程序的執(zhí)行效率還是易用性上,我們都不可能再用寫文本文件來替代數(shù)據(jù)庫,但是在某些 WEB 應(yīng)用領(lǐng)域里寫文本文件既是一種規(guī)范也是一種相對數(shù)據(jù)庫而較便捷的方法。如果你對 NT 較熟悉的話,你一定知道 NT 具有非常強大的安全機制,它可以將幾乎所有的服務(wù)器操作和連接的信息自動保存在一個后綴名為 .log 的文件中,其實這種技術(shù)也完全可以被運用在 WEB 上,用來記錄一些的客戶登陸信息。下面的這段程序正是利用 ASP 讀寫文本文件的特性,在一個 WEB BBS 程序中創(chuàng)建自動記錄每個用戶發(fā)言記錄的功能。


  < %
  Set fs = CreateObject("Scripting.FileSystemObject")
  ForReading = 1
  '以只讀模式打開文件。不能對此文件進行寫操作。
  ForAppending = 8
  '打開文件并在文件末尾進行寫操作。
  TristateUseDefault = -2
  TristateTrue = -1
  TristateFalse = 0

  '-----------寫入系統(tǒng)log開始--------
  servermap=server.MapPath("\bbs\log\")
  '映射系統(tǒng)物理路徑
  temp=servermap&"\"&year(date)&month(date)&"\"
  '獲取系統(tǒng)物理路徑和時間,并以此作為log文件存放的物理路徑
  if Not fs.FolderExists(temp) then
  fs.CreateFolder(temp)
  end if
  '檢測是否存在文件夾,否則自動創(chuàng)建
  dim syslog
  dim tempname
  tempname=date
  syslog=temp&tempname&".log"
  '文件名為e:\bbs\log\月份\月日.log
  li=user&"&"&Now&"&"&Request.ServerVariables("REMOTE_ADDR")&"&"&tempfile&"&"&letter&"&"&title
  'log文件記錄的格式為:用戶名&發(fā)信時間&用戶ip&文件路徑&信區(qū)&信件標題
  if fs.FileExists(syslog) then
  Set ss = fs.OpenTextFile(syslog,ForAppending,true)
  else
  set ss = fs.CreateTextFile(syslog,ForWriting,false)
  end if
  '檢測log文件是否存在,如果存在則追加文件內(nèi)容,反之則直接寫文件
  ss.WriteLine(li)
  ss.Close
  '-----------log文件寫入結(jié)束---------
  %>


  如果你沒有完全看懂上面的這段程序,就請聽作者慢慢道來。 File Access 組件提供了可用來訪問計算機文件系統(tǒng)的方法和屬性。我們可以使用 File Access 組件創(chuàng)建 FileSystemObject 對象,以上程序的第一句就是利用 File Access 組件創(chuàng)建了一個名為 fs 的對象實例。在對象被創(chuàng)建后,你可以通過它訪問文件,該對象沒有屬性,它唯一的意義就是創(chuàng)建、打開或讀寫文本文件。 FileSystemObject 對象有兩種最常用的方法,一種用來創(chuàng)建文件,另一種是用來打開并讀寫文本文件。 CreateTextFile 方法獲得你指定的文件名并創(chuàng)建該文件,它返回一個 TextStream 對象,你可以用該對象在文件被創(chuàng)建后操作該文件, CreateTextFile 方法的語法如下 :
  Set objTextStream=FileSystemObject.CreateTextFile(Filename,[Overwrite],[Unicode])

[1] [2]  下一頁

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 阳城县| 吉木萨尔县| 呼和浩特市| 兴文县| 巴彦淖尔市| 孟州市| 岑溪市| 嘉荫县| 榆树市| 河曲县| 拜城县| 洪江市| 瓦房店市| 平安县| 同德县| 乌拉特中旗| 南宁市| 米易县| 五寨县| 鹿邑县| 道孚县| 松江区| 北流市| 土默特右旗| 西和县| 太原市| 唐河县| 弥渡县| 延安市| 依兰县| 如皋市| 安乡县| 莒南县| 虞城县| 德清县| 新绛县| 广南县| 涪陵区| 五河县| 高阳县| 田东县|