999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JSP與XML的電子商務(wù)站點

2007-01-01 00:00:00
商場現(xiàn)代化 2007年4期

[摘要] 本文比較了電子商務(wù)網(wǎng)站的各種編程技術(shù),指出了JSP的特點。指出了XML技術(shù)在內(nèi)容定義和數(shù)據(jù)定義方面的優(yōu)越性。論述了JSP和XML相結(jié)合的主要方法和現(xiàn)有的技術(shù),指出了數(shù)據(jù)庫技術(shù)對XML的支持以及XML和數(shù)據(jù)庫技術(shù)的交互方法。

[關(guān)鍵詞] JSPXML數(shù)據(jù)庫電子商務(wù)

隨著Internet技術(shù)的進(jìn)步和應(yīng)用領(lǐng)域的不斷擴(kuò)展,使得電子商務(wù)具有更加堅實的技術(shù)基礎(chǔ)和良好的應(yīng)用前景。JSP和XML技術(shù)在構(gòu)建電子商務(wù)站點上有其獨特的優(yōu)越性。

一、Web服務(wù)器編程技術(shù)比較

要構(gòu)建一個電子商務(wù)網(wǎng)站,首先就是要對外發(fā)布其Web網(wǎng)頁,而靜態(tài)的HTML網(wǎng)頁已經(jīng)不能滿足網(wǎng)絡(luò)交互性的要求。而通過發(fā)布動態(tài)網(wǎng)頁,可以避免在客戶端安裝專門的應(yīng)用程序,只需要在客戶端有一個Web瀏覽器即可,而且服務(wù)程序的改動對于每個客戶端來說都是透明的,不需要重新設(shè)置客戶端的狀態(tài)或安裝客戶端程序。CGI、ASP、PHP以及JSP都是現(xiàn)階段非常流行的動態(tài)網(wǎng)頁編程技術(shù)。

1.CGI

CGI(Common Gateway Interface:通用網(wǎng)關(guān)接口)是Web服務(wù)器與CGI應(yīng)用程序之間進(jìn)行通訊的協(xié)議。CGI程序需要讀入一長串的字符串,然后解析字符串,從中得到數(shù)據(jù),這樣便會在解讀字符串上要消耗比較多的時間。而且,對于每個新用戶的CGI服務(wù),都會在Web服務(wù)器上產(chǎn)生新的進(jìn)程,當(dāng)用戶數(shù)量急劇增加時,Web服務(wù)器的負(fù)擔(dān)將非常沉重,整體性能下降很快。另外,CGI程序在改動后,需要重新編譯,這些都限制了CGI的應(yīng)用。

2.ASP

ASP(Active Server Pages)是一個Web服務(wù)器端的開發(fā)環(huán)境。ASP以及PHP、JSP都是在HTML代碼中混合某種程序代碼,由語言引擎解釋執(zhí)行程序代碼,而由HTML代碼負(fù)責(zé)信息的發(fā)布樣式。當(dāng)用戶在客戶端通過訪問Web頁面,向服務(wù)器發(fā)送消息時,程序代碼的在服務(wù)器端執(zhí)行,結(jié)果被重新嵌入到HTML代碼中,然后一起返回給客戶端瀏覽器。ASP采用的腳本語言是VBScript或者JavaScript。但是,ASP只能在微軟的服務(wù)器產(chǎn)品上實現(xiàn),這樣就限制了ASP的可移植性。

3.PHP

PHP(Hypertext Preprocessor)可在Windows、Unix、Linux的Web服務(wù)器上正常執(zhí)行,用戶在更換服務(wù)器平臺時不需要變換PHP代碼,可移植性好。PHP有很多實現(xiàn)與數(shù)據(jù)庫相連接的函數(shù),也可以編寫外部函數(shù)去間接存取數(shù)據(jù)庫,利用PHP可以很方便地修改編碼來適應(yīng)數(shù)據(jù)庫的變化。但是,對于負(fù)荷較大的電子商務(wù)站點,PHP缺乏多層結(jié)構(gòu)支持和規(guī)模支持,數(shù)據(jù)庫接口也不夠統(tǒng)一。

4.JSP

JSP(Java Server Page)的內(nèi)置腳本語言是基于Java的程序設(shè)計語言。JSP的引擎負(fù)責(zé)將JSP頁面翻譯成Servlet代碼(.java文件),而后再編譯成Servlet可執(zhí)行文件(.class文件)。JSP引擎接收客戶端對JSP頁面的請求,并且生成JSP頁面返回給客戶端。

