?

淺析動態We b數據庫應用

2013-04-13 07:21黃金華
科技視界 2013年10期
關鍵詞:服務器端瀏覽器網頁

黃金華

(龍巖技師學院,福建 龍巖 364000)

隨著社會經濟的快速發展,企業、機關、社會各單位之間數據交換的日漸頻繁,對交換的數據量、交換的速度、交換的安全性等性能的要求也越來越高。目前,只有動態的數據交互才可以滿足信息不斷變化的時代,隨著應用技術的需求變化,靜態數據交互技術漸漸的退出了信息技術的舞臺。筆者根據多年的教學體會,簡要分析幾種比較流行的Web動態數據庫交互的技術,以及它們的使用方法;共同行們參考。

1 動態Web數據庫

網絡技術的發展,也使計算機Web系統由以前的靜態跨度到動態。程序是否需要在服務器端運行,這是判斷一個系統是動態系統還是靜態系統的重要標志。我們經??吹降膆tml頁面就是個靜態頁面文件。它的特點是頁面的內容不會改變,GIF格式的動畫、FLASH、滾動文字等,這些只是視覺上的“動態效果”,與我們這里要涉及的動態Web是不同的概念。

動態Web是指在遠程服務器上運行的程序、它們會隨客戶的不同需求、不同時間返回不同的內容。如果遠程服務程序需要的業務數據是專門的數據庫來管理,并提供訪問、維護的,這種情形就是動態Web數據庫。目前比較流行的動態Web技術有ASP、ASPX(ASP的擴展)、PHP、JSP。它們都提供專門的對象或者函數與數據庫之間交互。

2 動態Web數據庫應用技術

2.1 ASP 網絡開發技術

ASP(Active Server Page),即為動態服務器頁面。CGI(Common Gateway Interface)是用于定義Web服務器與外部程序之間通信的標準,它能夠生成動態網頁內容,效率比較高,性能比較好,但是開發的難度很大。為了能夠降低開發的難度,微軟公司開發了ASP技術,用它代替先前的CGI腳本程序,通過ASP這個中間媒介,其它程序可以很好的與數據庫和進行通信,而且它性能高,開發難度低,是一種簡單、方便的編程工具。ASP網頁是以.asp作為文件后綴名的,由于這種技術簡單,方便,所以現在常被用于各種動態網站中。 當客戶端瀏覽器向Web服務器端發送一個.asp頁面請求的時候,IIS會根據請求的頁面是.asp了,還是其它文件,如果是.asp,IIS會調用相應的組件去解析這個請求的.asp文件,把它通過轉換,把它生成瀏覽器識別的HTML標記?;谏鲜鲞^程,我們在商業網站中,我們可以在.asp中包含COM組件來處理商業業務,而這樣做即安全,也不會降低性能。除了嵌入COM組件外,還可以包含HTML標記、普通文本、腳本命令,通過對這些技術的組合使用,我們可以生成動態的HTML網頁,根據業務的變化生成不同的用戶界面。ASP網頁與HTML相比,它擁有以下特點:

(1)首先ASP技術可以突破靜態網頁功能限制,比如說動態界面,動態數據填充,實現動態網頁技術;

(2)在開發與應用過程中,ASP文件被包含在HTML代碼所組成的文件中的,修改和測試都比較方便;

(3)服務器上IIS可以通過.asp后綴名來調用相應的組件去解析ASP文件,并將結果以HTML格式傳送到客戶端瀏覽器上,因此各種瀏覽器都可以正常瀏覽ASP所產生的網頁;

(4)ASP技術提供了一些內置對象,使用這些對象可以訪問服務器的信息,比如服務器的IP地址,也可以從web瀏覽器中得到用戶通過HTML表單提交的信息;

(5)ASP技術可以使用服務器端的各種COM組件來完成商務邏輯任務;

(6)ASP技術的安全性高,因為它是二次解析過的程序,源代碼不會被泄露。

ASP主要用途是使客戶端與服務器端進行動態的交互,而目前的商業數據大多都存儲在數據庫中。根據實際情況,ASP Web常用的數據庫有ACCESS和SQLServer,如果數據量相當大的使用Oracle,通常情況下都使用SQL Server作為服務器端的數據庫。

為了能夠使客戶端與服務器端進行數據交互。ASP技術中提供了DatabaseAccess組件ADO。通過訪問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集合提供訪問數據庫時的錯誤信息,這個對象可以為客戶提供友好交互體驗。

為了能夠使用COM組件中的對象,ASP提供了幾個內置對象,Application對象,Session對象,Request對象,Response對象還有Sever對象等。通過對這幾個內置對象的使用來完成數據的交互功能。由于這些對象提供的功能比較豐富,下面只列舉一種通過Server對象訪問數據庫的方法。

(1)創建連接對象

connObject=Server.CreateObject(“ADODB.Connection”);

connObject.Open(“DataSource”);//DataSource 為數據源

(2)創建 Command 對象

strSql= “DELETE file_Name FROM TABLE_NAME;”;

commObject=Server.CreateCommand(“ADODB.Command”);

commObject.CommandText=strSql;

commObject.ActiveConnection=connObject;

(3)執行命令

commObject.Excute();

(4)關閉連接

connObject.Close();

2.2 JSP 網絡開發技術

JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。在客戶在瀏覽器端訪問JSP頁面時,瀏覽器會把該請求發送到Web服務器端。Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序段,然后將執行結果連同JSP文件中的HTML代碼一起返回給客戶。

JSP中的Java程序段可以操作數據庫、重新定向網頁等,以實現建立動態網頁所需要的功能。像ASP一樣,JSP也提供了些內置對象,Java程序通過這些內置對象與其它的應用程序交互信息 (比如瀏覽器、數據庫)。request對象,該對象封裝了用戶提交的信息,通過調用該對象相應的方法可以獲取封裝的信息,即使用該對象可以獲取用戶提交信息。

response對象,對客戶的請求做出動態的響應,向客戶端發送數據。

session對象,標示一個唯一的客戶端與服務器端的會話。

除了利用這些對象來管理頁面,得到用戶登陸數據外,還需要與數據庫交互,JSP與數據庫交互是利用Java語言提供的類來與數據庫交互的,比如數據庫的鏈接是使用Java中的JDBC技術。

2.3 PHP 網絡開發技術

PHP(Hypertext Preprocessor)超級文本預處理語言的縮寫。PHP是一種HTML內嵌式的語言。它與ASP技術有幾分相似,都是為了使客戶端與服務器端動態交互而被開發出來的一種技術語言。PHP語言的風格有類似于C語言,跨平臺,既可以用于Window平臺,也可以用于Linux平臺,被很多的網站編程人員所推崇。

PHP是目前最熱門的Web開發語言,它簡單高效、開源免費、跨平臺等特性受到廣大Web開發人員的歡迎。與PHP經常搭配的數據庫管理器是MySQL。它像WINDOWS API一樣提供了很多接口,可以動態的訪問數據庫。比較常用的幾個函數是:mysql_connect():用于連接數據庫;mysql_query():用于執行SQL命令;mysql_select_db()用于查詢數據庫;還有mysql_close():用于關閉連接。PHP使用起來簡單,通過這幾個函數的使用,就能夠很好的于數據庫進行交互,實現動態功能。

2.4 動態Web數據庫應用設計

2.4.1 動態Web的體系結構設計

在軟件開發過程中,在前期除了做好需求分析外,還需要考慮的是整個軟件系統的架構。目前比較流行的架構有過濾器風格體系結構、黑板倉庫風格體系結構、事件風格體系結構、多層風格的體系結構、瘦客戶端風格。動態Web數據庫采用瘦客戶端與多層體系結構風格相結合的方式。這種結構實際應用比較多、安全、穩定、易擴展。

圖1 三層B/S模式Web數據庫系統結構

三層B/S模式是從傳統胖客戶端C/S模式發展起來的新的Web模式。由于采用多層體系結構,B/S結構包括客戶層、中間層和數據服務層。三層B/S模式Web數據庫系統結構如圖1所示。在實際應用中,這種系統結構使得網路傳輸的負擔減輕、使得數據的安全性增加、增強了系統業務的擴展性同時精簡了系統的維護。

2.4.2 動態Web數據庫應用

在實際的應用中,Web數據庫只是一個大型的系統架構中的一個模塊,這個模塊與其它業務模塊關聯,它有效的存儲數據(一般情況下是對某一個系統的業務模型數據)。它們之間的關系如圖2所示:

圖2 Web數據庫應用架構

這是整個Web數據庫應用的核心基礎架構。由于業務不同,涉及到的數據也不同,對于比較敏感的數據在實際應用中一般都用安全性比較高的獨立服務器,在該服務器上運行的數據庫的設置都比較復雜。在該結構中,連接池是為了提升性能(如并發訪問)而設計的,如果采用ASP技術,在該連接池中存儲的是多個連接對象,也就是Connection對象。業務協議是從業務處理群中發過來的,在一般的系統中,它可能是一個SQL句,但是在大型系統中,為了提升性能,一般把SQL句寫成存儲過程,而存儲在數據庫中,而業務協議只是存儲過程的標號,并通過業務分發機制去連接相應的數據庫,并且把數據返回給業務處理群。業務處理群得到數據后,可以利用系統對象(如果是ASP則為Session、Application對象或其它)作額外的系統業務處理。最終把處理后的結果通過信息服務器返回給客戶端瀏覽器。

3 總結

動態Web數據庫技術是目前企業或者是政府機關搭建信息平臺時經常用到得技術。在這些技術中,主流的是JSP與ASP。由于Java語言的跨平臺性強導致了JSP可以跨平臺實現,在這方面ASP技術就顯得有些局限性。但是無論選用什么樣的技術,動態Web數據庫的在實際開發應用中的體系架構是不會改變的,業務邏輯是不會改變的。用軟件行業的一句話來說就是“語言只是對程序設計的描述,一種設計可以用多種語言來實現”。只有不斷的將應用技術改造、創新、升級,才能滿足和適應社會經濟發展的需要創造出更多更大的價值。

猜你喜歡
服務器端瀏覽器網頁
Linux環境下基于Socket的數據傳輸軟件設計
反瀏覽器指紋追蹤
基于CSS的網頁導航欄的設計
淺析異步通信層的架構在ASP.NET 程序中的應用
基于URL和網頁類型的網頁信息采集研究
基于Qt的安全即時通訊軟件服務器端設計
環球瀏覽器
網頁制作在英語教學中的應用
10個必知的網頁設計術語
網頁防篡改中分布式文件同步復制系統
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合