国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺析動(dòng)態(tài)We b數(shù)據(jù)庫應(yīng)用

2013-04-13 07:21黃金華
科技視界 2013年10期
關(guān)鍵詞:服務(wù)器端瀏覽器網(wǎng)頁

黃金華

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

隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,企業(yè)、機(jī)關(guān)、社會(huì)各單位之間數(shù)據(jù)交換的日漸頻繁,對(duì)交換的數(shù)據(jù)量、交換的速度、交換的安全性等性能的要求也越來越高。目前,只有動(dòng)態(tài)的數(shù)據(jù)交互才可以滿足信息不斷變化的時(shí)代,隨著應(yīng)用技術(shù)的需求變化,靜態(tài)數(shù)據(jù)交互技術(shù)漸漸的退出了信息技術(shù)的舞臺(tái)。筆者根據(jù)多年的教學(xué)體會(huì),簡(jiǎn)要分析幾種比較流行的Web動(dòng)態(tài)數(shù)據(jù)庫交互的技術(shù),以及它們的使用方法;共同行們參考。

1 動(dòng)態(tài)Web數(shù)據(jù)庫

網(wǎng)絡(luò)技術(shù)的發(fā)展,也使計(jì)算機(jī)Web系統(tǒng)由以前的靜態(tài)跨度到動(dòng)態(tài)。程序是否需要在服務(wù)器端運(yùn)行,這是判斷一個(gè)系統(tǒng)是動(dòng)態(tài)系統(tǒng)還是靜態(tài)系統(tǒng)的重要標(biāo)志。我們經(jīng)??吹降膆tml頁面就是個(gè)靜態(tài)頁面文件。它的特點(diǎn)是頁面的內(nèi)容不會(huì)改變,GIF格式的動(dòng)畫、FLASH、滾動(dòng)文字等,這些只是視覺上的“動(dòng)態(tài)效果”,與我們這里要涉及的動(dòng)態(tài)Web是不同的概念。

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

2 動(dòng)態(tài)Web數(shù)據(jù)庫應(yīng)用技術(shù)

2.1 ASP 網(wǎng)絡(luò)開發(fā)技術(shù)

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

(1)首先ASP技術(shù)可以突破靜態(tài)網(wǎng)頁功能限制,比如說動(dòng)態(tài)界面,動(dòng)態(tài)數(shù)據(jù)填充,實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁技術(shù);

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

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

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

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

(6)ASP技術(shù)的安全性高,因?yàn)樗嵌谓馕鲞^的程序,源代碼不會(huì)被泄露。

ASP主要用途是使客戶端與服務(wù)器端進(jìn)行動(dòng)態(tài)的交互,而目前的商業(yè)數(shù)據(jù)大多都存儲(chǔ)在數(shù)據(jù)庫中。根據(jù)實(shí)際情況,ASP Web常用的數(shù)據(jù)庫有ACCESS和SQLServer,如果數(shù)據(jù)量相當(dāng)大的使用Oracle,通常情況下都使用SQL Server作為服務(wù)器端的數(shù)據(jù)庫。

為了能夠使客戶端與服務(wù)器端進(jìn)行數(shù)據(jù)交互。ASP技術(shù)中提供了DatabaseAccess組件ADO。通過訪問ADO組件的七個(gè)對(duì)象和四個(gè)集合來訪問數(shù)據(jù)庫。它們分別是:

(1)Connection對(duì)象是用于建立與后臺(tái)數(shù)據(jù)庫的連接,實(shí)際開發(fā)中需要?jiǎng)?chuàng)建連接池對(duì)象。

(2)Command對(duì)象是用于執(zhí)行訪問數(shù)據(jù)庫的SQL指令。

(3)Parameters對(duì)象和Parameters集合是為Command對(duì)象提供數(shù)據(jù)和參數(shù)。

(4)RecordSet對(duì)象是為存放訪問數(shù)據(jù)庫后的數(shù)據(jù)信息。

(5)Field對(duì)象和Field集合提供對(duì)RecordSet中當(dāng)前記錄的各個(gè)字段進(jìn)行訪問。

(6)Property對(duì)象和Properties集合提供有關(guān)信息,供 Connection、Command、RecordSet、Field 對(duì)象使用。

(7)Error對(duì)象和Errors集合提供訪問數(shù)據(jù)庫時(shí)的錯(cuò)誤信息,這個(gè)對(duì)象可以為客戶提供友好交互體驗(yàn)。

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

(1)創(chuàng)建連接對(duì)象

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

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

(2)創(chuàng)建 Command 對(duì)象

strSql= “DELETE file_Name FROM TABLE_NAME;”;

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

commObject.CommandText=strSql;

commObject.ActiveConnection=connObject;

(3)執(zhí)行命令

commObject.Excute();

(4)關(guān)閉連接

connObject.Close();

2.2 JSP 網(wǎng)絡(luò)開發(fā)技術(shù)

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

JSP中的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。像ASP一樣,JSP也提供了些內(nèi)置對(duì)象,Java程序通過這些內(nèi)置對(duì)象與其它的應(yīng)用程序交互信息 (比如瀏覽器、數(shù)據(jù)庫)。request對(duì)象,該對(duì)象封裝了用戶提交的信息,通過調(diào)用該對(duì)象相應(yīng)的方法可以獲取封裝的信息,即使用該對(duì)象可以獲取用戶提交信息。

