方超
【摘 要】本文描述了動(dòng)態(tài)網(wǎng)站的規(guī)則、特點(diǎn)和工作原理,并依據(jù) ASP 方法闡述了實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)站功能的核心技術(shù),不僅供網(wǎng)站開發(fā)者,也為其他基于 web 在線系統(tǒng)設(shè)計(jì)開發(fā)人員參考與應(yīng)用。
【關(guān)鍵詞】網(wǎng)絡(luò)技術(shù);動(dòng)態(tài)網(wǎng)站;數(shù)據(jù)庫(kù)接口;工作原理;信息服務(wù)
【中圖分類號(hào)】TP311.13 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】1672-5158(2013)03-0094-01
隨著計(jì)算機(jī)和網(wǎng)發(fā)展,信息的發(fā)布和維護(hù)的難度也隨之增加。而動(dòng)態(tài)網(wǎng)站開發(fā)則將數(shù)據(jù)庫(kù)技術(shù)應(yīng)用到Web中,這就大大減輕了工作量,使信息發(fā)布和維護(hù)工作非常便利。如何將發(fā)布到數(shù)據(jù)庫(kù)中信息能在網(wǎng)頁(yè)中顯示或被用戶瀏覽,數(shù)據(jù)庫(kù)接口技術(shù)是核心。
1.動(dòng)態(tài)網(wǎng)站概述
1.1 動(dòng)態(tài)網(wǎng)站定義
動(dòng)態(tài)網(wǎng)站內(nèi)容信息能夠過(guò)管理后臺(tái)予以更改。在網(wǎng)頁(yè)上表現(xiàn)出來(lái)就是不斷更新的,不斷完善的功能等。動(dòng)了要設(shè)計(jì)網(wǎng)頁(yè)外,還要通過(guò)編使網(wǎng)站具有更多高級(jí)的功能,因此動(dòng)循如下規(guī)則:“交互性”即據(jù)用戶的要求和選擇而動(dòng)態(tài)改變和響應(yīng),器作為客戶端界面。
“超時(shí)空自動(dòng)更新”即無(wú)須手動(dòng)地更新 HTML 文檔,便會(huì)自動(dòng)隨時(shí)隨,生成新的頁(yè)面,可以大大節(jié)省工作量。
1.2 動(dòng)態(tài)網(wǎng)站的工作原理
當(dāng)用一個(gè)動(dòng)態(tài)網(wǎng)頁(yè)時(shí),服務(wù)器要做更多的工作才能把的信息發(fā)送去:
(1)Web 服務(wù)器端接受客戶端的 HTTP 請(qǐng)求。
(2)Web 服務(wù)器從存儲(chǔ)器(或硬盤指定的位置或內(nèi)存)中讀取動(dòng)態(tài)網(wǎng)頁(yè)文件。
(3)執(zhí)行網(wǎng)頁(yè)文件的程序代碼,將含有程序代碼的動(dòng)態(tài)網(wǎng)頁(yè)轉(zhuǎn)化為標(biāo)準(zhǔn)的靜態(tài)頁(yè)面(HTML)。
(4)Web 服務(wù)器將生成的靜態(tài)頁(yè)面代碼發(fā)送給請(qǐng)求瀏覽器。
所以網(wǎng)站管理后臺(tái)與網(wǎng)站前臺(tái)用戶瀏覽界面之間,必須提供一個(gè)數(shù)據(jù)訪問(wèn)接口技術(shù),來(lái)實(shí)現(xiàn)前后臺(tái)的數(shù)據(jù)信息交換。
2.數(shù)據(jù)庫(kù)接口技術(shù)簡(jiǎn)介
在動(dòng)態(tài)網(wǎng)站開發(fā)中常用“活動(dòng)服務(wù)器網(wǎng)頁(yè)”的方法即 ActivePage。
是微軟公司開發(fā)的的一種應(yīng)用,它可以與其它程序進(jìn)行交互,是一種簡(jiǎn)單、方便的編程工具。是一種服本編寫環(huán),可以用來(lái)創(chuàng)運(yùn)行動(dòng)態(tài)網(wǎng)頁(yè)或應(yīng)用程序。因此下面就以為例介紹數(shù)據(jù)庫(kù)訪問(wèn)接口技術(shù)方法ASP中連接各數(shù)據(jù)庫(kù)可以使用驅(qū)動(dòng)程序,也可以使用數(shù)據(jù)源ODBC。
2.1 ODBC 接口技術(shù)
(Open DataBase Connectivity)是客序訪問(wèn)關(guān)系數(shù)據(jù)庫(kù)時(shí)提供的一個(gè)統(tǒng)一的 對(duì)于不同的數(shù)據(jù)庫(kù),提供了一套統(tǒng)一的,使序可以應(yīng)用所提供的來(lái)訪問(wèn)任何提供了驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù)。而且已經(jīng)成為一種標(biāo)準(zhǔn),,目前所有的關(guān)都提供了驅(qū)動(dòng)程序,這使的應(yīng)用非常廣泛,基本上可用于所有的關(guān)。但由于只能用于關(guān),使得利用很難訪問(wèn)對(duì)象及其它非關(guān)。
由于是一種底層的訪問(wèn)技術(shù),因些,的可以使客戶應(yīng)用程序能夠從底層設(shè)置和控制,完成一些高層技術(shù)無(wú)法完成的功能。
2.2 OLEDB 接口技術(shù)
(Object Linkand Embedding DataBase)是基于 COM 接口。因此,對(duì)所有的文件系統(tǒng)包括關(guān)和非關(guān)都提供了統(tǒng)一的接口。這些特性使得技術(shù)比傳統(tǒng)的訪問(wèn)技術(shù)更加優(yōu)越。與技術(shù)相似,屬于訪問(wèn)技術(shù)中的底層接口。
來(lái)設(shè)計(jì)應(yīng)用程序需要大量的代碼。在中提供了模板,用于設(shè)計(jì)數(shù)據(jù)應(yīng)用程序和數(shù)據(jù)提供程序。因微軟的驅(qū)動(dòng)存在一些不穩(wěn)定的 Bug,可能導(dǎo)致錯(cuò)誤的發(fā)生。而微軟本身已經(jīng)放棄了對(duì)數(shù)據(jù)源連接方式的支持,并建議用戶使用方式,所以下面內(nèi)容中例舉的就是實(shí)現(xiàn)方法。
3.數(shù)據(jù)庫(kù)接口技術(shù)的實(shí)現(xiàn)
用來(lái)存取的對(duì)象統(tǒng)稱(Active Data Objects),是基于的訪問(wèn)接口,它是面向?qū)ο蟮募夹g(shù),繼承了 OLE DB 的優(yōu)點(diǎn)。它可以對(duì)幾乎所有進(jìn)行讀取和寫入操作。可以使用來(lái)訪問(wèn) Microsoft,MicrosoftServer 和等。
3.1 數(shù)據(jù)庫(kù)連接技術(shù)之一利用 Execute 方法建立 RecordSet 對(duì)象(Access 數(shù)據(jù)庫(kù)為例)
(1)建立 Connection 對(duì)象var conn = Server.CreateObject("ADODB.Connection");(2)使用 Connection 對(duì)象的 Open 方法建立數(shù)據(jù)庫(kù)連接conn.open"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath;("Access 數(shù)據(jù)庫(kù) ");(3)使用 Connection 對(duì)象的 Execute 方法執(zhí)行 SQL 語(yǔ)句如果執(zhí)行查詢語(yǔ)句:rs = conn.Execute( " 數(shù)據(jù)查詢語(yǔ)句 " );如果執(zhí)行數(shù)據(jù)操縱語(yǔ)句:conn.Execute( " 數(shù)據(jù)操縱語(yǔ)句 " );
3.2 數(shù)據(jù)庫(kù)連接技術(shù)之二利用 RecordSet 對(duì)象打開數(shù)據(jù)庫(kù)表(SQLserver 數(shù)據(jù)庫(kù)為例)
(1)建立 Connection 對(duì)象var conn = Server.CreateObject("ADODB.Connection");(2)使用 Connection 對(duì)象的 Open 方法建立數(shù)據(jù)庫(kù)鏈接con.open"provider=SQLOLEDB;Data Source=machinename;user ID= 用 戶 名;Password= 密 碼;initalCatalog=SQL 數(shù)據(jù)庫(kù)名 "(3)建立 RecordSet 對(duì)象var rs = Server.CreateObject("ADODB. Recordset");(4)利用 RecordSet 對(duì)象的 Open 方法打開數(shù)據(jù)庫(kù)rs.Open("SQL 語(yǔ)句 ",conn,打開方式,鎖定類型);
3.3 數(shù)據(jù)庫(kù)連接技術(shù)之三利用 Command 對(duì)象的 Execute 方法建立RecordSet 對(duì)象(Oracle 數(shù)據(jù)庫(kù)為例)
(1)建立 Connection 對(duì)象var conn = Server.CreateObject("ADODB.Connection");(2)使用 Connection 對(duì)象的 Open 方法建立數(shù)據(jù)庫(kù)連接conn.open"Provider=OraOLEDB.Oracle;datasource=Oracle數(shù)據(jù)庫(kù)名;user id= 用戶名; password= 密碼;"(3)建立 Command 對(duì)象cmd = Server.CreateObject("ADODB.Command");cmd.ActiveConnection = conn;cmd.CommandText = sql;(4)使用Command 對(duì)象的 Execute 方法執(zhí)行 SQL 語(yǔ)句如果執(zhí)行查詢語(yǔ)句:rs= cmd.Execute();如果執(zhí)行數(shù)據(jù)操縱語(yǔ)句:cmd.Execute()。
4. 結(jié)束語(yǔ)
現(xiàn)在因特網(wǎng)絡(luò)上最流行的信務(wù)方式應(yīng)該是(World WideWeb)。將及接口技術(shù)融入到動(dòng)態(tài)網(wǎng)站開發(fā)中是搭建這種信息服務(wù)平臺(tái)的重要而有效的手段,會(huì)使網(wǎng)絡(luò)信息更新維護(hù)變得更加簡(jiǎn)單容易。
參考文獻(xiàn):
[1] 余光華 基于 WEB 的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的研究 [J]. 湛江師范學(xué)院學(xué)報(bào) 2011-06(3):105 - 108.
[2] 劉曉宇 基于.Net 的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)優(yōu)化研究 [J]. 軟件導(dǎo)刊2011-04(10):150-151
[3] 崔連和 ASP.NET 網(wǎng)絡(luò)程序設(shè)計(jì) [M]. 北京:中國(guó)人民大學(xué)出版社 2010-3