靜網PWA視頻評論

關於ASP技術簡介參考

2024年01月04日

- txt下載

關於ASP技術簡介參考
  一、ASP技術簡介
  ASP技術 ASP(Active Server Pages動態網頁)是微軟公司推出的一種用以取代CGI(Common Gateway Interface通用網關接口)的技術。目前,Internet上的許多基於Windows平台的Web站點已開始應用ASP來替換CGI。 簡單地講,ASP是一個位於伺服器端的腳本運行環境,通過這種環境,用戶可以創建和運行動態的交互式Web伺服器應用程式,如交互式動態網頁,包括使用HTML表單收集和處理信息,上傳與下載等等。通常情況下,用戶通過瀏覽器看到的網頁大多是靜態的,目前Internet 上的許多站點,仍然提供"靜態"(static)的主頁內容。 所謂"靜態",指的就是站點的主頁內容是"固定不變"的。 當瀏覽器通過Internet 的HTTP (Hypertext Transport Protocol)協議,向站點伺服器(Web Server)要求提供主頁的內容時,站點伺服器收到要求後,就傳送原已設計好的靜態的HTML 的文件數據給瀏覽器。 一個"靜態"的站點,若要更新主頁的內容,必須手動的來更新其HTML的文件數據。而隨著Web應用的發展,用戶希望能夠看到根據要求而動態生成的主頁,例如響應用戶查詢資料庫的要求、生成報表等。當在瀏覽器上填好表單(form)的輸入數據,以提供HTTP要求時,可以在站點伺服器中執行的應用程式,而不只是一個HTML 文件。站點伺服器收到要求執行的應用程式,分析表單(form)的輸入數據,將執行的結果以HTML的格式傳送給瀏覽器。 根據用戶請求生成動態主頁的傳統方法有CGI、ISAPI等。CGI是根據瀏覽器端的http請求激活響應進程,每一個請求對應一個進程。當同時有很多請求時,程序擠占系統資源,造成效率低下;ISAPI針對這一缺點進行改進,利用dll(動態連結庫)技術,以線程代替進程,提高了性能和速度,但要考慮線程的同步問題,而且開發步驟煩瑣。這兩種技術和另一普遍使用的開發動態網頁的技術Java都還存在著另外一個問題,那就是開發困難,程序的開發和HTML寫作是兩個完全不同的過程,需要專門的程式設計師開發。而較簡單的開發技術如javascript和IDC(Internet Database Connector)等功能有限,不敷使用。 ASP使用的ActiveX技術基於開放設計環境,用戶可以自己定義和製作組件加入其中,使自己的動態網頁幾乎具有無限的擴充能力,這是傳統的CGI等程序所遠遠不及的地方。ASP與常見的在Client端實現動態主頁的技術如Java applet、ActiveX Control、VBScript、javascript等不同,ASP中的命令和Script語句都是由伺服器來解釋執行的,執行結果產生動態生成的Web頁面並送到瀏覽器;而Client端技術的Script命令則是由瀏覽器來解釋執行。由於ASP是在伺服器端解釋執行,開發者可以不必考慮瀏覽器是否支持ASP;同時由於它在伺服器端執行,開發者也不必擔心別人下載程序從而竊取編程邏輯。 ASP通過後綴名為.asp的ASP文件來實現,一個.asp文件相當於一個可執行文件,因此必須放在Web伺服器上有可執行權限的目錄下。當用戶從瀏覽器輸入了.asp文件的地址後,瀏覽器就將這個URL請求發給Web Server,如果Web Server上裝了ASP,就調用ASP。ASP讀出相應.asp文件,解釋並執行命令,動態生成一個HTML頁面回傳Web Server,然後Web Server再把結果發送給瀏覽器。ASP文件的製作和HTML類似,且和HTML開發集成,可以在同一個過程完成,利用ASP將可以執行的腳本嵌入到HTML文件中(將HTML文件的後綴名改為.asp),這使得HTML文件的編寫與腳本的開發融合在一起。通過ASP內置的對象、伺服器組件(Server Component)可以完成非常複雜的任務,而且用戶還可以自己開發或利用別人開發的伺服器組件完成專門的任務。ASP比較網關及伺服器擴展模式有著以下優點:
  (1)完全與HTML文件融合在一起;
  (2)容易創建,不需要其它編譯、連結程序;
  (3)面向對象的並通過ActiveX Server對象可擴展。
  二、電子商務數據訪問方式
  電子商務是指通過電子方式,並在網絡基礎上實現物資、人員過程的協調,以便商業交換的活動。在電子商務系統中,Web提供了與客戶進行通信聯絡的有效手段,利用Web技術,實現Web伺服器與資料庫系統的連接,完成對數據的處理與查詢,用戶可以通過操作簡單易學的瀏覽器來查詢處理所需要的各種數據。 實現Web伺服器與資料庫的連接一般有兩種方法:一種是利用中間件技術在兩者之間建立連接和通信,如CGI(通用網關接口)和API(應用程式編程接口)。Web伺服器通過調用CGI程序實現與Web瀏覽器的交互,即CGI程序接受瀏覽器發給Web伺服器的信息,進行處理後,將相應結果再送回給Web伺服器,通過Web伺服器將信息傳送給瀏覽器。但CGI程序在響應速度和資源利用等方面有較大局限性,客戶端每請求一個CGI程序,伺服器端便打開一個進程,當請求的數量較大時容易引起瓶頸現象,開發人員常利用API編程來擴展伺服器功能,API程序占系統資源少,運行效率較高,但它的編程較CGI程序更為複雜;另一種是由瀏覽器中的Java小應用程式(Java Applet)通過瀏覽器訪問Web伺服器上的資料庫,利用了JDBC(Java Database Connectivity)技術,它通過JDBC提供的API實現對Web Server的`訪問。由於Java Applet本身的局限性,目前大多數的應用是基於中間件技術的。 ASP也是屬於中間件的一種模式,但在Windows平台上它比較網關及伺服器擴展模式有著較大的優點。網關的最大特點是它的平台無關性,但網關程序通常較難編寫和改變。網關程序通常是一個獨立的程序,並不和HTML文件融合在一起,它需要用如C、C++、VB、Perl等語言來編寫獨立的應用程式,而ASP應用改變了這一點。使用ASP不僅可以讀取Access和 SQL Server的資料庫,而且還可以讀取其他ODBC(Open Database Connect 開放式資料庫互聯)兼容的資料庫。在ASP中訪問資料庫是通過ADO(ActiveX Database Object活動數據對象)及事務處理語句來實現的。ADO是一種操作Microsoft所支持的資料庫的方法,是一項容易使用並且可擴展的將資料庫訪問添加到 Web 頁的技術。ADO對象的使用與DAO(數據訪問對象)、RDO(遠程數據對象)的方式相似。在ASP中,ADO可以看作是一個伺服器組件,更簡單點說,是一系列的對象,應用這些功能強大的對象,即可輕鬆完成對資料庫複雜的操作。
  三、ASP在電子商務中的應用
  在電子商務中,對用戶而言,進行網上信息查詢的目的是尋找自己需要的產品或服務,而對於商品或服務提供者來說,其目的則是向用戶推銷自己的產品或服務。因此,讓用戶通過瀏覽器查詢伺服器的後端資料庫是許多Web服務提供者必需有的服務,ASP通過內置的ADODB組件來實現這一功能。可以使用ADO去編寫緊湊簡明的腳本以便連接到ODBC 兼容的資料庫和 OLE DB 兼容的數據源。具體的操作步驟可以歸納為以下幾步:
  ① 創建資料庫源名(DSN) ADODB通過ODBC工作,因此要在ODBC中設置DSN(數據源名)。打開Windows的"控制面板",雙擊"ODBC"的圖標,然後選擇"文件 DSN "的屬性頁,單擊<添加>,選擇資料庫驅動程序,然後單擊"下一步",按照螢幕的指示鍵入數據源文件的名稱,然後單擊"下一步",再單擊"完成"創建數據源。
  ②創建資料庫連結 連結用以保持一些關於正在訪問的數據的動態信息,以及連結者信息。利用ADODB的成員函數Open和先前設定的DSN與資料庫連接,其語法如下: SetConnect=Server.CreateObject("ADODB.Connection") #39;創建了連結對象Connect。 Connect.Open("DSN=dsnname;UID=userID;PWD=password") #39;打開連結。dsnname為數據源名;userID為用戶名;password為用戶口令。
  ③創建數據對象 ADO中的數據對象通常保存的是查詢結果。RecordSet 是ADO中最複雜的對象,有許多屬性和方法,靈活運用,可以達到許多好的效果。其創建方法如下: Set RecordSet =Connect.Execute(sqtStr) #39;創建並打開了對象RecordSet ,sqtStr是一個串,代表一條標準的SQL語句。例如: sqlStr="SELECT*FROM b1" Set RecordSet =Connect.Execute(sqlStr) 這條語句執行後,對象RecordSet中就保存了b1中的所有記錄。
  ④操作資料庫 可利用Execute方便地執行數據的插入、修改、刪除等操作。如執行插入操作: sqlStr="Insert Into b1Values(1,2)" Connect.Execute(sqlStr)
  ⑤關閉數據對象和連結 在使用了ADO對象之後,一定要關閉數據對象和連結。在ASP中通過調用方法close實現關閉。 關閉創建的數據對象:Record Set .close Set Record Set=Nothing 關閉創建的連結對象:Connect. close Set Connect=Nothing 完整的程序片段:
  //產生組件實例
  <% SetConnect=Server.CreateObject("ADODB.Connection")
  //連接資料庫
  Connect.Open("DSN=dsnname;UID=userID;PWD=password")
  //執行查詢
  SQL=select*fromtablename SetRS=Connect.Execute(SQL) %>
  //顯示結果
  <%dowhile not="">
  <%=rs(fieldname)%> <% rs.movenext="" loop="">
  上述是用ASP訪問資料庫的全過程,由於應用面向對象思想,所有操作都比較簡單,用戶需要注意的僅是對數據結構的了解、當前所操作的對象及對象的屬性等等,只要對這些有了清晰的認識,再加上ASP強大功能,在網絡上使用資料庫,實現用戶與頁面間交換信息,就再也不是什麼難事了。
  四、主要功能程序段
  4、1 打開資料庫
  option explicit
  dim conn,connstr,db,rs
  db="database/#MyShop.mdb" //資料庫路徑
  Set conn = Server.CreateObject("ADODB.Connection")
  connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
  conn.Open connstr
  4.2 資料庫查詢操作
  //大類查訊
  set rs=server.CreateObject("adodb.recordset")
  //只讀方式打開
  rs.open "select anclass,anclassid from anclass",conn,1,1
  do while not rs.eof
  response.write ""
  &trim(rs("anclass"))&" "
  rs.movenext
  loop
  rs.close
  //小類查詢
  dim rs2
  set rs2=server.CreateObject("adodb.recordset")
  rs2.open "select nclass,nclassid from nclass where anclassid="&rs("anclassid")&" order by nclassidorder",conn,1,1
  do while not rs2.eof
  response.write ""
  &trim(rs2("nclass"))&" "
  rs2.movenext
  loop
  4.3 添加記錄操作
  set rs=server.CreateObject("adodb.recordset")
  //可寫方式
  rs.open "select bookid,username,zhuangtai,zonger from actions",conn,1,3
  rs.addnew //添加一條新記錄
  rs("bookid")=bookid //添加相應的記錄
  rs("username")=username
  …………
  rs("zhuangtai")=6
  rs("zonger")=0
  rs.//更新資料庫
  4.4 刪除記錄操作
  //從表actions中刪除actionid 匹配的記錄
  conn.execute " from actions where actionid="
  &request.QueryString("actionid")
  4.5 記錄的修改和查看
  set rs=server.CreateObject("adodb.recordset")
  rs.Open "select * from books where bookid="&bookid,conn,1,3
  rs("anclassid")=int(request("anclassid")) //修改各項記錄
  ………………
  rs.Update
  rs.Close
  五、結束語
  隨著Web技術的發展,基於Intranet的電子商務系統無疑較傳統商務有著更大的應用前景,如何提務系高這種電子商統中的數據訪問效率及事務處理能力仍是當前人們所關注的問題。

收藏

相關推薦

清純唯美圖片大全

字典網 - 試題庫 - 元問答 - 简体 - 頂部

Copyright © cnj8 All Rights Reserved.