• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      黃金華

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ASP主要用途是使客戶端與服務(wù)器端進(jìn)行動態(tài)的交互,而目前的商業(yè)數(shù)據(jù)大多都存儲在數(shù)據(jù)庫中。根據(jù)實際情況,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組件的七個對象和四個集合來訪問數(shù)據(jù)庫。它們分別是:

      (1)Connection對象是用于建立與后臺數(shù)據(jù)庫的連接,實際開發(fā)中需要創(chuàng)建連接池對象。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      除了利用這些對象來管理頁面,得到用戶登陸數(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)超級文本預(yù)處理語言的縮寫。PHP是一種HTML內(nèi)嵌式的語言。它與ASP技術(shù)有幾分相似,都是為了使客戶端與服務(wù)器端動態(tài)交互而被開發(fā)出來的一種技術(shù)語言。PHP語言的風(fēng)格有類似于C語言,跨平臺,既可以用于Window平臺,也可以用于Linux平臺,被很多的網(wǎng)站編程人員所推崇。

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

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

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

      在軟件開發(fā)過程中,在前期除了做好需求分析外,還需要考慮的是整個軟件系統(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)格。動態(tài)Web數(shù)據(jù)庫采用瘦客戶端與多層體系結(jié)構(gòu)風(fēng)格相結(jié)合的方式。這種結(jié)構(gòu)實際應(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所示。在實際應(yīng)用中,這種系統(tǒng)結(jié)構(gòu)使得網(wǎng)路傳輸?shù)呢?fù)擔(dān)減輕、使得數(shù)據(jù)的安全性增加、增強(qiáng)了系統(tǒng)業(yè)務(wù)的擴(kuò)展性同時精簡了系統(tǒng)的維護(hù)。

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

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

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

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

      3 總結(jié)

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

      猜你喜歡
      服務(wù)器端瀏覽器網(wǎng)頁
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計
      電子制作(2018年10期)2018-08-04 03:24:38
      淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
      成功(2018年10期)2018-03-26 02:56:14
      基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
      電子制作(2017年2期)2017-05-17 03:54:56
      環(huán)球瀏覽器
      再見,那些年我們嘲笑過的IE瀏覽器
      網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
      電子測試(2015年18期)2016-01-14 01:22:58
      在Windows中安裝OpenVPN
      10個必知的網(wǎng)頁設(shè)計術(shù)語
      網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
      舒兰市| 萨迦县| 庆安县| 昌平区| 津南区| 云梦县| 龙门县| 和静县| 镇远县| 永靖县| 东阿县| 新宁县| 林甸县| 蒲城县| 台东市| 金堂县| 凭祥市| 孟州市| 江都市| 松滋市| 惠来县| 高雄县| 巴中市| 通许县| 泗洪县| 女性| 玉溪市| 寿光市| 修文县| 招远市| 新田县| 咸阳市| 泰安市| 丹凤县| 贺兰县| 龙山县| 渝中区| 固安县| 云浮市| 梁平县| 二连浩特市|