JSP具有Java技術(shù)特點。可移植性強,“只寫一次,各處執(zhí)行”,在Wndows、Unix、Linux等各種平臺上的程序移植可不需要改動代碼,直接運行。并且,由于Java的完全面向?qū)ο蟮臋C(jī)制,使JSP具有良好的安全性。

JSP技術(shù)強調(diào)可重用的群組件。基于組件的方法可以加速總體開發(fā)過程,節(jié)約開發(fā)時間和成本。

JSP程序員可以使用JSP標(biāo)識或者小腳本來產(chǎn)生頁面上的動態(tài)內(nèi)容,采用HTML或者XML標(biāo)識來設(shè)計和格式化頁面。這種內(nèi)容與現(xiàn)實分離的機(jī)制,既可以保護(hù)代碼的安全性,又可以保證Web瀏覽器的可用性。并且,通過開發(fā)定制的標(biāo)識庫,可以很容易地來擴(kuò)展JSP功能。這樣既減小了系統(tǒng)開發(fā)的難度,又大大增加了系統(tǒng)的可擴(kuò)展性。

JSP頁面僅在第一次被執(zhí)行時需要編譯成Servlet,以后客戶端進(jìn)行瀏覽和執(zhí)行時無需再次編譯,可以直接運行,這樣避免了服務(wù)器端運行時的語法分析,從而提高了系統(tǒng)響應(yīng)的速度。

所以,JSP技術(shù)可以實現(xiàn)功能強大的站點,JSP在開發(fā)電子商務(wù)網(wǎng)站,尤其是大型電子商務(wù)網(wǎng)站上有其獨特的優(yōu)越性。

二、XML技術(shù)在電子商務(wù)應(yīng)用中優(yōu)勢

XML(eXtensible Markup Language:可擴(kuò)展的標(biāo)識語言)是用來定義文檔標(biāo)識語言的框架,主要用來定義、存儲和發(fā)送數(shù)據(jù)信息,以使各種基于Web應(yīng)用之間能更方便的交換數(shù)據(jù)。它與HTML技術(shù)的主要不同點在于XML的標(biāo)識描述的是數(shù)據(jù)自身的結(jié)構(gòu)而不包含格式信息,而HTML的標(biāo)識設(shè)置了數(shù)據(jù)的格式。

XML文件是純粹的文本文件,并且是W3C(World Wide Web Consortium:萬維網(wǎng)聯(lián)盟)推薦的Internet標(biāo)準(zhǔn)。因此,無論什么樣的操作系統(tǒng)、編程語言等都可以接收、發(fā)送和識別。

XML支持用戶標(biāo)識,允許文檔復(fù)雜性嵌套級別到任意一級,這就使得具有良好的可擴(kuò)展性。

XML具有瀏覽器自適應(yīng)性。當(dāng)瀏覽器同時使用不同的信息源時,以及文檔在不同平臺的顯示樣式不同時,XML具有優(yōu)勢。

XML利用了一個DTD(Document Type Definition:文件類型定義)規(guī)范,用來定義XML文件的語法、句法和數(shù)據(jù)結(jié)構(gòu)的標(biāo)準(zhǔn)。這種結(jié)構(gòu)化信息模式可以允許不同格式數(shù)據(jù)進(jìn)行交換。并且現(xiàn)階段有很多現(xiàn)成的技術(shù)和標(biāo)準(zhǔn)來定義、處理以及轉(zhuǎn)換XML文檔。

利用XML技術(shù)還可以在客戶端處理消息,從而提高整個系統(tǒng)的效率。

XML在內(nèi)容定義和數(shù)據(jù)交換上的重要特性,使得XML在不同的系統(tǒng)和組織之間交互數(shù)據(jù)非常有效。因此,無論是B2C(商務(wù)—消費者),B2E(商務(wù)—企業(yè)),還是B2B(商務(wù)—商務(wù))的電子商務(wù)解決方案,XML都是進(jìn)行內(nèi)容定義和數(shù)據(jù)交換的有效途徑。

三、JSP與XML結(jié)合技術(shù)

JSP用來創(chuàng)建應(yīng)用程序服務(wù)器端程序;XML用來定義和描述數(shù)據(jù),并在服務(wù)器與系統(tǒng)的其余部分之間傳遞數(shù)據(jù)。兩者結(jié)合有利于提高頁面代碼與XML數(shù)據(jù)的分離水平,有利于簡化開發(fā)的復(fù)雜度并且改善組件與頁面代碼的可重用性。

1.JSP與XML的結(jié)合方法

(1)直接使用XML。JSP頁面中可以直接使用XML。例如:通過JSP內(nèi)嵌的Java程序,可以直接調(diào)用一個分析程序來讀寫XML數(shù)據(jù);讀取XML文件并且基于這些數(shù)據(jù)執(zhí)行動作;創(chuàng)建XML文件以發(fā)送數(shù)據(jù)到客戶程序或其他應(yīng)用程序。

