前言:我們精心挑選了數篇優質asp技術論文文章,供您閱讀參考。期待這些文章能為您帶來啟發,助您在寫作的道路上更上一層樓。
目前在WINDOWS環境下有多種訪問WEB數據庫的技術,主要有:
1.公共網關接口CGI(CommonGatewayInterface)
CGI是較早實現的技術。適用于多種服務器平臺,如UNIX、WINDOWS等,但CGI的開發成本高、維護困難、功能有限、不具備事務處理功能、占用服務器資源較多。
2.INTERNET數據庫連接器IDC(InternetDatabaseConnector)
IDC集成在ISAPI(InternetServerAPI)中,充分利用了DLL技術,易擴充,但編程較CGI更為復雜,只適用于小型數據庫系統。
3.先進數據庫連接器ADC(AdvanceDatabaseConnector)
ADC提供了ActiveXControl來訪問數據庫,它的主要特點是數據查詢由用戶端瀏覽器執行,因而需將服務器端數據庫中的部分記錄下載到用戶端,系統開銷較大、響應慢,只適用于特別頻繁的數據庫查詢操作。
4.JAVA/JDBC語言編程
JAVA語言是一種面向對象、易移植、多線程控制的語言,可通過JDBC去連接數據庫。用JAVA/JDBC編寫的軟件可移植性強,適用于多種操作系統,但其執行效率和執行速度還不理想,目前無法建立高效、高速的應用。
5.動態服務器頁面asp(ActiveServerPage)
ASP是微軟公司最新推出的WEB應用開發技術,著重于處理動態網頁和WEB數據庫的開發,編程靈活、簡潔,具有較高的性能,是目前訪問WEB數據庫的最佳選擇。
二.ASP簡介
1.ASP訪問數據庫的原理
ASP是服務器端的腳本執行環境,可用來產生和執行動態的高性能的WEB服務器程序。
當用戶使用瀏覽器請求ASP主頁時,WEB服務器響應,調用ASP引擎來執行ASP文件,并解釋其中的腳本語言(JScript或VBScript),通過ODBC連接數據庫,由數據庫訪問組件ADO(ActiveXDataObjects)完成數據庫操作,最后ASP生成包含有數據查詢結果的HTML主頁返回用戶端顯示。
由于ASP在服務器端運行,運行結果以HTML主頁形式返回用戶瀏覽器,因而ASP源程序不會泄密,增加了系統的安全保密性。此外,ASP是面向對象的腳本環境,用戶可自行增加ActiveX組件來擴充其功能,拓展應用范圍。
2.ASP頁面的結構:
ASP的程序代碼簡單、通用,文件名由.asp結尾,ASP文件通常由四部分構成:
1)標準的HTML標記:所有的HTML標記均可使用。
2)ASP語法命令:位于<%%>標簽內的ASP代碼。
3)服務器端的include語句:可用#include語句調入其它ASP代碼,增強了編程的靈活性。
4)腳本語言:ASP自帶JScript和VBScript兩種腳本語言,增加了ASP的編程功能,用戶也可安裝其它腳本語言,如Perl、Rexx等。
3.ASP的運行環境
目前ASP可運行在三種環境下。
1)WINDOWSNTserver4.0運行IIS3.0(InternetInformationServer)以上。
2)WINDOWSNTworkstation4.0運行PeerWebServer3.0以上。
3)WINDOWS95/98運行PWS(PersonalWebServer)。
其中以NTserver上的IIS功能最強,提供了對ASP的全面支持,是創建高速、穩定的ASP主頁的最佳選擇。
4.ASP的內建對象
ASP提供了六個內建對象,供用戶直接調用:
1)Application對象:負責管理所有會話信息,可用來在指定的應用程序的所有用戶之間共享信息。
2)Session對象:存貯特定用戶的會話信息,只被該用戶訪問,當用戶在不同WEB頁面跳轉時,Session中的變量在用戶整個會話過程中一直保存。Session對象需cookie支持。
3)Request對象:從用戶端取得信息傳遞給服務器,是ASP讀取用戶輸入的主要方法。
4)Response對象:服務器將輸出內容發送到用戶端。
5)Server對象:提供對服務器有關方法和屬性的訪問。
6)ObjectContext對象:IIS4.0新增的對象,用來進行事務處理。此項功能需得到MTS(MicrosoftTranscationServer)管理的支持。
5.ASP的主要內置組件:
1)AdRotator組件:用來按指定計劃在同一頁上自動輪換顯示廣告,用于WWW上日益重要的廣告服務。
2)BrowserCapabilities組件:確定訪問WEB站點的用戶瀏覽器的功能數據,包括類型、性能、版本等。
3)DatabaseAccess組件:提供ADO(ActiveXDataObjects)來訪問支持ODBC的數據庫。
4)FileAccess組件:提供對服務器端文件的讀寫功能。
5)ContentLinking組件:生成WEB頁內容列表,并將各頁順序連接,用于制作導航條。
此外,還可安裝Myinfo、Counters、ContentRotator、PageCount等組件,用戶也可自行編制Actiive組件,以提高系統的實用性。
6.DatabaseAccess組件ADO
WWW上很重要的應用是訪問WEB數據庫,用ASP訪問WEB數據庫時,必須使用ADO組件,ADO是ASP內置的ActiveX服務器組件(ActiveXServerComponent),通過在WEB服務器上設置ODBC和OLEDB可連接多種數據庫:如SYBASE、ORACLE、INFORMIX、SQLSERVER、ACCESS、VFP等,是對目前微軟所支持的數據庫進行操作的最有效和最簡單直接的方法。
ADO組件主要提供了以下七個對象和四個集合來訪問數據庫。
1)Connection對象:建立與后臺數據庫的連接。
2)Command對象:執行SQL指令,訪問數據庫。
3)Parameters對象和Parameters集合:為Command對象提供數據和參數。
4)RecordSet對象:存放訪問數據庫后的數據信息,是最經常使用的對象。
5)Field對象和Field集合:提供對RecordSet中當前記錄的各個字段進行訪問的功能。
6)Property對象和Properties集合:提供有關信息,供Connection、Command、RecordSet、Field對象使用。
7)Error對象和Errors集合:提供訪問數據庫時的錯誤信息。
三.ASP訪問數據庫步驟
在ASP中,使用ADO組件訪問后臺數據庫,可通過以下步驟進行:
1.定義數據源
在WEB服務器上打開“控制面板”,選中“ODBC”,在“系統DSN”下選“添加”,選定你希望的數據庫種類、名稱、位置等。本文定義“SQLSERVER”,數據源為“HT”,數據庫名稱為“HTDATA”,腳本語言采用Jscript。
2,使用ADO組件查詢WEB數據庫
1)調用Server.CreateObject方法取得“ADODB.Connection”的實例,再使用Open方法打開數據庫:
conn=Server.CreateObject(“ADODB.Connection”)
conn.Open(“HT”)
2)指定要執行的SQL命令
連接數據庫后,可對數據庫操作,如查詢,修改,刪除等,這些都是通過SQL指令來完成的,如要在數據表signaltab中查詢代碼中含有“X”的記錄
sqlStr=“select*fromsignaltabwherecodelike‘%X%’”
rs=conn.Execute(sqlStr)
3)使用RecordSet屬性和方法,并顯示結果
為了更精確地跟蹤數據,要用RecordSet組件創建包含數據的游標,游標就是儲存在內存中的數據。
rs=Server.CreateObject(“ADODB.RecordSet”)
rs.Open(sqlStr,conn,1,A)
注:A=1讀取
A=3新增、修改、刪除
在RecordSet組件中,常用的屬性和方法有:
rs.Fields.Count:RecordSet對象的字段數。
rs(i).Name:第i個字段的名稱,i為0至rs.Fields.Count-1
rs(i):第i個字段的數據,i為0至rs.Fields.Count-1
rs("字段名"):指定字段的數據。
rs.Record.Count:游標中的數據記錄總數。
rs.EOF:是否最后一條記錄。
rs.MoveFirst:指向第一條記錄。
rs.MoveLast:指向最后一條記錄。
rs.MovePrev:指向上一條記錄。
rs.MoveNext:指向下一條記錄。
rs.GetRows:將數據放入數組中。
rs.Properties.Count:ADO的ResultSet或Connection的屬性個數。
rs.Properties(item).Name:ADO的ResultSet或Connection的名稱。
rs.Properties:ADO的ResultSet或Connection的值。
rs.close():關閉連接。
4)關閉數據庫
conn.close()
四.查詢WEB數據庫舉例
下面這段示例程序是訪問SQLSERVER數據庫的signaltab表,表中有三個字段:code(代碼字段,字符型,3位),class(分類字段,字符型,10位),memo(備注字段,字符型,20位)。程序中數據源DSN:HT、用戶名:client、口令:passwd。
屏幕輸入頁面input.asp
<%@language=javascript%>
ASP(ActiveServerPages)是Microsoft于1996年11月推出的Web應用程序開發技術。微軟聲稱設計出了一個完美的Active平臺,在微軟的文件中把ASP描述為:"一個服務器的腳本環境,在這里可以生成和運行動態的、交互的、高性能的Web服務器應用程序"。從這段描述我們可以看出,ASP既不是一種語言,也不是一種開發工具,而是一種技術框架,其主要功能是為生成動態的交互式的Web服務器應用程序提供一種功能強大的方法或技術。ASP的主要特性是能夠把HTML、腳本、組件等有機地組合在一起,形成一個能夠在服務器上運行的應用程序,并把按用戶要求專門制作的標準HTML頁面送給客戶端瀏覽器。ASP屬于ActiveX技術中的服務器端技術。與我們通常在客戶端實現動態主頁的技術如Javaapplet、ActiveXControl、VBScript、javascript等所不同的是,ASP中的命令腳本語句都是在服務器中解釋執行,執行后的結果產生HTML頁面并送到瀏覽器。由于ASP是在服務器端解釋執行,開發者可以不必考慮瀏覽器是否支持ASP。同時,由于只是標準的HTML頁面送到瀏覽器,在瀏覽器上看不到ASP程序,因此可以防止程序被竊取,保護了開發者的利益。
二、為什么用ASP
隨著Internet的發展,靜態Web站點的開發與維護變得越來越困難,一方面信息的不斷增加和變化,使站點維護人員不得不經常修改他們的網頁,特別是基于數據庫驅動的Web站點更是如此;另一方面靜態網頁由于不能與瀏覽者進行有效交互,使人們感到越來越乏味,而不愿意再一次地進入同一站點。所以開發動態網頁或動態內容成了越來越多的站點所追求目標。所謂動態內容是由每一個用戶按照自己的需求發出請求而特殊制作的Web網頁,例如訪問某一網站的新用戶得到的歡迎詞與重新返回到該站點的用戶得到的歡迎詞是不同的。
三、ASP的特點
ASP具有學習快、設計快的特點,不需花許多時間即可學會和快速設計出WEB應用程序。
ASP的源程序碼在服務器端執行,代碼保密性好。
集成與HTML中,無需編譯鏈接可直接執行;使用文本編輯器如記事本,即可設計。
與瀏覽器無關,用戶端只要使用常規可執行HTML代碼的瀏覽器。
ASP是面向對象的(Object_Oriented)
四、ASP與其它相關技術的比較
隨著Internet的發展,靜態Web站點的開發與維護變得越來越困難,一方面信息的不斷增加和變化使站點維護人員不得不經常修改他們的網頁,特別是基于數據庫驅動的Web站點更是如此;另一方面靜態網頁由于不能與瀏覽者進行有效交互,使人們感到越來越乏味,而不愿意再一次地站點。所以開發動態網頁或動態內容成了越來越多的站點所追求目標。
所謂動態內容是由每一個用戶按照自己的需求發出請求而特殊制作的Web網頁,例如訪問某一網站的新用戶得到的歡迎詞與重新返回到該站點的用戶得到的歡迎詞是不同的。有許多技術可以實現動態內容,目前常用的主要有兩種:CGI(公共網關接口)和ISAPI。
CGI是開發較早的技術,它可以很好地實現動態內容,但它有兩個主要缺點。一是對每一個請求(請求一個頁面)CGI都要產生一個新的進程,同一時刻發出的請求越多,服務器產生的進程也就越多。我們知道,產生一個進程是非常耗時的,而且需要用到大量的服務器RAM,所以其響應時間相對較長,特別是當進程多到某一數量后,服務器性能將顯著下降。另一方面,CGI的主要編程語言是C語言,對大多數網頁開發人員來說,要掌握和精通這些編程語言需要花很長的時間。
ISAPI針對CGI第一個缺點進行了改進,利用DLL(動態鏈接庫)技術,以線程代替進程,提高了性能和速度,但要考慮線程的同步問題,而且開發步驟煩瑣。
ASP除了提供CGI的所有功能外,還具有許多顯著的優點。ASP運行在Web服務器的同一個進程中,可以更快、更有效地處理客戶請求;ASP提供更方便、更簡單的訪問數據庫的方法,使開
發基于數據庫驅動的Web應用程序更加容易;ASP支持幾乎所有的腳本語言,如VBScript、Jscript和Perl,其主要腳本語言VBScript是基于眾多編程人員非常熟悉VisualBasic語言,所以ASP更容易被人們所接受。
五、ASP的工作過程
ASP技術直接建立于微軟的Web服務器之中,所有微軟的Web服務器都支持ASP,如WindowsNTInternetInformationServer(IIS),WindowsNTWorkstation以及Windows95PersonalWebServer。你不要擔心瀏覽器是否能執行你的ASP程序,你的WEB服務器會自動把ASP程序碼,解釋為HTML格式的主頁內容,再送到用戶端的瀏覽器顯示出來。如圖1所。
六、用ASP實現用戶登陸WEB數據庫
在ASP中訪問數據庫,可采用ASP內置ActiveX服務器組件棗數據庫訪問組件,使用ActiveXDataObject(ActiveX數據對象,簡稱ADO)的技術。ADO通過在WEB服務器上設定ODBC,來建立與多種數據庫的連接,其中包括SQLServer、Oracle、Foxpro等各種大、中、小型數據庫。下面我們舉例說明用ASP實現用戶登陸WEB數據庫的過程。
1.用戶在客戶機瀏覽器上輸入一個URL地址并回車,請求一個頁面。
例如yin/User_Login/default.htm。
2.服務器接受用戶請求,調出相應頁面(假設該頁面含有一個表單)。
例如default.htm,其代碼如下:
<html>
<head>
<metaname="GENERATOR"content="MicrosoftFrontPage3.0">
<title>系統登錄</title>
</head>
<h2align="center">系統登錄</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="復位"name="reset">
</center></form></body>
</html>
當瀏覽器端填入要查詢的用戶名和口令并按下submit按鈕時,它將用戶名以username,口令以password的變量形式送到user_login.asp中。
[關鍵詞]網站立項系統分析系統設計網站測試網站維護
一、引言
網絡技術的不斷成熟和發展,促進了基于網絡技術的校園網站的發展。校園網站開發是一項很復雜的工作,我校根據學校實際,確定網站的定位和需求,從軟件工程的角度出發,針對學校網站建設的特點和重點,整理出一套適合學校網站建設管理和控制的方法,以此來保證網站建設的高效率、高質量。
二、網站立項
校園網站建設,要成立一個專門的項目小組:學校領導、學校網絡管理員、美術教師、各科室人員、計算機專業教師等8人~9人以及“計算機學會”社團學生代表5人組成,由網絡管理員作為項目負責人負責對該項目的統一調度和安排。
三、網站設計開發過程
(一)系統分析階段
建立一個網站,首要明確設計思想,編寫一份詳盡的需求說明書,這是網站建設成功的關鍵所在。
我校根據各方面的反饋意見進行認真的分析,對網站設計進行準確定位:學校網站規劃要著重考慮教師和學生的需求;內容上要以學校整體宣傳為主,同時也要為訪問者提供其所關心的內容;內容要求及時更新;版面要求新穎有特色,同時還要增強網站的方便性、整體性和安全性。
(二)系統設計階段
1.網站總體設計
網站設計有了一份詳盡的需求說明書后,就可以根據需求說明書,對網站進行總體規劃,給出一份網站總體建設方案。總體規劃具體要明確網站需要實現的目的和目標;網站形象說明;網站的欄目版塊和結構;網站內容的安排,相互鏈接關系;使用軟件、硬件和技術分析說明;開發時間進度表;維護方案;制作費用;需要遵循的規則和標準有哪些等。
2.網站詳細設計
總體設計階段以比較抽象概括的方式提出解決問題的辦法,具體設計階段的任務就是把解決方法具體化、明確化,設計中應注意的問題有:
(1)網站設計的風格定位。網站要有自己的特色,設計中不要太多地考慮技術問題,而應該更多地考慮不斷增加網站的內涵,要在能夠動態反映學校情況的內容上下功夫。
(2)網站設計的整體性。網站設計,注意考慮網站的易維護性,技術上多采用CSS、模板等,對網站的整體風格進行定位,方便日常維護與更新。
(3)關鍵技術的研究及應用。網站設計中,怎樣防黑,保護網站內容不被別人竊取、修改是網站建設必須考慮的技術性問題。本人主要從IIS、ASP和Access三方面來總結網站系統面臨的常見的安全威脅及解決方法。
①集中管理ASP的目錄,設置訪問權限。在設置WEB站點時,將HTMI文件同ASP文件分開放置在不同的目錄下,然后將HTML子目錄設置為“讀”;將ASP子目錄設置為“執行”。
②對IIS中的特殊Web目錄禁止匿名訪問并限制IP地址。對IIS中的sample、scripts、iisadmin等web目錄,通過各目錄屬性對話框中的“目錄安全性”標簽設置為禁止匿名訪問并限制IP地址,并用NTFS的特性設置詳細的安全權限,除了Administrator,其它帳號都應該設置為只讀權限。
③防止Access數據庫被下載。有效地防止數據庫被下載的方法有:非常規命名法:為Access數據庫文件取一個復雜的非常規名字,并把它放在幾層目錄下;使用ODBC數據源:在ASP程序設計中,如果有條件,應盡量使用ODBC數據源,不要把數據庫名寫在程序中。
④進行數據備份。運用FSO組件對Access數據庫進行備份,以便在數據被破壞時進行快速恢復,盡可能多地挽回損失。
⑤對ASP頁面進行加密。為了有效地防止ASP源代碼泄露,可以對ASP頁面進行加密。加密的方法一般有兩種:一是使用組件技術將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進行加密。
⑥后臺用戶注冊驗證。為了防止后臺用戶未經注冊的用戶繞過注冊界面直接進入應用系統,我們采用Session對象進行注冊驗證:<%UserID=Request(“UserID”)
‘讀取使用者所輸入的用戶名和密碼
Password=Request(“Password”)
IfUserID<>“hrmis”OrPassword<>“password”Then
Response.Write“用戶名錯誤!”
Response.End
EndIf
‘將Session對象設置為通過驗證狀態
Session(“Passed”)=True%>
進入應用程序后,首先進行驗證:
<%‘如果未通過驗證,返回Login.asp頁面登陸狀態
IfNotSession(“Passed”)ThenResponse.Redirect“Login.asp”
EndIf%>
⑦讓學生參與網站設計。優秀學生參與設計,無論對豐富網站內容、提高學校網站的點擊率還是擴大學校網站的影響都能起到相當大的作用。
(三)網站測試
有了網站的具體設計方案,各網站制作人員就可以全力進入開發階段。盡量采用邊制作邊調試,即采用本機調試和上傳服務器調試的方法,觀察速度、兼容性、交互性等。
投入運行之前,需對網站需求分析、系統分析、設計規格說明和編碼最終復審,還要對系統進行各種綜合測試。測試結束后,制作有關文檔存檔,并寫出一個校園網站使用說明文檔。至此,網站項目建設完畢。
(四)網站的管理和更新
做好網站的管理與更新,是一個網站樹立形象的根本、生存的根本。我校專門成立了安全組織機構,制定出適合我校的《校園網站管理辦法》、《校園網站信息審核制度》、《校園網站異常情況案件報告制度》等規定,建立健全了各項安全管理制度。
四、結論
我校網站已經試運行一段時間,為學校的教師、學生和教學管理人員提供教學管理、教學研究、日常辦公、信息交流等應用服務的平臺,較好地滿足了設計最初的需求。在整個設計網站的過程中,重視學校網站的“規劃—設計—管理—發展”的規律,實現可持續性發展。
參考文獻:
[1]田原.高職院校校園網站主頁設計探討[J].十堰職業技術學院學報,2007,(7).
[2]方照.立足校本,探索校園網建設之路[J].教育信息技術,2007,(12).
[3]田建勇.淺析學校網站的設計與建設[J].安順師范高等專科學校學報,2006,(6).
[4]侯占偉,翟海霞.ASP代碼廈網站安全的探討[J].焦作大學學報,2005,(4).