時間:2023-03-23 15:17:44
序論:在您撰寫asp技術(shù)論文時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。
關(guān)鍵詞:畢業(yè)論文;檢索;asp技術(shù);ACCESS數(shù)據(jù)庫
中圖分類號:TP311文獻標(biāo)識碼:A文章編號:1009-3044(2012)26-6203-03
Using ASP Technology to Achieve a Simple Thesis Searching System
ZHU Qiang
(Tongcheng Teachers College,Tongcheng 231400,China)
Abstract: This paper introduces how to use ASP technology and ACCESS database technology to develop a simple version of the graduation thesis searching system, From the working principle of the system,data flow diagram, function module, database storage four aspects about the process of system development, Introduces the login module, interface module, a retrieval module, The whole papers show modules four modules.
Key words: graduation thesis; retrieval; ASP technology; ACCESS database
畢業(yè)論文的管理工作受到了各學(xué)校的高度重視,如何對其進行系統(tǒng)的分類、存儲、檢索都已成為學(xué)校的一項重要工作。檢索功能是畢業(yè)論文管理系統(tǒng)的核心功能,可便于讀者快速檢索并下載到所需論文,使得論文資源得到有效利用。本文致力于研究設(shè)計一個簡易版的畢業(yè)論文檢索系統(tǒng),能夠快捷、方便、全面、準(zhǔn)確地實現(xiàn)論文檢索功能。
1開發(fā)技術(shù)及數(shù)據(jù)庫技術(shù)簡介
本系統(tǒng)采用ASP技術(shù)進行系統(tǒng)開發(fā),使用ACCESS數(shù)據(jù)庫作為后臺支撐數(shù)據(jù)庫。
1.1 ASP的基本定義
ASP即Active Server Page的縮寫,中文可以翻譯為動態(tài)服務(wù)器網(wǎng)頁。它是一種包含了使用VB Script或Jscript腳本程序代碼的網(wǎng)頁。當(dāng)瀏覽器瀏覽ASP網(wǎng)頁時,Web服務(wù)器就會根據(jù)請求生成相應(yīng)的HTML代碼然后再返回給瀏覽器,這樣瀏覽器端看到的就是動態(tài)生成的網(wǎng)頁[1]。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫和其它程序進行交互。是一種簡單、方便的編程工具。在了解了VB Script的基本語法后,只需要清楚各個組件的用途、屬性、方法,就可以輕松編寫出自己的ASP系統(tǒng)。
1.2 ASP運行基本過程
ASP文件只能運行在服務(wù)器上,不能在瀏覽器上運行。Active服務(wù)頁也可以使用服務(wù)器端的ActiveX部件,這些部件通常是EXE部件,返回的信息在ASP得到解釋。ASP的運行過程可簡述如下:瀏覽器向Web服務(wù)器請求一個ASP文件時,ASP腳本開始運行,Web服務(wù)器從頭至尾運行ASP腳本,并且把HTML頁返回給瀏覽器。如果要通過ASP訪問Web數(shù)據(jù)庫,則Web服務(wù)器接受瀏覽器請求,通過ODBC或者OLEDB把請求發(fā)送給數(shù)據(jù)庫服務(wù)器,再從數(shù)據(jù)庫服務(wù)器接受數(shù)據(jù),把產(chǎn)生的網(wǎng)頁和數(shù)據(jù)送回到瀏覽器。
1.3 ACCESS數(shù)據(jù)庫簡介
Access數(shù)據(jù)庫是Microsoft Office 2000套裝軟件的數(shù)據(jù)庫管理系統(tǒng)軟件,是目前比較流行的小型桌面數(shù)據(jù)庫管理系統(tǒng),適用于小型企業(yè)、學(xué)校、個人等用戶。
2 SERVER運行環(huán)境及系統(tǒng)開發(fā)工具
2.1 SERVER運行環(huán)境
2.1.1操作系統(tǒng)
WINDOWS2000及以上。
2.1.2 WEBSERVER
IIS5.0。
2.2系統(tǒng)開發(fā)工具
考慮本系統(tǒng)為簡易版的,筆者建議可采用易學(xué)、快捷、方便的Dreamweaver MX作為開發(fā)工具。
3系統(tǒng)工作原理
檢索的前提是論文的各項屬性信息已存儲在數(shù)據(jù)庫中,將畢業(yè)論文原稿存儲在相應(yīng)的文件夾下。論文的屬性可細分為論文名稱、類型、關(guān)鍵字、作者、作者單位。同時,在畢業(yè)論文的檢索項中也包括了這幾項信息。用戶進行檢索時,可有選擇地輸入各種檢索信息,系統(tǒng)根據(jù)所輸入的檢索信息對數(shù)據(jù)庫進行掃描。當(dāng)它找到與其相匹配的論文時,就將論文及其信息顯示在屏幕上,并支持下載論文原稿。本系統(tǒng)支持簡單的模糊檢索,即在檢索欄中輸入字詞的一部分就能完成檢索。
4系統(tǒng)的模塊結(jié)構(gòu)圖及數(shù)據(jù)流程圖
4.1系統(tǒng)的模塊結(jié)構(gòu)圖
模塊的結(jié)構(gòu)圖如圖1所示。注冊后的用戶可通過自己的用戶名、密碼登錄系統(tǒng)。登錄后就可以訪問其他的模塊了。
圖1系統(tǒng)的模塊結(jié)構(gòu)圖
4.2檢索系統(tǒng)的數(shù)據(jù)流程圖
檢索系統(tǒng)的數(shù)據(jù)流程圖如圖2所示。檢索人員輸入檢索信息,檢索信息處理程序接受檢索信息,然后訪問數(shù)據(jù)庫,得到檢索結(jié)果。檢索結(jié)果經(jīng)屏幕處理程序處理后,顯示在屏幕上。
5系統(tǒng)主要功能模塊介紹
5.1用戶登錄模塊
用戶登錄模塊是用戶進入系統(tǒng)的驗證模塊,只有通過身份驗證的用戶才能進行論文檢索和其他操作。用戶使用用戶名和密碼登錄系統(tǒng),此模塊訪問數(shù)據(jù)庫,核對用戶名和密碼是否正確。如果正確,則允許用戶進入系統(tǒng)進行論文檢索,反之,則要求用戶重新登錄或注冊。
5.2用戶注冊模塊
用戶注冊模塊給新用戶提供注冊功能。當(dāng)用戶第一次登錄系統(tǒng)或忘記密碼時就可以使用注冊功能。在這個模塊里,用戶填寫用戶名、密碼、email地址、姓名、性別等信息,實現(xiàn)注冊。當(dāng)然,信息填寫時有些限制和約定,如用戶名長度、密碼長度、郵箱格式等。如果用戶填寫的信息不合要求,系統(tǒng)就提醒用戶重新注冊。如果所填的信息合法,系統(tǒng)就會同意用戶注冊,并將各信息存入數(shù)據(jù)庫。這樣,用戶就得到了自己的用戶名和密碼,可以順利登錄系統(tǒng)了。
5.3檢索界面模塊
通過身份驗證的用戶即可訪問檢索界面模塊,該模塊是用戶進行畢業(yè)論文檢索的界面。論文檢索欄目是該模塊的核心部分,它給用戶提供了五個檢索項,分別為名稱、關(guān)鍵字、作者、作者單位、類型。這五個檢索項也就是數(shù)據(jù)庫中畢業(yè)論文的五個屬性。用戶可以根據(jù)這五個檢索項或選擇其中任意個檢索項檢索畢業(yè)論文。
5.4論文檢索模塊
該模塊是系統(tǒng)的核心模塊。它實現(xiàn)的功能就是論文檢索并顯示,可通過輸入關(guān)鍵字實現(xiàn)檢索論文的功能。該模塊的詳細工作流程如下:
5.4.1接受論文檢索界面中輸入的論文檢索信息
在論文檢索界面中,檢索欄中用于輸入各檢索信息。這些檢索信息通過表單中的Post方式傳遞給論文檢索模塊。論文檢索模塊中通過Request.Form函數(shù)接受表單中的檢索信息。
5.4.2與數(shù)據(jù)庫建立連接
檢索畢業(yè)論文必須訪問數(shù)據(jù)庫,訪問之前就需要與數(shù)據(jù)庫建立連接。本系統(tǒng)使用CreateObject函數(shù)和Open方法就來完成它們之間的連接。
5.4.3根據(jù)檢索信息,對數(shù)據(jù)庫中的畢業(yè)論文信息進行掃描核對,找出用戶要檢索的論文
本系統(tǒng)采用最常用的SQL查詢語句(select···from···where)來選取符合條件的數(shù)據(jù)庫段。在這里,系統(tǒng)使用了like %···%來支持模糊搜索。
5.4.4將檢索到的論文顯示在屏幕上
為了能夠顯示所有符合檢索條件的畢業(yè)論文,系統(tǒng)使用了do while循環(huán)語句來循環(huán)顯示。系統(tǒng)通過rs語句來接受數(shù)據(jù)庫中的論文信息,然后使用response.Write函數(shù)來顯示各論文信息。
5.5通顯論文模塊
通顯論文模塊實現(xiàn)的功能是將數(shù)據(jù)庫中所有的論文全部顯示出來。
6系統(tǒng)的數(shù)據(jù)庫存儲情況
6.1用戶信息表
用戶信息表是存儲用戶基本信息的數(shù)據(jù)庫表,它包括六個屬性列,分別是用戶名、用戶密碼、用戶email地址、用戶的真實姓名、用戶性別、用戶生日。用戶登錄系統(tǒng)或注冊時都必須訪問該數(shù)據(jù)庫表。
6.2畢業(yè)論文信息表
畢業(yè)論文信息表是存儲畢業(yè)論文相關(guān)信息的數(shù)據(jù)庫表,它包括五個屬性列,分別是論文所在文件夾、畢業(yè)論文題目、論文類型、論文關(guān)鍵字、論文作者、作者的所在單位。此表是該系統(tǒng)的核心數(shù)據(jù)庫表,它給系統(tǒng)的檢索工作提供了后臺支持。
7結(jié)束語
筆者在獨立的環(huán)境下研究檢索系統(tǒng)的開發(fā),如何將該系統(tǒng)融合到畢業(yè)論文管理系統(tǒng)的大環(huán)境下還有待于進一步研究。該系統(tǒng)為簡易版,不支持對論文正文信息的檢索,功能相對比較簡單。
目前在WINDOWS環(huán)境下有多種訪問WEB數(shù)據(jù)庫的技術(shù),主要有:
1.公共網(wǎng)關(guān)接口CGI(CommonGatewayInterface)
CGI是較早實現(xiàn)的技術(shù)。適用于多種服務(wù)器平臺,如UNIX、WINDOWS等,但CGI的開發(fā)成本高、維護困難、功能有限、不具備事務(wù)處理功能、占用服務(wù)器資源較多。
2.INTERNET數(shù)據(jù)庫連接器IDC(InternetDatabaseConnector)
IDC集成在ISAPI(InternetServerAPI)中,充分利用了DLL技術(shù),易擴充,但編程較CGI更為復(fù)雜,只適用于小型數(shù)據(jù)庫系統(tǒng)。
3.先進數(shù)據(jù)庫連接器ADC(AdvanceDatabaseConnector)
ADC提供了ActiveXControl來訪問數(shù)據(jù)庫,它的主要特點是數(shù)據(jù)查詢由用戶端瀏覽器執(zhí)行,因而需將服務(wù)器端數(shù)據(jù)庫中的部分記錄下載到用戶端,系統(tǒng)開銷較大、響應(yīng)慢,只適用于特別頻繁的數(shù)據(jù)庫查詢操作。
4.JAVA/JDBC語言編程
JAVA語言是一種面向?qū)ο?、易移植、多線程控制的語言,可通過JDBC去連接數(shù)據(jù)庫。用JAVA/JDBC編寫的軟件可移植性強,適用于多種操作系統(tǒng),但其執(zhí)行效率和執(zhí)行速度還不理想,目前無法建立高效、高速的應(yīng)用。
5.動態(tài)服務(wù)器頁面ASP(ActiveServerPage)
ASP是微軟公司最新推出的WEB應(yīng)用開發(fā)技術(shù),著重于處理動態(tài)網(wǎng)頁和WEB數(shù)據(jù)庫的開發(fā),編程靈活、簡潔,具有較高的性能,是目前訪問WEB數(shù)據(jù)庫的最佳選擇。
二.ASP簡介
1.ASP訪問數(shù)據(jù)庫的原理
ASP是服務(wù)器端的腳本執(zhí)行環(huán)境,可用來產(chǎn)生和執(zhí)行動態(tài)的高性能的WEB服務(wù)器程序。
當(dāng)用戶使用瀏覽器請求ASP主頁時,WEB服務(wù)器響應(yīng),調(diào)用ASP引擎來執(zhí)行ASP文件,并解釋其中的腳本語言(JScript或VBScript),通過ODBC連接數(shù)據(jù)庫,由數(shù)據(jù)庫訪問組件ADO(ActiveXDataObjects)完成數(shù)據(jù)庫操作,最后ASP生成包含有數(shù)據(jù)查詢結(jié)果的HTML主頁返回用戶端顯示。
由于ASP在服務(wù)器端運行,運行結(jié)果以HTML主頁形式返回用戶瀏覽器,因而ASP源程序不會泄密,增加了系統(tǒng)的安全保密性。此外,ASP是面向?qū)ο蟮哪_本環(huán)境,用戶可自行增加ActiveX組件來擴充其功能,拓展應(yīng)用范圍。
2.ASP頁面的結(jié)構(gòu):
ASP的程序代碼簡單、通用,文件名由.asp結(jié)尾,ASP文件通常由四部分構(gòu)成:
1)標(biāo)準(zhǔn)的HTML標(biāo)記:所有的HTML標(biāo)記均可使用。
2)ASP語法命令:位于<%%>標(biāo)簽內(nèi)的ASP代碼。
3)服務(wù)器端的include語句:可用#include語句調(diào)入其它ASP代碼,增強了編程的靈活性。
4)腳本語言:ASP自帶JScript和VBScript兩種腳本語言,增加了ASP的編程功能,用戶也可安裝其它腳本語言,如Perl、Rexx等。
3.ASP的運行環(huán)境
目前ASP可運行在三種環(huán)境下。
1)WINDOWSNTserver4.0運行IIS3.0(InternetInformationServer)以上。
2)WINDOWSNTworkstation4.0運行PeerWebServer3.0以上。
3)WINDOWS95/98運行PWS(PersonalWebServer)。
其中以NTserver上的IIS功能最強,提供了對ASP的全面支持,是創(chuàng)建高速、穩(wěn)定的ASP主頁的最佳選擇。
4.ASP的內(nèi)建對象
ASP提供了六個內(nèi)建對象,供用戶直接調(diào)用:
1)Application對象:負責(zé)管理所有會話信息,可用來在指定的應(yīng)用程序的所有用戶之間共享信息。
2)Session對象:存貯特定用戶的會話信息,只被該用戶訪問,當(dāng)用戶在不同WEB頁面跳轉(zhuǎn)時,Session中的變量在用戶整個會話過程中一直保存。Session對象需cookie支持。
3)Request對象:從用戶端取得信息傳遞給服務(wù)器,是ASP讀取用戶輸入的主要方法。
4)Response對象:服務(wù)器將輸出內(nèi)容發(fā)送到用戶端。
5)Server對象:提供對服務(wù)器有關(guān)方法和屬性的訪問。
6)ObjectContext對象:IIS4.0新增的對象,用來進行事務(wù)處理。此項功能需得到MTS(MicrosoftTranscationServer)管理的支持。
5.ASP的主要內(nèi)置組件:
1)AdRotator組件:用來按指定計劃在同一頁上自動輪換顯示廣告,用于WWW上日益重要的廣告服務(wù)。
2)BrowserCapabilities組件:確定訪問WEB站點的用戶瀏覽器的功能數(shù)據(jù),包括類型、性能、版本等。
3)DatabaseAccess組件:提供ADO(ActiveXDataObjects)來訪問支持ODBC的數(shù)據(jù)庫。
4)FileAccess組件:提供對服務(wù)器端文件的讀寫功能。
5)ContentLinking組件:生成WEB頁內(nèi)容列表,并將各頁順序連接,用于制作導(dǎo)航條。
此外,還可安裝Myinfo、Counters、ContentRotator、PageCount等組件,用戶也可自行編制Actiive組件,以提高系統(tǒng)的實用性。
6.DatabaseAccess組件ADO
WWW上很重要的應(yīng)用是訪問WEB數(shù)據(jù)庫,用ASP訪問WEB數(shù)據(jù)庫時,必須使用ADO組件,ADO是ASP內(nèi)置的ActiveX服務(wù)器組件(ActiveXServerComponent),通過在WEB服務(wù)器上設(shè)置ODBC和OLEDB可連接多種數(shù)據(jù)庫:如SYBASE、ORACLE、INFORMIX、SQLSERVER、ACCESS、VFP等,是對目前微軟所支持的數(shù)據(jù)庫進行操作的最有效和最簡單直接的方法。
ADO組件主要提供了以下七個對象和四個集合來訪問數(shù)據(jù)庫。
1)Connection對象:建立與后臺數(shù)據(jù)庫的連接。
2)Command對象:執(zhí)行SQL指令,訪問數(shù)據(jù)庫。
3)Parameters對象和Parameters集合:為Command對象提供數(shù)據(jù)和參數(shù)。
4)RecordSet對象:存放訪問數(shù)據(jù)庫后的數(shù)據(jù)信息,是最經(jīng)常使用的對象。
5)Field對象和Field集合:提供對RecordSet中當(dāng)前記錄的各個字段進行訪問的功能。
6)Property對象和Properties集合:提供有關(guān)信息,供Connection、Command、RecordSet、Field對象使用。
7)Error對象和Errors集合:提供訪問數(shù)據(jù)庫時的錯誤信息。
三.ASP訪問數(shù)據(jù)庫步驟
在ASP中,使用ADO組件訪問后臺數(shù)據(jù)庫,可通過以下步驟進行:
1.定義數(shù)據(jù)源
在WEB服務(wù)器上打開“控制面板”,選中“ODBC”,在“系統(tǒng)DSN”下選“添加”,選定你希望的數(shù)據(jù)庫種類、名稱、位置等。本文定義“SQLSERVER”,數(shù)據(jù)源為“HT”,數(shù)據(jù)庫名稱為“HTDATA”,腳本語言采用Jscript。
2,使用ADO組件查詢WEB數(shù)據(jù)庫
1)調(diào)用Server.CreateObject方法取得“ADODB.Connection”的實例,再使用Open方法打開數(shù)據(jù)庫:
conn=Server.CreateObject(“ADODB.Connection”)
conn.Open(“HT”)
2)指定要執(zhí)行的SQL命令
連接數(shù)據(jù)庫后,可對數(shù)據(jù)庫操作,如查詢,修改,刪除等,這些都是通過SQL指令來完成的,如要在數(shù)據(jù)表signaltab中查詢代碼中含有“X”的記錄
sqlStr=“select*fromsignaltabwherecodelike‘%X%’”
rs=conn.Execute(sqlStr)
3)使用RecordSet屬性和方法,并顯示結(jié)果
為了更精確地跟蹤數(shù)據(jù),要用RecordSet組件創(chuàng)建包含數(shù)據(jù)的游標(biāo),游標(biāo)就是儲存在內(nèi)存中的數(shù)據(jù)。
rs=Server.CreateObject(“ADODB.RecordSet”)
rs.Open(sqlStr,conn,1,A)
注:A=1讀取
A=3新增、修改、刪除
在RecordSet組件中,常用的屬性和方法有:
rs.Fields.Count:RecordSet對象的字段數(shù)。
rs(i).Name:第i個字段的名稱,i為0至rs.Fields.Count-1
rs(i):第i個字段的數(shù)據(jù),i為0至rs.Fields.Count-1
rs("字段名"):指定字段的數(shù)據(jù)。
rs.Record.Count:游標(biāo)中的數(shù)據(jù)記錄總數(shù)。
rs.EOF:是否最后一條記錄。
rs.MoveFirst:指向第一條記錄。
rs.MoveLast:指向最后一條記錄。
rs.MovePrev:指向上一條記錄。
rs.MoveNext:指向下一條記錄。
rs.GetRows:將數(shù)據(jù)放入數(shù)組中。
rs.Properties.Count:ADO的ResultSet或Connection的屬性個數(shù)。
rs.Properties(item).Name:ADO的ResultSet或Connection的名稱。
rs.Properties:ADO的ResultSet或Connection的值。
rs.close():關(guān)閉連接。
4)關(guān)閉數(shù)據(jù)庫
conn.close()
四.查詢WEB數(shù)據(jù)庫舉例
下面這段示例程序是訪問SQLSERVER數(shù)據(jù)庫的signaltab表,表中有三個字段:code(代碼字段,字符型,3位),class(分類字段,字符型,10位),memo(備注字段,字符型,20位)。程序中數(shù)據(jù)源DSN:HT、用戶名:client、口令:passwd。
屏幕輸入頁面input.asp
<%@language=javascript%>
ASP(ActiveServerPages)是Microsoft于1996年11月推出的Web應(yīng)用程序開發(fā)技術(shù)。微軟聲稱設(shè)計出了一個完美的Active平臺,在微軟的文件中把ASP描述為:"一個服務(wù)器的腳本環(huán)境,在這里可以生成和運行動態(tài)的、交互的、高性能的Web服務(wù)器應(yīng)用程序"。從這段描述我們可以看出,ASP既不是一種語言,也不是一種開發(fā)工具,而是一種技術(shù)框架,其主要功能是為生成動態(tài)的交互式的Web服務(wù)器應(yīng)用程序提供一種功能強大的方法或技術(shù)。ASP的主要特性是能夠把HTML、腳本、組件等有機地組合在一起,形成一個能夠在服務(wù)器上運行的應(yīng)用程序,并把按用戶要求專門制作的標(biāo)準(zhǔn)HTML頁面送給客戶端瀏覽器。ASP屬于ActiveX技術(shù)中的服務(wù)器端技術(shù)。與我們通常在客戶端實現(xiàn)動態(tài)主頁的技術(shù)如Javaapplet、ActiveXControl、VBScript、javascript等所不同的是,ASP中的命令腳本語句都是在服務(wù)器中解釋執(zhí)行,執(zhí)行后的結(jié)果產(chǎn)生HTML頁面并送到瀏覽器。由于ASP是在服務(wù)器端解釋執(zhí)行,開發(fā)者可以不必考慮瀏覽器是否支持ASP。同時,由于只是標(biāo)準(zhǔn)的HTML頁面送到瀏覽器,在瀏覽器上看不到ASP程序,因此可以防止程序被竊取,保護了開發(fā)者的利益。
二、為什么用ASP
隨著Internet的發(fā)展,靜態(tài)Web站點的開發(fā)與維護變得越來越困難,一方面信息的不斷增加和變化,使站點維護人員不得不經(jīng)常修改他們的網(wǎng)頁,特別是基于數(shù)據(jù)庫驅(qū)動的Web站點更是如此;另一方面靜態(tài)網(wǎng)頁由于不能與瀏覽者進行有效交互,使人們感到越來越乏味,而不愿意再一次地進入同一站點。所以開發(fā)動態(tài)網(wǎng)頁或動態(tài)內(nèi)容成了越來越多的站點所追求目標(biāo)。所謂動態(tài)內(nèi)容是由每一個用戶按照自己的需求發(fā)出請求而特殊制作的Web網(wǎng)頁,例如訪問某一網(wǎng)站的新用戶得到的歡迎詞與重新返回到該站點的用戶得到的歡迎詞是不同的。
三、ASP的特點
ASP具有學(xué)習(xí)快、設(shè)計快的特點,不需花許多時間即可學(xué)會和快速設(shè)計出WEB應(yīng)用程序。
ASP的源程序碼在服務(wù)器端執(zhí)行,代碼保密性好。
集成與HTML中,無需編譯鏈接可直接執(zhí)行;使用文本編輯器如記事本,即可設(shè)計。
與瀏覽器無關(guān),用戶端只要使用常規(guī)可執(zhí)行HTML代碼的瀏覽器。
ASP是面向?qū)ο蟮模∣bject_Oriented)
四、ASP與其它相關(guān)技術(shù)的比較
隨著Internet的發(fā)展,靜態(tài)Web站點的開發(fā)與維護變得越來越困難,一方面信息的不斷增加和變化使站點維護人員不得不經(jīng)常修改他們的網(wǎng)頁,特別是基于數(shù)據(jù)庫驅(qū)動的Web站點更是如此;另一方面靜態(tài)網(wǎng)頁由于不能與瀏覽者進行有效交互,使人們感到越來越乏味,而不愿意再一次地站點。所以開發(fā)動態(tài)網(wǎng)頁或動態(tài)內(nèi)容成了越來越多的站點所追求目標(biāo)。
所謂動態(tài)內(nèi)容是由每一個用戶按照自己的需求發(fā)出請求而特殊制作的Web網(wǎng)頁,例如訪問某一網(wǎng)站的新用戶得到的歡迎詞與重新返回到該站點的用戶得到的歡迎詞是不同的。有許多技術(shù)可以實現(xiàn)動態(tài)內(nèi)容,目前常用的主要有兩種:CGI(公共網(wǎng)關(guān)接口)和ISAPI。
CGI是開發(fā)較早的技術(shù),它可以很好地實現(xiàn)動態(tài)內(nèi)容,但它有兩個主要缺點。一是對每一個請求(請求一個頁面)CGI都要產(chǎn)生一個新的進程,同一時刻發(fā)出的請求越多,服務(wù)器產(chǎn)生的進程也就越多。我們知道,產(chǎn)生一個進程是非常耗時的,而且需要用到大量的服務(wù)器RAM,所以其響應(yīng)時間相對較長,特別是當(dāng)進程多到某一數(shù)量后,服務(wù)器性能將顯著下降。另一方面,CGI的主要編程語言是C語言,對大多數(shù)網(wǎng)頁開發(fā)人員來說,要掌握和精通這些編程語言需要花很長的時間。
ISAPI針對CGI第一個缺點進行了改進,利用DLL(動態(tài)鏈接庫)技術(shù),以線程代替進程,提高了性能和速度,但要考慮線程的同步問題,而且開發(fā)步驟煩瑣。
ASP除了提供CGI的所有功能外,還具有許多顯著的優(yōu)點。ASP運行在Web服務(wù)器的同一個進程中,可以更快、更有效地處理客戶請求;ASP提供更方便、更簡單的訪問數(shù)據(jù)庫的方法,使開
發(fā)基于數(shù)據(jù)庫驅(qū)動的Web應(yīng)用程序更加容易;ASP支持幾乎所有的腳本語言,如VBScript、Jscript和Perl,其主要腳本語言VBScript是基于眾多編程人員非常熟悉VisualBasic語言,所以ASP更容易被人們所接受。
五、ASP的工作過程
ASP技術(shù)直接建立于微軟的Web服務(wù)器之中,所有微軟的Web服務(wù)器都支持ASP,如WindowsNTInternetInformationServer(IIS),WindowsNTWorkstation以及Windows95PersonalWebServer。你不要擔(dān)心瀏覽器是否能執(zhí)行你的ASP程序,你的WEB服務(wù)器會自動把ASP程序碼,解釋為HTML格式的主頁內(nèi)容,再送到用戶端的瀏覽器顯示出來。如圖1所。
六、用ASP實現(xiàn)用戶登陸WEB數(shù)據(jù)庫
在ASP中訪問數(shù)據(jù)庫,可采用ASP內(nèi)置ActiveX服務(wù)器組件棗數(shù)據(jù)庫訪問組件,使用ActiveXDataObject(ActiveX數(shù)據(jù)對象,簡稱ADO)的技術(shù)。ADO通過在WEB服務(wù)器上設(shè)定ODBC,來建立與多種數(shù)據(jù)庫的連接,其中包括SQLServer、Oracle、Foxpro等各種大、中、小型數(shù)據(jù)庫。下面我們舉例說明用ASP實現(xiàn)用戶登陸WEB數(shù)據(jù)庫的過程。
1.用戶在客戶機瀏覽器上輸入一個URL地址并回車,請求一個頁面。
例如yin/User_Login/default.htm。
2.服務(wù)器接受用戶請求,調(diào)出相應(yīng)頁面(假設(shè)該頁面含有一個表單)。
例如default.htm,其代碼如下:
<html>
<head>
<metaname="GENERATOR"content="MicrosoftFrontPage3.0">
<title>系統(tǒng)登錄</title>
</head>
<h2align="center">系統(tǒng)登錄</h2><hr>
<formmethod="post"action=”user_login.asp”name=”form”>
<center>
請輸入用戶名:<inputname="username"type="text">
請輸入口令:<inputtype="password"name="password"size="14">
<br>
<inputtype="submit"value="登錄"name="submit">
<inputtype="reset"value="復(fù)位"name="reset">
</center></form></body>
</html>
當(dāng)瀏覽器端填入要查詢的用戶名和口令并按下submit按鈕時,它將用戶名以username,口令以password的變量形式送到user_login.asp中。
[關(guān)鍵詞]網(wǎng)站立項系統(tǒng)分析系統(tǒng)設(shè)計網(wǎng)站測試網(wǎng)站維護
一、引言
網(wǎng)絡(luò)技術(shù)的不斷成熟和發(fā)展,促進了基于網(wǎng)絡(luò)技術(shù)的校園網(wǎng)站的發(fā)展。校園網(wǎng)站開發(fā)是一項很復(fù)雜的工作,我校根據(jù)學(xué)校實際,確定網(wǎng)站的定位和需求,從軟件工程的角度出發(fā),針對學(xué)校網(wǎng)站建設(shè)的特點和重點,整理出一套適合學(xué)校網(wǎng)站建設(shè)管理和控制的方法,以此來保證網(wǎng)站建設(shè)的高效率、高質(zhì)量。
二、網(wǎng)站立項
校園網(wǎng)站建設(shè),要成立一個專門的項目小組:學(xué)校領(lǐng)導(dǎo)、學(xué)校網(wǎng)絡(luò)管理員、美術(shù)教師、各科室人員、計算機專業(yè)教師等8人~9人以及“計算機學(xué)會”社團學(xué)生代表5人組成,由網(wǎng)絡(luò)管理員作為項目負責(zé)人負責(zé)對該項目的統(tǒng)一調(diào)度和安排。
三、網(wǎng)站設(shè)計開發(fā)過程
(一)系統(tǒng)分析階段
建立一個網(wǎng)站,首要明確設(shè)計思想,編寫一份詳盡的需求說明書,這是網(wǎng)站建設(shè)成功的關(guān)鍵所在。
我校根據(jù)各方面的反饋意見進行認真的分析,對網(wǎng)站設(shè)計進行準(zhǔn)確定位:學(xué)校網(wǎng)站規(guī)劃要著重考慮教師和學(xué)生的需求;內(nèi)容上要以學(xué)校整體宣傳為主,同時也要為訪問者提供其所關(guān)心的內(nèi)容;內(nèi)容要求及時更新;版面要求新穎有特色,同時還要增強網(wǎng)站的方便性、整體性和安全性。
(二)系統(tǒng)設(shè)計階段
1.網(wǎng)站總體設(shè)計
網(wǎng)站設(shè)計有了一份詳盡的需求說明書后,就可以根據(jù)需求說明書,對網(wǎng)站進行總體規(guī)劃,給出一份網(wǎng)站總體建設(shè)方案??傮w規(guī)劃具體要明確網(wǎng)站需要實現(xiàn)的目的和目標(biāo);網(wǎng)站形象說明;網(wǎng)站的欄目版塊和結(jié)構(gòu);網(wǎng)站內(nèi)容的安排,相互鏈接關(guān)系;使用軟件、硬件和技術(shù)分析說明;開發(fā)時間進度表;維護方案;制作費用;需要遵循的規(guī)則和標(biāo)準(zhǔn)有哪些等。
2.網(wǎng)站詳細設(shè)計
總體設(shè)計階段以比較抽象概括的方式提出解決問題的辦法,具體設(shè)計階段的任務(wù)就是把解決方法具體化、明確化,設(shè)計中應(yīng)注意的問題有:
(1)網(wǎng)站設(shè)計的風(fēng)格定位。網(wǎng)站要有自己的特色,設(shè)計中不要太多地考慮技術(shù)問題,而應(yīng)該更多地考慮不斷增加網(wǎng)站的內(nèi)涵,要在能夠動態(tài)反映學(xué)校情況的內(nèi)容上下功夫。
(2)網(wǎng)站設(shè)計的整體性。網(wǎng)站設(shè)計,注意考慮網(wǎng)站的易維護性,技術(shù)上多采用CSS、模板等,對網(wǎng)站的整體風(fēng)格進行定位,方便日常維護與更新。
(3)關(guān)鍵技術(shù)的研究及應(yīng)用。網(wǎng)站設(shè)計中,怎樣防黑,保護網(wǎng)站內(nèi)容不被別人竊取、修改是網(wǎng)站建設(shè)必須考慮的技術(shù)性問題。本人主要從IIS、ASP和Access三方面來總結(jié)網(wǎng)站系統(tǒng)面臨的常見的安全威脅及解決方法。
①集中管理ASP的目錄,設(shè)置訪問權(quán)限。在設(shè)置WEB站點時,將HTMI文件同ASP文件分開放置在不同的目錄下,然后將HTML子目錄設(shè)置為“讀”;將ASP子目錄設(shè)置為“執(zhí)行”。
②對IIS中的特殊Web目錄禁止匿名訪問并限制IP地址。對IIS中的sample、scripts、iisadmin等web目錄,通過各目錄屬性對話框中的“目錄安全性”標(biāo)簽設(shè)置為禁止匿名訪問并限制IP地址,并用NTFS的特性設(shè)置詳細的安全權(quán)限,除了Administrator,其它帳號都應(yīng)該設(shè)置為只讀權(quán)限。
③防止Access數(shù)據(jù)庫被下載。有效地防止數(shù)據(jù)庫被下載的方法有:非常規(guī)命名法:為Access數(shù)據(jù)庫文件取一個復(fù)雜的非常規(guī)名字,并把它放在幾層目錄下;使用ODBC數(shù)據(jù)源:在ASP程序設(shè)計中,如果有條件,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫名寫在程序中。
④進行數(shù)據(jù)備份。運用FSO組件對Access數(shù)據(jù)庫進行備份,以便在數(shù)據(jù)被破壞時進行快速恢復(fù),盡可能多地挽回損失。
⑤對ASP頁面進行加密。為了有效地防止ASP源代碼泄露,可以對ASP頁面進行加密。加密的方法一般有兩種:一是使用組件技術(shù)將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進行加密。
⑥后臺用戶注冊驗證。為了防止后臺用戶未經(jīng)注冊的用戶繞過注冊界面直接進入應(yīng)用系統(tǒng),我們采用Session對象進行注冊驗證:<%UserID=Request(“UserID”)
‘讀取使用者所輸入的用戶名和密碼
Password=Request(“Password”)
IfUserID<>“hrmis”O(jiān)rPassword<>“password”Then
Response.Write“用戶名錯誤!”
Response.End
EndIf
‘將Session對象設(shè)置為通過驗證狀態(tài)
Session(“Passed”)=True%>
進入應(yīng)用程序后,首先進行驗證:
<%‘如果未通過驗證,返回Login.asp頁面登陸狀態(tài)
IfNotSession(“Passed”)ThenResponse.Redirect“Login.asp”
EndIf%>
⑦讓學(xué)生參與網(wǎng)站設(shè)計。優(yōu)秀學(xué)生參與設(shè)計,無論對豐富網(wǎng)站內(nèi)容、提高學(xué)校網(wǎng)站的點擊率還是擴大學(xué)校網(wǎng)站的影響都能起到相當(dāng)大的作用。
(三)網(wǎng)站測試
有了網(wǎng)站的具體設(shè)計方案,各網(wǎng)站制作人員就可以全力進入開發(fā)階段。盡量采用邊制作邊調(diào)試,即采用本機調(diào)試和上傳服務(wù)器調(diào)試的方法,觀察速度、兼容性、交互性等。
投入運行之前,需對網(wǎng)站需求分析、系統(tǒng)分析、設(shè)計規(guī)格說明和編碼最終復(fù)審,還要對系統(tǒng)進行各種綜合測試。測試結(jié)束后,制作有關(guān)文檔存檔,并寫出一個校園網(wǎng)站使用說明文檔。至此,網(wǎng)站項目建設(shè)完畢。
(四)網(wǎng)站的管理和更新
做好網(wǎng)站的管理與更新,是一個網(wǎng)站樹立形象的根本、生存的根本。我校專門成立了安全組織機構(gòu),制定出適合我校的《校園網(wǎng)站管理辦法》、《校園網(wǎng)站信息審核制度》、《校園網(wǎng)站異常情況案件報告制度》等規(guī)定,建立健全了各項安全管理制度。
四、結(jié)論
我校網(wǎng)站已經(jīng)試運行一段時間,為學(xué)校的教師、學(xué)生和教學(xué)管理人員提供教學(xué)管理、教學(xué)研究、日常辦公、信息交流等應(yīng)用服務(wù)的平臺,較好地滿足了設(shè)計最初的需求。在整個設(shè)計網(wǎng)站的過程中,重視學(xué)校網(wǎng)站的“規(guī)劃—設(shè)計—管理—發(fā)展”的規(guī)律,實現(xiàn)可持續(xù)性發(fā)展。
參考文獻:
[1]田原.高職院校校園網(wǎng)站主頁設(shè)計探討[J].十堰職業(yè)技術(shù)學(xué)院學(xué)報,2007,(7).
[2]方照.立足校本,探索校園網(wǎng)建設(shè)之路[J].教育信息技術(shù),2007,(12).
[3]田建勇.淺析學(xué)校網(wǎng)站的設(shè)計與建設(shè)[J].安順師范高等??茖W(xué)校學(xué)報,2006,(6).
[4]侯占偉,翟海霞.ASP代碼廈網(wǎng)站安全的探討[J].焦作大學(xué)學(xué)報,2005,(4).
隨著信息化的發(fā)展,政府各職能部門對信息資源的依賴程度越來越大,由此帶來的信息安全問題也日益突出。電子政務(wù)等級保護基本安全要求是對各等級電子政務(wù)系統(tǒng)的一般性要求,分為五個等級,從第一級至第五級,對應(yīng)于五個等級的電子政務(wù)系統(tǒng)。對特定電子政務(wù)系統(tǒng)的安全保護,以其相應(yīng)等級的基本安全要求為基礎(chǔ),通過對安全措施的調(diào)整和定制,得到適用于該電子政務(wù)系統(tǒng)的安全保護措施。電子政務(wù)等級保護基本安全要求分為安全策略、安全組織、安全技術(shù)和安全運行四個方面。第一,安全策略,安全策略是為了指導(dǎo)和規(guī)范電子政務(wù)信息安全工作而制定的安全方針、管理制度、規(guī)范標(biāo)準(zhǔn)、操作流程和記錄模板等文檔的總和。安全策略具有層次化的結(jié)構(gòu),包括整體安全策略、部門級安全策略、系統(tǒng)級安全策略等。第二,安全組織,安全組織是為了保障電子政務(wù)信息安全而建立的組織體系,包括各級安全組織機構(gòu)、崗位安全職責(zé)、人員安全管理、第三方安全管理、安全合作與溝通等方面。第三,安全技術(shù),安全技術(shù)是指保障電子政務(wù)信息安全的安全技術(shù)功能要求和安全技術(shù)保障要求,包括網(wǎng)絡(luò)與通訊安全、主機與平臺安全、數(shù)據(jù)庫安全、應(yīng)用安全、數(shù)據(jù)安全、物理環(huán)境安全等方面。第四,安全運行,安全運行是為了保障電子政務(wù)系統(tǒng)運行過程中的安全而制定的安全運維要求,包括風(fēng)險管理、配置和變更管理、信息系統(tǒng)工程安全管理、日常運行管理、技術(shù)資料安全、應(yīng)急響應(yīng)等方面。通過網(wǎng)站用戶管理模塊的功能抽象的講,就是通過編程實現(xiàn)對用戶數(shù)據(jù)表進行基本的增、刪、改、查操作功能。
1.1用戶登錄
程序運行后顯示的界面,輸入用戶名和密碼后單擊“登錄”鏈接按鈕,程序能判斷是否為合法用戶及用戶級別,并通過彈出信息框顯示出來。為提高程序安全性,筆者用DES加密和輸入驗證碼的形式,把用戶名、用戶密碼、用戶郵箱和安全問題答案、手機號的數(shù)據(jù),以明文變成密文保存在數(shù)據(jù)庫中。由于驗證碼是隨機生成的,所以要使用到Random類。Random類提供了隨機數(shù)生成的方法,可以很方便地生成所需要的隨機數(shù)。驗證碼一般都以圖片格式輸出,這需要用到Bitmap類,需要使用Graphics類來建立畫板對象。為防止驗證碼被某些機器人程序識別,還需要在圖片上畫噪音線和點,所用到的方法在Bitmap類和Graphics類中都有提供。單擊“返回”按鈕可跳轉(zhuǎn)到用戶登錄頁面。
1.2注冊新用戶
在用戶登錄頁面中單擊“注冊”鏈接按鈕,將打開界面新用戶注冊頁面。在頁面中填寫完整的注冊信息后,單擊“提交”鏈接按鈕可像數(shù)據(jù)庫中添加一條用戶級別為user(普通用戶)的新用戶記錄,通過本頁面注冊的所有用戶,管理員級別用戶需要在用戶管理頁面中進行設(shè)置。數(shù)據(jù)庫中用戶名字段(uname)為表的主鍵,不允許有重復(fù)數(shù)據(jù),故單擊“檢查用戶名”或“提交”鏈接按鈕時,程序會首先檢查用戶名是否存在。此外,如果用戶填寫信息不完整(有任何一個文本框為空)或兩次輸入的密碼不相同,程序都會給出相應(yīng)的出錯提示。
1.3找回遺忘的密碼
在用戶登錄界面中輸入用戶名,單擊“忘記密碼”鏈接按鈕打開如圖7所示的找回遺忘的密碼頁面。程序根據(jù)用戶輸入的用戶名,在頁面中顯示注冊時填寫的安全問題,如用戶能正確回答安全問題答案,程序?qū)棾鲆粋€新密碼,這個新密碼為臨時的隨機密碼,使用該密碼登錄后可進行重新登錄。如果用戶輸入的用戶名不存在或者安全問題答案錯誤程序均能給出相應(yīng)的提示。我們也可使用手機綁定短信找回密碼,用戶輸入注冊時的手機號碼,隨后系統(tǒng)會發(fā)給您一個驗證碼,需要輸入在找回遺忘的密碼的手機驗證碼一欄,最后程序也將彈出隨機的新密碼。單擊“返回”鏈接按鈕可返回到登陸頁面。
1.4修改用戶信息
根據(jù)用戶級別不同,具有的管理權(quán)限也不同。普通用戶可修改自己的密碼、電子郵箱數(shù)據(jù)。管理員用戶除具有普通用戶的權(quán)限外,還可以刪除用戶,可以提升某用戶為管理員或?qū)⒅\管理員降級為普通用戶。在用戶登錄頁面中輸入用戶名和密碼,單擊“修改用戶信息”鏈接按鈕將打開用戶管理頁面。管理員用戶可以使用頁面中的所有功能,而普通用戶則只能修改自己的密碼、電子郵箱信息。
2結(jié)語
現(xiàn)在的網(wǎng)絡(luò)教育作為一種新興的教育方式,網(wǎng)絡(luò)教育具有諸多特性,如靈活性、主動性、創(chuàng)造性和互動性等。特備是網(wǎng)絡(luò)教育網(wǎng)站的出現(xiàn)和應(yīng)用,更是從根本上解決了在網(wǎng)絡(luò)教育這種非面對面教學(xué)形式中學(xué)習(xí)者跟教師之間難以進行廣泛交流的難題。所以,通過將網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫技術(shù)的廣泛結(jié)合,通過現(xiàn)在普遍采用的ASP技術(shù)來構(gòu)建一個能夠提供動態(tài)服務(wù)的教育網(wǎng)站,也就成了網(wǎng)絡(luò)教育這種新型教育模式的必然選擇。
2、目標(biāo)和功能
網(wǎng)絡(luò)教育網(wǎng)站的基本功能就是滿足教學(xué)雙方的根本需求,在能夠為教師提供備課和課堂教學(xué)參考的同時,還能偶為學(xué)生的課程學(xué)習(xí)服務(wù);應(yīng)該能夠為教師和學(xué)生提供非常便利的網(wǎng)上學(xué)習(xí)和討論交流的學(xué)習(xí)環(huán)境;比外,還應(yīng)該能夠為教師和學(xué)生提供方便使用的資料查詢和檢索功能,便于教師和學(xué)生的日常使用。
所以,為了能夠滿足這些要求,就應(yīng)該使教學(xué)網(wǎng)站具有如下幾個主要的功能部分,即:
(1)、學(xué)習(xí)功能。教學(xué)網(wǎng)站的學(xué)習(xí)功能主要是針對學(xué)生設(shè)計的。學(xué)生通過該功能模塊,可以對各種課程的電子教案進行在線學(xué)習(xí),了解相關(guān)的學(xué)習(xí)方法、課時分配和教學(xué)計劃等等跟課程相關(guān)的內(nèi)容;還可以開設(shè)各種跟學(xué)習(xí)相關(guān)的論壇;具有即時和錯時的交互式學(xué)習(xí)界面;能夠通過對共同關(guān)心問題的深入討論,引導(dǎo)學(xué)生參加在線的交流、評價和調(diào)查等,將網(wǎng)絡(luò)構(gòu)建成課程學(xué)習(xí)的另一個戰(zhàn)場。
(2)、教學(xué)功能。網(wǎng)站的教學(xué)功能主要是針對廣大的教師隊伍而設(shè)置的,能夠為教師提供結(jié)構(gòu)化的系統(tǒng)平臺,便于教師將各種跟課程教學(xué)相關(guān)的電子和聲像資料上傳到網(wǎng)站中,還應(yīng)該便于教師進行動態(tài)的網(wǎng)上交流、和答疑,促進教師和學(xué)生之間的交流,對學(xué)校的教學(xué)和科研動態(tài)進行及時地了解和掌握。
(3)、資源整合跟查詢功能。作為網(wǎng)站建設(shè)中的主要工作和功能模塊,網(wǎng)絡(luò)資源的整合和查詢可以通過建設(shè)一個對本地站點進行搜索的引擎,對互聯(lián)網(wǎng)上的運行環(huán)境進行模擬,提高上網(wǎng)查詢資料和訪問的效率,從而構(gòu)建出比較完備的信息資料收集和查詢系統(tǒng),對網(wǎng)上的資源進行整合和查詢,構(gòu)建出簡單實用的專題數(shù)據(jù)資料庫。
3、教育網(wǎng)站建設(shè)
3.1 系統(tǒng)結(jié)構(gòu)及平臺
本文系統(tǒng)實現(xiàn)中,主要采用基于B/S的網(wǎng)絡(luò)構(gòu)建模型,也就是常用的瀏覽器/服務(wù)器模式。該網(wǎng)絡(luò)構(gòu)建模式可以將應(yīng)用邏輯跟用戶界面和數(shù)據(jù)的訪問分割開來,便于提高系統(tǒng)的可維護性,此外,利用各種組件技術(shù),可以有效降低數(shù)據(jù)庫的訪問壓力,提高系統(tǒng)的運行性能。訪問者可以通過本地瀏覽器對網(wǎng)絡(luò)服務(wù)器進行登錄訪問,由于網(wǎng)絡(luò)服務(wù)器和應(yīng)用服務(wù)器都屬于應(yīng)用邏輯層,這樣,網(wǎng)絡(luò)服務(wù)器在接收表示層所提交的訪問申請之后,就可以通過調(diào)用服務(wù)器中的相關(guān)模塊,對具體的邏輯操作和運行進行執(zhí)行,并數(shù)據(jù)庫服務(wù)器提出及時的數(shù)據(jù)請求,得到結(jié)果之后,就可以將結(jié)果返回到網(wǎng)絡(luò)服務(wù)器,最后,網(wǎng)絡(luò)服務(wù)器就可以將結(jié)果數(shù)據(jù)提供給訪問者。
3.2 技術(shù)方案
現(xiàn)在,可以用于網(wǎng)站開發(fā)的技術(shù)和手段主要有:基于HTML文件的開發(fā)技術(shù)、基于CGI的動態(tài)頁面生成技術(shù)以及基于ASP的開發(fā)技術(shù)。下面對這幾種技術(shù)體系進行簡介和說明。
首先,就是基于HTML文件的網(wǎng)站開發(fā)。作為第一種通用的頁面描述型的開發(fā)語言,HTML簡單易學(xué),且具有非常強大的超媒體支持能力,便于在超媒體的信息網(wǎng)中進行使用。通過HTML語言就行網(wǎng)站的開發(fā),其特點為速度比較快,且不需要高水平的技術(shù)力量。不過,有優(yōu)點肯定就有缺點,缺點是在使用過程中的網(wǎng)站維護工作量比較大,及時進行小范圍的修改,也需要對整個網(wǎng)頁進行操作。
其次,基于CGI的網(wǎng)站開發(fā)技術(shù)。傳統(tǒng)的靜態(tài)網(wǎng)站構(gòu)建技術(shù)已經(jīng)難以滿足人們對網(wǎng)站的訪問需求,所以,基于CGI技術(shù)的動態(tài)交互式網(wǎng)站就開始逐漸興起和發(fā)展。這主要是由于采用CGI技術(shù)構(gòu)建網(wǎng)站,可以大大提高網(wǎng)站的交互性能,便于用戶和網(wǎng)站管理人員以及用戶和用戶之間的信息交流。不過,這種網(wǎng)站構(gòu)建技術(shù)也存在明顯的缺陷,就是這種開發(fā)技術(shù)跟操作系統(tǒng)的關(guān)系緊密,所以,使得利用該技術(shù)所構(gòu)建的網(wǎng)站的可移植性能比較差。
第三,就是基于ASP技術(shù)的網(wǎng)站開發(fā)技術(shù)。作為一種新開發(fā)的網(wǎng)頁開發(fā)技術(shù),ASP技術(shù)是一種動態(tài)服務(wù)器網(wǎng)頁,能夠很方便的對數(shù)據(jù)庫進行訪問?,F(xiàn)在的網(wǎng)頁設(shè)計中,采用ASP進行功能實現(xiàn)的越來越多,可以利用ASP技術(shù)來創(chuàng)建動態(tài)的網(wǎng)絡(luò)頁面,或者功能強大的網(wǎng)絡(luò)應(yīng)用程序。此外,ASP技術(shù)可以通過ADO控件對象來實現(xiàn)對數(shù)據(jù)庫的訪問,ADO的特點為高效、簡單和內(nèi)存開銷較小,更加適用于基于B/S的客戶端模式或者其他基于網(wǎng)絡(luò)應(yīng)用的開發(fā)。
基于ASP技術(shù)的網(wǎng)站工作方式可以描述為:瀏覽器通過向網(wǎng)絡(luò)服務(wù)器發(fā)送訪問請求,激活A(yù)SP的腳本運行程序,之后,網(wǎng)絡(luò)服務(wù)器就可以通過調(diào)用ASP來對請求的文件進行讀取,并同時執(zhí)行腳本的命令,最后將網(wǎng)絡(luò)的頁面?zhèn)鲃咏o瀏覽器。此種模式下,網(wǎng)頁的腳本運行主要通過服務(wù)器來完成,所以,從瀏覽器上所看到的網(wǎng)頁是在網(wǎng)絡(luò)服務(wù)器上生成后傳送過來的,瀏覽器不用負責(zé)對腳本的處理。網(wǎng)絡(luò)服務(wù)器能夠?qū)崿F(xiàn)所有的腳本處理,且能夠?qū)?biāo)準(zhǔn)的HTML頁面?zhèn)魉偷綖g覽器。瀏覽器所接受的只是腳本運行的結(jié)果,并不對服務(wù)器端的腳本進行復(fù)制,所以難以得到支持其頁面內(nèi)容的腳本命令,這樣,系統(tǒng)的訪問和運行安全性就可以得到保障。在該方式中,用戶可以通過目錄來進行邊界的定義,以以此作為應(yīng)用程序的作用域,使得在每個網(wǎng)站站點都可以運行多個應(yīng)用程序,且在服務(wù)器端并沒有實際的頁面存在和出現(xiàn),任何網(wǎng)頁都是根據(jù)用戶的需求來動態(tài)的實時生成和運行的,在用戶訪問結(jié)束后就自動消除。
3.3 服務(wù)器與數(shù)據(jù)庫的連接
現(xiàn)在,能夠?qū)崿F(xiàn)網(wǎng)絡(luò)服務(wù)器和數(shù)據(jù)庫服務(wù)器之間通信和數(shù)據(jù)交換的技術(shù)主要有:動態(tài)數(shù)據(jù)交換技術(shù)、SQL技術(shù)和ODBC技術(shù)等。
在這幾種數(shù)據(jù)交換方式中,ODBC技術(shù)已經(jīng)成為應(yīng)用系統(tǒng)和驅(qū)動程序之間的標(biāo)準(zhǔn)數(shù)據(jù)交互接口。作為一種調(diào)用層的數(shù)據(jù)接口,ODBC并不需要要預(yù)編譯程序,可以像調(diào)用函數(shù)一樣來實現(xiàn)對ODBC的操作。對于不同的數(shù)據(jù)庫管理系統(tǒng)來說,ODBC對其的訪問和管理是半透明的,可以通過驅(qū)動程序的加載來實現(xiàn)邏輯結(jié)構(gòu)到具體數(shù)據(jù)庫管理系統(tǒng)的DBMS的映射。而應(yīng)用程序?qū)?shù)據(jù)的訪問和操作,則不需要通過任何DBMS來實現(xiàn),由此就可以實現(xiàn)應(yīng)用程序?qū)Σ煌珼BMS的共享。所以,對于不同的應(yīng)用系統(tǒng)來說,ODBC具有高度的可移植性和互用性,通過基于ODBC的標(biāo)準(zhǔn)開發(fā),用戶可以跟不同的數(shù)據(jù)庫系統(tǒng)進行通信,此時的應(yīng)用程序并不需要做任何改變。
ASP技術(shù) ASP(Active Server Pages動態(tài)網(wǎng)頁)是微軟公司推出的一種用以取代CGI(Common Gateway Interface通用網(wǎng)關(guān)接口)的技術(shù)。目前,Internet上的許多基于Windows平臺的Web站點已開始應(yīng)用ASP來替換CGI。 簡單地講,ASP是一個位于服務(wù)器端的腳本運行環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運行動態(tài)的交互式Web服務(wù)器應(yīng)用程序,如交互式動態(tài)網(wǎng)頁,包括使用HTML表單收集和處理信息,上傳與下載等等。通常情況下,用戶通過瀏覽器看到的網(wǎng)頁大多是靜態(tài)的,目前Internet 上的許多站點,仍然提供"靜態(tài)"(static)的主頁內(nèi)容。 所謂"靜態(tài)",指的就是站點的主頁內(nèi)容是"固定不變"的。 當(dāng)瀏覽器通過Internet 的HTTP (Hypertext Transport Protocol)協(xié)議,向站點服務(wù)器(Web Server)要求提供主頁的內(nèi)容時,站點服務(wù)器收到要求后,就傳送原已設(shè)計好的靜態(tài)的HTML 的文件數(shù)據(jù)給瀏覽器。 一個"靜態(tài)"的站點,若要更新主頁的內(nèi)容,必須手動的來更新其HTML的文件數(shù)據(jù)。而隨著Web應(yīng)用的發(fā)展,用戶希望能夠看到根據(jù)要求而動態(tài)生成的主頁,例如響應(yīng)用戶查詢數(shù)據(jù)庫的要求、生成報表等。當(dāng)在瀏覽器上填好表單(form)的輸入數(shù)據(jù),以提供HTTP要求時,可以在站點服務(wù)器中執(zhí)行的應(yīng)用程序,而不只是一個HTML 文件。站點服務(wù)器收到要求執(zhí)行的應(yīng)用程序,分析表單(form)的輸入數(shù)據(jù),將執(zhí)行的結(jié)果以HTML的格式傳送給瀏覽器。 根據(jù)用戶請求生成動態(tài)主頁的傳統(tǒng)方法有CGI、ISAPI等。CGI是根據(jù)瀏覽器端的http請求激活響應(yīng)進程,每一個請求對應(yīng)一個進程。當(dāng)同時有很多請求時,程序擠占系統(tǒng)資源,造成效率低下;ISAPI針對這一缺點進行改進,利用dll(動態(tài)鏈接庫)技術(shù),以線程代替進程,提高了性能和速度,但要考慮線程的同步問題,而且開發(fā)步驟煩瑣。這兩種技術(shù)和另一普遍使用的開發(fā)動態(tài)網(wǎng)頁的技術(shù)Java都還存在著另外一個問題,那就是開發(fā)困難,程序的開發(fā)和HTML寫作是兩個完全不同的過程,需要專門的程序員開發(fā)。而較簡單的開發(fā)技術(shù)如javascript和IDC(Internet Database Connector)等功能有限,不敷使用。 ASP使用的ActiveX技術(shù)基于開放設(shè)計環(huán)境,用戶可以自己定義和制作組件加入其中,使自己的動態(tài)網(wǎng)頁幾乎具有無限的擴充能力,這是傳統(tǒng)的CGI等程序所遠遠不及的地方。ASP與常見的在Client端實現(xiàn)動態(tài)主頁的技術(shù)如Java applet、ActiveX Control、VBScript、javascript等不同,ASP中的命令和Script語句都是由服務(wù)器來解釋執(zhí)行的,執(zhí)行結(jié)果產(chǎn)生動態(tài)生成的Web頁面并送到瀏覽器;而Client端技術(shù)的Script命令則是由瀏覽器來解釋執(zhí)行。由于ASP是在服務(wù)器端解釋執(zhí)行,開發(fā)者可以不必考慮瀏覽器是否支持ASP;同時由于它在服務(wù)器端執(zhí)行,開發(fā)者也不必擔(dān)心別人下載程序從而竊取編程邏輯。 ASP通過后綴名為.asp的ASP文件來實現(xiàn),一個.asp文件相當(dāng)于一個可執(zhí)行文件,因此必須放在Web服務(wù)器上有可執(zhí)行權(quán)限的目錄下。當(dāng)用戶從瀏覽器輸入了.asp文件的地址后,瀏覽器就將這個URL請求發(fā)給Web Server,如果Web Server上裝了ASP,就調(diào)用ASP。ASP讀出相應(yīng).asp文件,解釋并執(zhí)行命令,動態(tài)生成一個HTML頁面回傳Web Server,然后Web Server再把結(jié)果發(fā)送給瀏覽器。ASP文件的制作和HTML類似,且和HTML開發(fā)集成,可以在同一個過程完成,利用ASP將可以執(zhí)行的腳本嵌入到HTML文件中(將HTML文件的后綴名改為.asp),這使得HTML文件的編寫與腳本的開發(fā)融合在一起。通過ASP內(nèi)置的對象、服務(wù)器組件(Server Component)可以完成非常復(fù)雜的任務(wù),而且用戶還可以自己開發(fā)或利用別人開發(fā)的服務(wù)器組件完成專門的任務(wù)。ASP比較網(wǎng)關(guān)及服務(wù)器擴展模式有著以下優(yōu)點:
(1)完全與HTML文件融合在一起;
(2)容易創(chuàng)建,不需要其它編譯、鏈接程序;
(3)面向?qū)ο蟮牟⑼ㄟ^ActiveX Server對象可擴展。
二、電子商務(wù)數(shù)據(jù)訪問方式
電子商務(wù)是指通過電子方式,并在網(wǎng)絡(luò)基礎(chǔ)上實現(xiàn)物資、人員過程的協(xié)調(diào),以便商業(yè)交換的活動。在電子商務(wù)系統(tǒng)中,Web提供了與客戶進行通信聯(lián)絡(luò)的有效手段,利用Web技術(shù),實現(xiàn)Web服務(wù)器與數(shù)據(jù)庫系統(tǒng)的連接,完成對數(shù)據(jù)的處理與查詢,用戶可以通過操作簡單易學(xué)的瀏覽器來查詢處理所需要的各種數(shù)據(jù)。 實現(xiàn)Web服務(wù)器與數(shù)據(jù)庫的連接一般有兩種方法:一種是利用中間件技術(shù)在兩者之間建立連接和通信,如CGI(通用網(wǎng)關(guān)接口)和API(應(yīng)用程序編程接口)。Web服務(wù)器通過調(diào)用CGI程序?qū)崿F(xiàn)與Web瀏覽器的交互,即CGI程序接受瀏覽器發(fā)給Web服務(wù)器的信息,進行處理后,將相應(yīng)結(jié)果再送回給Web服務(wù)器,通過Web服務(wù)器將信息傳送給瀏覽器。但CGI程序在響應(yīng)速度和資源利用等方面有較大局限性,客戶端每請求一個CGI程序,服務(wù)器端便打開一個進程,當(dāng)請求的數(shù)量較大時容易引起瓶頸現(xiàn)象,開發(fā)人員常利用API編程來擴展服務(wù)器功能,API程序占系統(tǒng)資源少,運行效率較高,但它的編程較CGI程序更為復(fù)雜;另一種是由瀏覽器中的Java小應(yīng)用程序(Java Applet)通過瀏覽器訪問Web服務(wù)器上的數(shù)據(jù)庫,利用了JDBC(Java Database Connectivity)技術(shù),它通過JDBC提供的API實現(xiàn)對Web Server的訪問。由于Java Applet本身的局限性,目前大多數(shù)的應(yīng)用是基于中間件技術(shù)的。 ASP也是屬于中間件的一種模式,但在Windows平臺上它比較網(wǎng)關(guān)及服務(wù)器擴展模式有著較大的優(yōu)點。網(wǎng)關(guān)的最大特點是它的平臺無關(guān)性,但網(wǎng)關(guān)程序通常較難編寫和改變。網(wǎng)關(guān)程序通常是一個獨立的程序,并不和HTML文件融合在一起,它需要用如C、C++、VB、Perl等語言來編寫?yīng)毩⒌膽?yīng)用程序,而ASP應(yīng)用改變了這一點。使用ASP不僅可以讀取Access和 SQL Server的數(shù)據(jù)庫,而且還可以讀取其他ODBC(Open Database Connect 開放式數(shù)據(jù)庫互聯(lián))兼容的數(shù)據(jù)庫。在ASP中訪問數(shù)據(jù)庫是通過ADO(ActiveX Database Object活動數(shù)據(jù)對象)及事務(wù)處理語句來實現(xiàn)的。ADO是一種操作Microsoft所支持的數(shù)據(jù)庫的方法,是一項容易使用并且可擴展的將數(shù)據(jù)庫訪問添加到 Web 頁的技術(shù)。ADO對象的使用與DAO(數(shù)據(jù)訪問對象)、RDO(遠程數(shù)據(jù)對象)的方式相似。在ASP中,ADO可以看作是一個服務(wù)器組件,更簡單點說,是一系列的對象,應(yīng)用這些功能強大的對象,即可輕松完成對數(shù)據(jù)庫復(fù)雜的操作。
三、ASP在電子商務(wù)中的應(yīng)用
在電子商務(wù)中,對用戶而言,進行網(wǎng)上信息查詢的目的是尋找自己需要的產(chǎn)品或服務(wù),而對于商品或服務(wù)提供者來說,其目的則是向用戶推銷自己的產(chǎn)品或服務(wù)。因此,讓用戶通過瀏覽器查詢服務(wù)器的后端數(shù)據(jù)庫是許多Web服務(wù)提供者必需有的服務(wù),ASP通過內(nèi)置的ADODB組件來實現(xiàn)這一功能。可以使用ADO去編寫緊湊簡明的腳本以便連接到ODBC 兼容的數(shù)據(jù)庫和 OLE DB 兼容的數(shù)據(jù)源。具體的操作步驟可以歸納為以下幾步:
① 創(chuàng)建數(shù)據(jù)庫源名(DSN) ADODB通過ODBC工作,因此要在ODBC中設(shè)置DSN(數(shù)據(jù)源名)。打開Windows的"控制面板",雙擊"ODBC"的圖標(biāo),然后選擇"文件 DSN "的屬性頁,單擊,選擇數(shù)據(jù)庫驅(qū)動程序,然后單擊"下一步",按照屏幕的指示鍵入數(shù)據(jù)源文件的名稱,然后單擊"下一步",再單擊"完成"創(chuàng)建數(shù)據(jù)源。
②創(chuàng)建數(shù)據(jù)庫鏈接 鏈接用以保持一些關(guān)于正在訪問的數(shù)據(jù)的動態(tài)信息,以及鏈接者信息。利用ADODB的成員函數(shù)Open和先前設(shè)定的DSN與數(shù)據(jù)庫連接,其語法如下: SetConnect=Server.CreateObject("ADODB.Connection") '創(chuàng)建了鏈接對象Connect。 Connect.Open("DSN=dsnname;UID=userID;PWD=password") '打開鏈接。dsnname為數(shù)據(jù)源名;userID為用戶名;password為用戶口令。
③創(chuàng)建數(shù)據(jù)對象 ADO中的數(shù)據(jù)對象通常保存的是查詢結(jié)果。RecordSet 是ADO中最復(fù)雜的對象,有許多屬性和方法,靈活運用,可以達到許多好的效果。其創(chuàng)建方法如下: Set RecordSet =Connect.Execute(sqtStr) '創(chuàng)建并打開了對象RecordSet ,sqtStr是一個串,代表一條標(biāo)準(zhǔn)的SQL語句。例如: sqlStr="SELECT*FROM b1" Set RecordSet =Connect.Execute(sqlStr) 這條語句執(zhí)行后,對象RecordSet中就保存了b1中的所有記錄。
④操作數(shù)據(jù)庫 可利用Execute方便地執(zhí)行數(shù)據(jù)的插入、修改、刪除等操作。如執(zhí)行插入操作: sqlStr="Insert Into b1Values(1,2)" Connect.Execute(sqlStr)
⑤關(guān)閉數(shù)據(jù)對象和鏈接 在使用了ADO對象之后,一定要關(guān)閉數(shù)據(jù)對象和鏈接。在ASP中通過調(diào)用方法close實現(xiàn)關(guān)閉。 關(guān)閉創(chuàng)建的數(shù)據(jù)對象:Record Set .close Set Record Set=Nothing 關(guān)閉創(chuàng)建的鏈接對象:Connect. close Set Connect=Nothing 完整的程序片段:
//產(chǎn)生組件實例
//連接數(shù)據(jù)庫
Connect.Open("DSN=dsnname;UID=userID;PWD=password")
//執(zhí)行查詢
SQL=select*fromtablename SetRS=Connect.Execute(SQL)?。?
//顯示結(jié)果
Rs.MoveNext
Loop
%>
上述是用ASP訪問數(shù)據(jù)庫的全過程,由于應(yīng)用面向?qū)ο笏枷?,所有操作都比較簡單,用戶需要注意的僅是對數(shù)據(jù)結(jié)構(gòu)的了解、當(dāng)前所操作的對象及對象的屬性等等,只要對這些有了清晰的認識,再加上ASP強大功能,在網(wǎng)絡(luò)上使用數(shù)據(jù)庫,實現(xiàn)用戶與頁面間交換信息,就再也不是什么難事了。
四、主要功能程序段
4、1 打開數(shù)據(jù)庫
option explicit
dim conn,connstr,db,rs
db="database/#MyShop.mdb" //數(shù)據(jù)庫路徑
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open connstr
4.2 數(shù)據(jù)庫查詢操作
//大類查訊
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 "
&rs("anclassid")&"&nid="&rs2("nclassid")&">"
&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 //添加相應(yīng)的記錄
rs("username")=username
…………
rs("zhuangtai")=6
rs("zonger")=0
rs.update //更新數(shù)據(jù)庫
4.4 刪除記錄操作
//從表actions中刪除actionid 匹配的記錄
conn.execute "delete 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