(2)使用Java Bean。Java Bean技術(shù)可以使JSP將盡可能多的可重用代碼封裝起來,轉(zhuǎn)變成可重用組件。這樣,就可以達(dá)到最大優(yōu)化JSP代碼的目的。

JSP與Java Bean整合可以自動地把超文本標(biāo)志語言的表單元素翻譯成Java Bean屬性。類XML的標(biāo)識允許JSP頁面訪問Java Bean。可以使用通用的語法分析程序,在單獨的Java Bean里與XML文件交互作用。并且可以在不改動JSP頁面的情況下改變分析程序。此外,Beans還可以使用XSLT來執(zhí)行XML文件的轉(zhuǎn)換。

(3)通過標(biāo)識庫與XML結(jié)合。自定義標(biāo)識庫可以把特定的Java代碼與每個標(biāo)識都關(guān)聯(lián)起來。標(biāo)識庫的描述符是一個包含一個或多個自定義標(biāo)識的XML格式的描述文件。這個文件被稱為TLD(Tag Library Descriptor:標(biāo)識庫描述)。TLD描述自定義標(biāo)識并把它和標(biāo)識處理程序類關(guān)聯(lián)起來。一個標(biāo)識庫德表示可以代替為了完成這段程序的邏輯的相應(yīng)的Java程序代碼。每個標(biāo)識都相當(dāng)于一個相同名稱的Java類。當(dāng)使用標(biāo)識庫時,JSP頁面看上去就非常象XML文件了。當(dāng)JSP頁面被處理時,引擎執(zhí)行與標(biāo)識相關(guān)聯(lián)的程序代碼。

2.解析XML的API

DOM和SAX是SUN公司開發(fā)的兩個解析XML的API。

(1)采用DOM(Document Object Model:文檔對象模型)。XML的數(shù)據(jù)組織為層次的樹型結(jié)構(gòu),樹的節(jié)點是一個個對象。DOM就是對這個樹型結(jié)構(gòu)的每個節(jié)點對象的描述。通過訪問DOM樹和存取節(jié)點對象就能夠達(dá)到解析XML和存取XML文檔的內(nèi)容的目的。

在處理DOM的時候,需要讀入整個XML文檔,然后在內(nèi)存中創(chuàng)建DOM樹,生成DOM樹上的每個節(jié)點對象。當(dāng)文檔很大時,處理DOM將會大量消耗內(nèi)存等資源。

(2)采用SAX(Simple API for XML Paring)。SAX模型與DOM的文檔驅(qū)動不同,SAX是基于事件驅(qū)動的,即通過事件驅(qū)動來識別XML文檔的內(nèi)容。與DOM相比,SAX并不需要讀入整個文檔,文檔的讀入和SAX解析過程是同步進(jìn)行的。

四、XML與數(shù)據(jù)庫技術(shù)的交互

值得注意的是,僅僅依靠XML這樣的文件系統(tǒng)是不夠的。例如,在經(jīng)常要接受用戶更新信息的情況下,文件系統(tǒng)由于缺乏并發(fā)機(jī)制,并不支持同時寫入。而數(shù)據(jù)庫技術(shù)則支持事務(wù)處理,可以進(jìn)行并發(fā)控制。并且,現(xiàn)在流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng)提供復(fù)雜的查詢語句,存取控制策略等強大的功能。各種程序設(shè)計語言也提供了強大的數(shù)據(jù)庫編程功能。

但是,數(shù)據(jù)庫技術(shù)不具備XML靈活輕巧,可擴(kuò)展性好,交互性強的優(yōu)點。這時,我們可以將XML和數(shù)據(jù)庫技術(shù)結(jié)合起來,充分利用這兩者的長處。

現(xiàn)在主流的數(shù)據(jù)庫,如SQL Server、Oracle等,都提供了很多方法和技術(shù)充分支持XML,使之能夠與XML交互數(shù)據(jù)。

1.XML與SQL Server交互

Microsoft SQL Server2000完全支持XML。利用SQL Server,用戶在瀏覽器端輸入一個URI地址,即可訪問SQL Server數(shù)據(jù)庫,而返回的結(jié)果是一個XML文檔。它還允許通過輸入樣式參數(shù)來指定樣式信息,這樣就可以在瀏覽器中輸出豐富的頁面。

2.XML與Oracle交互

