摘要:對動態網頁的發展過程進行了回顧,重點闡述了ASP技術的特點及其運行的機制,總結分析了在使用ASP技術進行動態網頁設計過程中可能遇到的問題,并提出了解決問題的方法,避免在以后的開發過程中出現類似的困擾和問題,可以少走一些彎路。
關鍵詞:ASP;數據結構;數據源;腳本
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)11-20277-03
隨著互聯網技術的快速發展,互聯網提供的服務也越來越得到更多人們的認可,特別是WWW服務,它是目前互聯網上發展最快的服務。WWW(World Wide Web)中文譯為環球信息網(或萬維網),簡稱WEB,WWW是一種基于超文本技術的網絡資源服務,WEB上的信息是由彼此關聯的文檔組成的,這些文檔稱為主頁或頁面,它是一種超文本(Hypertext)信息。早期的網頁主要是靜態的,后來由于有了CGI、NSAPI、ISAPI、WSAPI、IDC、ASP、JSP、DHTML、PHP、ASP.NET等技術的發展,使得WEB頁面可以方便地傳播動態信息。目前,比較流行的有ASP、PHP和JSP程序設計語言。從總的方面來說,ASP、PHP和JSP基本上都是把腳本語言嵌入HTML文檔中,它們最主要的優點是:ASP學習簡單,使用方便;PHP軟件免費,運行成本低;JSP多平臺支持,轉換方便。
ASP全稱ActiveServerPages,是微軟推出的用以取代CGI的動態服務器網頁技術。
微軟更早曾推出IDC技術,專門用于和數據庫連接,IDC雖然也簡單易學,但是因為太簡單了,很多功能都不能實現,于是微軟又推出了仍然簡單易學,但功能更強大的ASP。由于ASP簡單易學,又有微軟的強大支持,所以目前ASP使用非常廣泛,很多大型站點都是用ASP開發的。
ASP目前可以在WindowsNT、Windows2000、WindowsXP上運行,在Windows98上裝上個人WEB服務器PWS4.0后也可以運行,它對客戶端沒有任何特殊的要求,只要有一個普通的瀏覽器就行。ASP文件就是在普通的HTML文件中嵌入VbScript或JavaScript腳本語言,當客戶請求一個ASP文件時,服務器就把該文件解釋成標準的HTML文件發過去。在服務器端運行的好處:第一、可以不受客戶端瀏覽器的限制;第二、可以很方便地和服務器交換數據。ASP提供了幾個內部對象和內部組件,利用它們可以很方便地實現表單上傳、存取數據庫等功能,除此之外,還可以使用第三方提供的專用組件解決如發送E_mail,文件上傳等功能,如果還有特殊的需要,可以利用VC或VB開發自己的組件,因此可以說ASP幾乎可以實現任何功能。
現就自己在使用ASP開發動態網頁的過程中遇到的一些問題談談自己的看法:
1 開發工具的選擇
欲善其事,必先利其器。選擇合適的工具對開發可以起到事半功倍的效果。開發ASP文件,最簡單的工具就是Windows系統自帶的記事本了,除此之外還有Editplus、UlraEdit、Frontpage、Dreamweaver、Visual InterDev等工具。這么多選擇,究竟用哪一種好呢?這些工具各有各的特點,也各有各的優點和缺點,由于動態網頁涉及網頁開發和腳本開發兩方面的內容,所以只用哪一種工具很難順利完成開發工作。既然一種工具很難較好完成任務,那我們就可以考慮根據其優缺點綜合利用這些工具,選擇兩種合適的工具就可以了。工具不需要太多,好用實用是唯一的標準。從腳本開發和界面設計考慮,我個人認為使用Editplus進行腳本開發,使用Dreamweaver進行界面設計是比較好的選擇。記事本使用簡單,可以完全依靠它完成動態網頁的開發,但是它的效率太低,每行代碼,每個字母都需要通過鍵盤輸入,在輸入過程中難免會出現這樣或那樣的錯誤,如果代碼較長,那將是一個漫長的過程。在調試過程中,查找由于輸入出現的錯誤又會耗費很多時間和精力。對于初學者來說,如果對界面沒有太高的要求,記事本是個不錯的選擇,并且在輸入過程中對每行代碼會有一定的感性認識,對程序的層次結構有一個總的了解。記事本不適合設計復雜的網頁。Editplus、UlraEdit與記事本相似,只不過比其功能強大一些,它可以自動生成網頁的框架,你只需要將腳本語言輸進去就可以了,而且它具有結構化程序的特點,并能將ASP腳本語言與HTML語言分顏色顯示出來,增強了可讀性,它還有自動換行、列數標記等功能。Frontpage、Dreamweaver是可視化的網頁開發工具,其功能非常強大,制作網頁非常方便,效率很高,而且也集成了ASP功能,可以自動生成一些ASP腳本語言,但其生成的代碼較復雜,可讀性較差,使用起來不是很方便靈活。Visual InterDev的突出優點是它有一個非常優秀的腳本開發調試環境,可以極其容易地生成VbScript腳本和JavaScript腳本,另外它可以直接與SQL Server數據庫連接,方便地操縱數據庫,這在其他環境中是比較少有的,與Frontpage、Dreamweaver相比較,Visual InterDev的缺點和記事本、Editplus、UlraEdit一樣,不能非常方便地進行界面設計。綜上所述,我們可以先使用Dreamweaver來進行界面設計,然后用Editplus來完成動態網頁的腳本開發,綜合利用各自的優點,發揮它們的特色,為我們的開發服務。
腳本和界面的關系是內容與形式的關系,好的內容需要好的形式來推廣,好的形式便于好的內容的普及,二者是辯證統一的。所以我們可以先設計好網頁的界面,然后再完成網頁的動態部分,分步來完成,避免發生混亂。
2 數據庫的選擇
對于初學者來說,可以選擇Access、Foxpro這樣的小型關系數據庫進行小型網站的開發,而Sybase、Oracle、Informix、Sql Server適合進行大型數據庫的開發,為了能較順利地開發出ASP程序,熟悉其功能,使用小型的關系型數據庫就可以了。等到ASP腳本語言使用非常熟練以后,再選擇大型數據庫進行大型網站的開發,這種過渡是非常容易的。
3 數據結構的確立
對于ASP來說,數據庫的應用是非常重要的一部分。剛開始,不用對數據庫的結構考慮太多,主要任務應該集中在對數據庫的操作上,待查詢、添加、刪除、修改、分頁等操作熟練掌握后,要進行大型系統開發時再考慮數據庫的結構,一個好的系統必須有一個好的數據庫結構來支撐,現在的數據庫都是關系型的數據庫,確定各個數據的關系至關重要,要學會建立數據模型,對數據進行分析,剔除數據冗余,使各個數據之間的關系合理,這是非常關鍵的,如果數據庫的結構不合理,將會給開發帶來很多的問題。所以一定要好好研究一下數據庫的結構,學會建立數據模型。下圖為學生成績管理系統數據庫結構設計的E-R圖:
4 數據庫的連接
要對數據庫進行操作,首先要連接數據庫,這就要用到Connection對象,具體連接方法有兩種。
(1)利用數據源的連接方法。此方法需要通過“ODBC數據源管理器”設置數據源。
例如:
<%
DIMdb ‘聲明一個實例變量
Set db=Server.Createobject(“ADODB.Connection”)
db.Open “wwwlink”‘打開數據源wwwlink
% >
(2)不用數據源的連接方法。
使用數據源的連接方式盡管簡單,但是需要在服務器端設置數據源。如果希望把程
序從一個服務器移植到另一個服務器上,還需要在另一臺服務器上設置數據源,比較麻
煩。我們可以直接通過程序代碼書寫連接語句,利用OLE DB的方法直接連接數據庫。
例如:
<%
DIMdb‘聲明一個實例變量
Set db=Server.Createobject(“ADODB.Connection”)
db.Open “Dbq=” Server.Mappath(“wwwlink.mdb”) ”;Driver={Microsoft Access Driver (*.mdb)}”‘直接通過程序代碼書寫連接語句
%>
Server對象的Mappath方法可以將虛擬路徑轉化為物理路徑,使用此方法以后,如果將程序從一個服務器移植到另一個服務器,既不需要設置數據源,也不需要修改數據庫文件的物理路徑,非常方便。
5 運行環境的選擇
ASP文件是在服務器端運行的。ASP的運行環境一般可以選擇:
(1)Windows 2000 + IIS 5.0
(2)Windows XP+ IIS 5.0(家庭版不支持)
(3)Windows 98+ PWS 4.0
(4)Windows NT 4.0 + Windows NT Option Pack
由于IIS是與Windows 2000 Server集成的Web服務器,當Windows 2000 Server安裝完畢,IIS也就安裝上了,直接就可以使用IIS提供的全Internet服務了,而Windows 2000 Professional、Windows XP Professional、Windows 98、Windows NT 4.0等操作系統都需要另外安裝。比較而言Windows 2000 Server或Windows 2000 Advance Server更方便,更穩定,更實用,是開發ASP最好的選擇。
6 開發的基本流程
(1)HTML靜態頁面設計。
動態頁面是將程序鑲嵌在HTML靜態頁面中,所以必須在添加程序之前完成靜態頁面的設計,這樣在編寫和調試程序時才可以有的放矢,使開發過程更順利。
(2)編寫Web應用程序。
根據Web應用程序的需求,構建應用程序中的數據結構,這是在整個程序編寫過成中非常重要的環節,只有數據結構合理才能使程序的編寫省時省力。
(3)調試應用程序。
在編好的程序中總會出現這樣或那樣的錯誤,這就需要用戶運行Web應用程序,從瀏覽器中找出其中的錯誤,然后再對應用程序進行修改,最終改正錯誤,普通的HTML頁面不用服務器就可以顯示,而動態的頁面必須有服務器的編譯才能顯示。
7 程序開發的心態
由于動態網頁開發涉及的面非常廣,需要學習的內容非常多,一定要冷靜,不要急躁,用平常心對待在開發過程中出現的任何問題,始終保持愉快的心情去做愉快的事情。遇到困難時不要輕易放棄,任何時候都不要對自己失去信心。不要急于求成,不要求大求全,要循序漸進,盡量避免少走彎路,多和有經驗的開發者進行交流,積極吸取他們的成功經驗。剛開始的時候,最好先從小的系統開始做起,最好可以將小的系統應用到實際應用當中去,麻雀雖小,但五臟俱全,通過小系統的開發可以幫助你積累開發經驗。好的界面等于成功了一大半,所以系統的界面設計至關重要,如果你對設計界面沒有信心,不妨先到internet上多轉轉,互聯網上有很多簡潔、美觀、大方的網頁,可以借鑒學習,界面不需要過分的華麗復雜,以實用為主,一定要對自己充滿信心。當然,在界面的設計上不要花費太多的時間,不要一直停留在靜態網頁的制作上,適可而止,網頁的動態部分可以使你的網頁功能更加強大,更加實用。
8 結束語
實踐出真知,只有不斷的實踐才有可能取得不斷的進步,I do I can,相信自己,一切都不難,只要用心,只要努力就一定會成功。
參考文獻:
[1] 張固,汪曉平,等. ASP網絡應用系統典型模塊開發實例解析[M].北京:人民郵電出版社2004.7.
[2] 尚俊杰 網絡程序設計 ——ASP(第2版)[M].北京:清華大學出版社 2004.2.
[3] 孫連三,汪孝宜,等.Dreamweaver MX中文版自學手冊[M].北京:人民郵電出版社 2003.11.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文