response對(duì)象,對(duì)客戶的請(qǐng)求做出動(dòng)態(tài)的響應(yīng),向客戶端發(fā)送數(shù)據(jù)。

session對(duì)象,標(biāo)示一個(gè)唯一的客戶端與服務(wù)器端的會(huì)話。

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

2.3 PHP 網(wǎng)絡(luò)開發(fā)技術(shù)

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

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

2.4 動(dòng)態(tài)Web數(shù)據(jù)庫應(yīng)用設(shè)計(jì)

2.4.1 動(dòng)態(tài)Web的體系結(jié)構(gòu)設(shè)計(jì)

在軟件開發(fā)過程中,在前期除了做好需求分析外,還需要考慮的是整個(gè)軟件系統(tǒng)的架構(gòu)。目前比較流行的架構(gòu)有過濾器風(fēng)格體系結(jié)構(gòu)、黑板倉庫風(fēng)格體系結(jié)構(gòu)、事件風(fēng)格體系結(jié)構(gòu)、多層風(fēng)格的體系結(jié)構(gòu)、瘦客戶端風(fēng)格。動(dòng)態(tài)Web數(shù)據(jù)庫采用瘦客戶端與多層體系結(jié)構(gòu)風(fēng)格相結(jié)合的方式。這種結(jié)構(gòu)實(shí)際應(yīng)用比較多、安全、穩(wěn)定、易擴(kuò)展。

圖1 三層B/S模式Web數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)

三層B/S模式是從傳統(tǒng)胖客戶端C/S模式發(fā)展起來的新的Web模式。由于采用多層體系結(jié)構(gòu),B/S結(jié)構(gòu)包括客戶層、中間層和數(shù)據(jù)服務(wù)層。三層B/S模式Web數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)如圖1所示。在實(shí)際應(yīng)用中,這種系統(tǒng)結(jié)構(gòu)使得網(wǎng)路傳輸?shù)呢?fù)擔(dān)減輕、使得數(shù)據(jù)的安全性增加、增強(qiáng)了系統(tǒng)業(yè)務(wù)的擴(kuò)展性同時(shí)精簡(jiǎn)了系統(tǒng)的維護(hù)。

2.4.2 動(dòng)態(tài)Web數(shù)據(jù)庫應(yīng)用

在實(shí)際的應(yīng)用中,Web數(shù)據(jù)庫只是一個(gè)大型的系統(tǒng)架構(gòu)中的一個(gè)模塊,這個(gè)模塊與其它業(yè)務(wù)模塊關(guān)聯(lián),它有效的存儲(chǔ)數(shù)據(jù)(一般情況下是對(duì)某一個(gè)系統(tǒng)的業(yè)務(wù)模型數(shù)據(jù))。它們之間的關(guān)系如圖2所示:

圖2 Web數(shù)據(jù)庫應(yīng)用架構(gòu)

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

3 總結(jié)

動(dòng)態(tài)Web數(shù)據(jù)庫技術(shù)是目前企業(yè)或者是政府機(jī)關(guān)搭建信息平臺(tái)時(shí)經(jīng)常用到得技術(shù)。在這些技術(shù)中,主流的是JSP與ASP。由于Java語言的跨平臺(tái)性強(qiáng)導(dǎo)致了JSP可以跨平臺(tái)實(shí)現(xiàn),在這方面ASP技術(shù)就顯得有些局限性。但是無論選用什么樣的技術(shù),動(dòng)態(tài)Web數(shù)據(jù)庫的在實(shí)際開發(fā)應(yīng)用中的體系架構(gòu)是不會(huì)改變的,業(yè)務(wù)邏輯是不會(huì)改變的。用軟件行業(yè)的一句話來說就是“語言只是對(duì)程序設(shè)計(jì)的描述,一種設(shè)計(jì)可以用多種語言來實(shí)現(xiàn)”。只有不斷的將應(yīng)用技術(shù)改造、創(chuàng)新、升級(jí),才能滿足和適應(yīng)社會(huì)經(jīng)濟(jì)發(fā)展的需要?jiǎng)?chuàng)造出更多更大的價(jià)值。

猜你喜歡
服務(wù)器端瀏覽器網(wǎng)頁
Linux環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設(shè)計(jì)
反瀏覽器指紋追蹤
基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計(jì)
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
基于Qt的安全即時(shí)通訊軟件服務(wù)器端設(shè)計(jì)
環(huán)球?yàn)g覽器
網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
10個(gè)必知的網(wǎng)頁設(shè)計(jì)術(shù)語
網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
三台县| 岐山县| 宁安市| 衡山县| 鄂尔多斯市| 江阴市| 达日县| 阳谷县| 金秀| 吴江市| 台江县| 中阳县| 法库县| 济源市| 宾川县| 新平| 新闻| 阿克| 航空| 林周县| 湖南省| 东乌珠穆沁旗| 郑州市| 武义县| 洛南县| 临沂市| 荃湾区| 开江县| 馆陶县| 漯河市| 徐水县| 二连浩特市| 慈利县| 紫金县| 沙湾县| 东城区| 大丰市| 新安县| 依兰县| 藁城市| 密云县|