Oracle全面支持XML,Oracle數(shù)據(jù)庫實現(xiàn)了許多基于標(biāo)準(zhǔn)的數(shù)據(jù)庫類型和函數(shù),例如,XMLType、XMLAgg、XMLConcat、XMLElement以及XMLForest等,能夠查詢關(guān)系數(shù)據(jù)并且返回XML文檔。對于要求通過其內(nèi)容管理應(yīng)用程序存儲和檢索大量復(fù)雜XML的開發(fā)者來說,Oracle中的XML類型提供導(dǎo)航功能來優(yōu)化性能。Oracle主要提供以下兩種工具來支持基于XML的數(shù)據(jù)庫開發(fā):

(1)提供內(nèi)置的XDK(XML Developer Kit:XML開發(fā)者工具包)。使用這些組件在Oracle 中生成、轉(zhuǎn)換和存儲XML格式的數(shù)據(jù),幫助開發(fā)者迅速用XML來支持其應(yīng)用程序。

(2)將Java XML Developer Kit(J XDK)預(yù)裝到Oracle中,開發(fā)者能夠輕松地利用Java編程語言訪問基于W3C的功能。同時可以看出,由于Oracle對Java的大力支持,在以O(shè)racle作為后端數(shù)據(jù)庫服務(wù)器的網(wǎng)站構(gòu)建中,JSP具有先天的優(yōu)勢。

五、結(jié)論

可以將XML作為前端的編程工具,主要響應(yīng)查詢等不需要大量更新的數(shù)據(jù)請求,以及進(jìn)行企業(yè)間或者企業(yè)與客戶間的數(shù)據(jù)交換;而將大型數(shù)據(jù)庫作為后端,用來存儲海量的數(shù)據(jù)和處理更新;XML與數(shù)據(jù)庫之間利用JSP來實現(xiàn)數(shù)據(jù)聯(lián)系和其他控制。這樣,就可以利用JSP、XML和數(shù)據(jù)庫技術(shù)各自的優(yōu)點,來構(gòu)建技術(shù)先進(jìn)、性能優(yōu)越、交互性強、便于擴(kuò)展的電子商務(wù)站點。

本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。

主站蜘蛛池模板: 人妻丰满熟妇啪啪| 午夜丁香婷婷| yjizz国产在线视频网| 亚洲天堂啪啪| 亚洲无码高清一区二区| 国产一区二区影院| 在线观看网站国产| 亚洲欧美综合另类图片小说区| 亚洲国产综合自在线另类| 免费av一区二区三区在线| 99精品国产高清一区二区| 亚洲 欧美 日韩综合一区| 国产永久免费视频m3u8| 91九色最新地址| 欧美亚洲国产一区| 国产亚洲精品在天天在线麻豆 | 亚洲区一区| 99尹人香蕉国产免费天天拍| 免费在线成人网| 99中文字幕亚洲一区二区| 精品国产成人高清在线| 激情综合五月网| 无码专区在线观看| 欧美日韩综合网| 激情成人综合网| 国产激爽大片在线播放| 99这里只有精品在线| 国产a v无码专区亚洲av| 一级毛片中文字幕| 亚洲人精品亚洲人成在线| 欧美日韩国产高清一区二区三区| 久久6免费视频| 茄子视频毛片免费观看| 国产亚洲精品yxsp| 色呦呦手机在线精品| 5555国产在线观看| 毛片视频网址| 99久久精品国产自免费| 中文字幕在线观看日本| 精品一區二區久久久久久久網站| 欧美一区国产| 欧美日韩va| 免费毛片在线| 伊人久久大香线蕉综合影视| 亚洲欧美国产五月天综合| 日本一区高清| 久久无码av一区二区三区| 青青青视频91在线 | 亚洲第一香蕉视频| 亚瑟天堂久久一区二区影院| 韩国福利一区| 日韩一区精品视频一区二区| 色噜噜久久| Jizz国产色系免费| 国产精品亚洲欧美日韩久久| 高清视频一区| 日韩精品中文字幕一区三区| 91麻豆精品国产91久久久久| 国产精品亚洲一区二区三区在线观看| 在线精品自拍| 国产精品亚洲αv天堂无码| 精品无码一区二区三区电影| 国产成人乱码一区二区三区在线| 久久精品无码国产一区二区三区 | 欧美五月婷婷| 亚洲天堂777| 啊嗯不日本网站| 亚洲日本韩在线观看| 女同国产精品一区二区| 欧美翘臀一区二区三区| 91精品国产丝袜| 国产美女人喷水在线观看| 人人91人人澡人人妻人人爽| 在线毛片网站| 国产精品美女免费视频大全 | 亚洲视屏在线观看| 亚洲欧美精品在线| 色婷婷综合激情视频免费看| 黄片一区二区三区| 九九香蕉视频| 亚洲成A人V欧美综合天堂| 国产99精品久久|