亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        電子商務(wù)中的內(nèi)容發(fā)布技術(shù)研究

        2008-12-31 00:00:00周超峰李也白廖聯(lián)軍張獻(xiàn)春
        電腦知識(shí)與技術(shù) 2008年9期

        摘要:針對(duì)電子商務(wù)應(yīng)用中的網(wǎng)絡(luò)數(shù)據(jù)交互和業(yè)務(wù)集成的需求,利用XML文檔的跨平臺(tái)性實(shí)現(xiàn)數(shù)據(jù)在異質(zhì)系統(tǒng)之間的交換。在Windows平臺(tái)下實(shí)現(xiàn)數(shù)據(jù)從Microsoft Server2000到XML文檔的轉(zhuǎn)換,從而實(shí)現(xiàn)數(shù)據(jù)內(nèi)容和表現(xiàn)形式的完全分離,使用XSL樣式表顯示不同風(fēng)格的頁面。

        關(guān)鍵詞:電子商務(wù);發(fā)布技術(shù);JDOM接口;XML數(shù)據(jù)交換

        中圖分類號(hào):F724文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)09-11603-03

        Research on Technology of Content Publishing in E-Commerce

        ZHOU Chao-feng, LI Ye-bai, LIAO Lian-jun, ZHANG Xian-chun

        (College of Information Engineering, North China University of Technology, Beijing 100041, China)

        Abstract: Base on the needs of network data transport and service integration in E-commerce Web System, realizes data exchange between different systems with XML's promise of cross-platform support for applications. Transform the data from Microsoft Server2000 to the XML documents under the Windows platform, thus realizes the data content and the form complete separation, uses the XSL cascading style sheet to show different styles of pages.

        Key words: E-commerce; publishing technology; JDOM interface; XML data exchange

        1 引言

        內(nèi)容(Content)指各種非結(jié)構(gòu)化或半結(jié)構(gòu)化的數(shù)字資源,不僅指文字資料和數(shù)據(jù),還包括圖片、音頻和視頻等各種信息載體。隨著企業(yè)數(shù)據(jù)成幾何級(jí)數(shù)增長(zhǎng),而這些企業(yè)中有價(jià)值信息,真正能夠以結(jié)構(gòu)化數(shù)據(jù)的形式被數(shù)據(jù)庫管理的部分是非常有限的,而大量的信息都是以非結(jié)構(gòu)化形式散落在企業(yè)的各個(gè)角落,包括企業(yè)的各種報(bào)表、賬單、電子文檔、圖片、傳真,以及大量的多媒體的音頻、視頻信息等等。

        針對(duì)上述存在的問題,本文主要從研究電子商務(wù)中的內(nèi)容發(fā)布技術(shù)角度出發(fā),側(cè)重研究以下內(nèi)容的發(fā)布:網(wǎng)絡(luò)廣告(包含Banner、Button 、通欄、豎邊、巨幅廣告等)是以GIF、JPG、Flash等格式建立的圖像文件,定位在網(wǎng)頁中大多用來表現(xiàn)廣告內(nèi)容;以及與內(nèi)容相結(jié)合的新聞、專題的可定制化、個(gè)性化發(fā)布。與現(xiàn)有的內(nèi)容發(fā)布技術(shù)相比,主要實(shí)現(xiàn):

        對(duì)不同類型的數(shù)據(jù),如圖片、動(dòng)畫、網(wǎng)頁等非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行分類存儲(chǔ)。

        使用XML格式分析器將不同類型數(shù)據(jù)進(jìn)行統(tǒng)一描述。

        設(shè)計(jì)供用戶表現(xiàn)數(shù)據(jù)的XSL樣式表(模版)。

        獲取數(shù)據(jù)的良好表現(xiàn),實(shí)現(xiàn)良好的人機(jī)界面交互。

        2 相關(guān)背景

        在發(fā)布技術(shù)方面,互聯(lián)網(wǎng)絡(luò)的發(fā)展使HTML成為網(wǎng)絡(luò)上應(yīng)用最為廣泛的語言,HTML使用各種定義好的標(biāo)記來分別標(biāo)識(shí)和格式化不同的網(wǎng)頁元素,其簡(jiǎn)單性和易用性,使得Web技術(shù)及其應(yīng)用得到空前的發(fā)展。但是隨著Web應(yīng)用需求的不斷增長(zhǎng),HTML的局限性逐漸顯現(xiàn):由于標(biāo)注的HTML標(biāo)記由W3C預(yù)先確定,不能根據(jù)需要自行定義,所以當(dāng)描述各種復(fù)雜內(nèi)容的文檔時(shí),HTML就顯得力不從心。其次,HTML無法真正實(shí)現(xiàn)數(shù)據(jù)的交互,沒有專門的編程接口來解析數(shù)據(jù),這就限制了它和各種應(yīng)用程序、數(shù)據(jù)庫以及操作系統(tǒng)的交互,對(duì)于不同數(shù)據(jù)格式之間的轉(zhuǎn)換和信息傳遞也束手無策。

        正是由于HTML語言存在交互性差、語義模糊的缺點(diǎn),XML應(yīng)運(yùn)而生。XML具備了HTML的簡(jiǎn)單性的同時(shí)又具有強(qiáng)大的可擴(kuò)展性。與HTML不同的是,XML并不是用于編排內(nèi)容,而是用于描述數(shù)據(jù),用戶可以根據(jù)描述數(shù)據(jù)的需要自己定義各種標(biāo)記。在電子商務(wù)模式中有很多規(guī)范的信息模型采用層次模型,因?yàn)閷哟文P捅阌诿枥L由許多元素和子元素構(gòu)成的數(shù)據(jù)。XML非常適合描述層次模型。一份XML文檔就是由一系列包含內(nèi)容和屬性的元素按層次結(jié)構(gòu)所組成的。XML的靈活性允許它描述不同種類應(yīng)用軟件中的數(shù)據(jù)。同時(shí),由于基于XML的數(shù)據(jù)是自我描述的,數(shù)據(jù)不需要有內(nèi)部描述就能被交換和處理。

        和目前通用的HTML語言相比,XML的優(yōu)點(diǎn)在于:(1)可擴(kuò)展性:縣有良好的可擴(kuò)展性,可根據(jù)應(yīng)用的需要定義新的標(biāo)記;(2)結(jié)構(gòu)化:可采用結(jié)構(gòu)化的方法表示任意復(fù)雜程度的數(shù)據(jù);(3)可驗(yàn)證性:提供了一種機(jī)制以檢查數(shù)據(jù)的結(jié)構(gòu)是否正確;(4)媒體無關(guān)性:能夠以多種格式發(fā)布內(nèi)容;(5)廠商和平臺(tái)獨(dú)立性:能夠用標(biāo)準(zhǔn)的商業(yè)軟件甚至簡(jiǎn)單的文本工具處理任何符合標(biāo)準(zhǔn)的文檔。

        3 系統(tǒng)架構(gòu)

        通常大量的網(wǎng)絡(luò)應(yīng)用都需要對(duì)數(shù)據(jù)庫進(jìn)行存取。目前基于HTML的應(yīng)用都由Web瀏覽器來解釋HTML頁,而由服務(wù)器端

        的應(yīng)用程序(Servlet),如CGI腳本程序來負(fù)責(zé)處理HTML頁上的數(shù)據(jù),完成對(duì)數(shù)據(jù)庫的存取工作。由于XML本身側(cè)重對(duì)數(shù)據(jù)的語義描述,而將數(shù)據(jù)的表示交給了擴(kuò)展樣式語言XSL和客戶端,這就避免了HTML通常將二者混雜在一起,使HTML文檔異常繁瑣而難以分析。因此基于XML的應(yīng)用采取了這種方式(如圖1):通過一個(gè)中間件來實(shí)現(xiàn)數(shù)據(jù)在XML與數(shù)據(jù)庫間的格式轉(zhuǎn)換,這一中間件可以作為客戶端的應(yīng)用工具,也可作為Servlet。再由另外的Servlet負(fù)責(zé)通過XSL對(duì)XML文檔進(jìn)行格式轉(zhuǎn)換和界面設(shè)計(jì)。圖1所給出的應(yīng)用模式主要針對(duì)較大型的網(wǎng)站,因此采用三層服務(wù)器結(jié)構(gòu)將中間件程序和XSL處理器分別交由專門的網(wǎng)絡(luò)應(yīng)用服務(wù)器去運(yùn)行。此外,應(yīng)用服務(wù)器還要完成HTML到XML的格式轉(zhuǎn)換,它實(shí)際上實(shí)現(xiàn)的是XML與HTML間格式的雙向映射。

        XML文檔在Java Servlet中可以通過多種方法生成。最簡(jiǎn)單的方法是以文本的方式生成XML的標(biāo)簽,這種方法最易于實(shí)現(xiàn),但在大型的Web應(yīng)用中,其維護(hù)性和擴(kuò)展性比較差。另一種方式是通過JDOM應(yīng)用接口產(chǎn)生XML文檔,通過JDOM可以很容易地將數(shù)據(jù)庫中獲得的記錄直接轉(zhuǎn)換為XML文檔。

        考慮到可擴(kuò)展標(biāo)記語言eXtensible Markup Language(XML)使得使用者可以以自己定義的格式來描述和構(gòu)造數(shù)據(jù),是一種以文本文件來存儲(chǔ)格式化數(shù)據(jù)的機(jī)制。與HTML的不同體現(xiàn)在XML重點(diǎn)在于對(duì)數(shù)據(jù)的存儲(chǔ),而自身并沒有為數(shù)據(jù)的顯示做處理。通過層疊樣式表CSS(cascading style sheets)和可擴(kuò)展樣式表語言XSL(extensible stylesheet language)技術(shù)來顯示。而XSLT應(yīng)用靈活,生成結(jié)果文件格式的多樣化正好滿足項(xiàng)目對(duì)于內(nèi)容和數(shù)據(jù)存儲(chǔ)的要求。

        使用XML和Java技術(shù)結(jié)合,可以將Web設(shè)計(jì)人員有效進(jìn)行兩層分工:

        第一層為程序代碼設(shè)計(jì)者,主要設(shè)計(jì)Java Servlet,使用JDOM接口技術(shù)從數(shù)據(jù)庫中讀取數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的XML文檔;

        另一層為頁面風(fēng)格設(shè)計(jì)者,主要負(fù)責(zé)設(shè)計(jì)樣式單通過XSL樣式表單將XML文檔以多種風(fēng)格(HTML)向用戶展示。從而達(dá)到內(nèi)容與形式分離,實(shí)現(xiàn)對(duì)應(yīng)工作人員的分工,提高電子商務(wù)企業(yè)發(fā)布效率。

        4 關(guān)鍵技術(shù)及實(shí)現(xiàn)

        基本開發(fā)環(huán)境是Windows Server 2003 操作系統(tǒng),采用的數(shù)據(jù)庫是Microsoft SQL Server2000和Tomcat Web服務(wù)器。開發(fā)語言是Java,使用到XML作為數(shù)據(jù)轉(zhuǎn)換的中間層,使用XSLT語言實(shí)現(xiàn)對(duì)XML數(shù)據(jù)的表示,從而達(dá)到數(shù)據(jù)內(nèi)容和表示的分離。關(guān)鍵技術(shù)如下:

        4.1 使用JDOM實(shí)現(xiàn)數(shù)據(jù)庫到XML文件的數(shù)據(jù)轉(zhuǎn)換

        JDOM是基于樹操作的純Java API,它提供一套用于解析、創(chuàng)建、處理和實(shí)現(xiàn)XML的解決方案。JDOM的內(nèi)部邏輯結(jié)構(gòu)基本上與DOM的相同,比如具有Document、Element、Comment等文檔節(jié)點(diǎn)類型,其中每一個(gè)JDOM文檔必須有一個(gè)Document節(jié)點(diǎn),并且為節(jié)點(diǎn)樹的根節(jié)點(diǎn)。該根節(jié)點(diǎn)可以有子節(jié)點(diǎn)或者葉子節(jié)點(diǎn)如Comment、Text等。JDOM文檔中的每一個(gè)節(jié)點(diǎn)類型均對(duì)應(yīng)格式良好的XML文當(dāng)中的每一個(gè)元素。這也就為我們利用JDOM轉(zhuǎn)換數(shù)據(jù)庫到XML文檔提供了可操作的依據(jù)。

        下載JDOM組件,解壓縮之后把jdom.jar包放入Web應(yīng)用的“Web-INF/lib”或者Tomcat安裝的“common/lib”目錄下,關(guān)鍵代碼實(shí)現(xiàn):

        ……

        <TITLE>用JDOM實(shí)現(xiàn)數(shù)據(jù)庫到XML的轉(zhuǎn)換</TITLE>

        ……

        <%@page import=\"org.jdom.*\"%>

        <%@page import=\"java.*\"%>

        <%Class.forName(\"com.microsoft.jdbc.sqlserver.SQLServerDriver\").newInstance();

        String url=\"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_CUSTOM\";

        //載入jdbc odbc的驅(qū)動(dòng)程序

        String user=\"sa\";

        String password=\"sa\";

        Connection conn= DriverManager.getConnection(url,user,password); //連接數(shù)據(jù)庫

        Statement stmt=conn.createStatement(

        ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

        //創(chuàng)建一個(gè)statement

        String sql=\"select * from client\"; //定義查詢的SQL語句

        ResultSet rs=stmt.executeQuery(sql); //執(zhí)行查詢

        Document document=new Document(new Element(\"客戶列表\")); //創(chuàng)建文檔

        ResultSetMetaData rsmd = rs.getMetaData(); //獲取字段名

        int numberOfColumns = rsmd.getColumnCount(); //獲取字段數(shù)

        int i=0;

        while(rs.next()){ //將查詢結(jié)果取出

        Element element0=new Element(\"客戶姓名\"); //創(chuàng)建元素 生成JDOM樹

        document.getRootElement().addContent(element0);

        for (i=1; i〈=numberOfColumns;i++)

        { String date=new String(rs.getString(i).getBytes(\"ISO-8859-1\"),\"gb2312\");

        //代碼轉(zhuǎn)換

        Element element=new Element(rsmd.getColumnName(i)).setText(date);

        element0.addContent(element);

        }

        }

        rs.close(); //關(guān)閉結(jié)果集

        stmt.close(); //關(guān)閉statement

        conn.close(); //關(guān)閉連接

        XMLOutputter outp = new XMLOutputter();

        outp.output(document, new FileOutputStream(\"d:data.xml\")); //輸出XML文檔

        out.print(\"XML 文檔生成完畢!\");

        %〉

        ……

        這樣獲得數(shù)據(jù)表轉(zhuǎn)換的XML文檔。

        4.2 利用XSL樣式表來轉(zhuǎn)換XML文檔

        XML本身只專注于定義內(nèi)容數(shù)據(jù),為了能夠?yàn)g覽數(shù)據(jù)內(nèi)容,就要使用另一種機(jī)制來描述XML元素。在轉(zhuǎn)換XML數(shù)據(jù)時(shí),可以采用CSS和XSL兩種樣式表語言來轉(zhuǎn)換。這里是使用XSL樣式表來進(jìn)行轉(zhuǎn)換。XSL的全稱是eXtensible Stylesheet Language,即可擴(kuò)展樣式語言。XSL由兩部分組成,即數(shù)據(jù)轉(zhuǎn)換語言XSLT和數(shù)據(jù)格式化語言。XSLT結(jié)合Xpath的功能把電子商務(wù)中的XML文檔數(shù)據(jù)轉(zhuǎn)換成按照指定格式的HTML網(wǎng)頁,提供用戶瀏覽。

        再用XSLT樣式表對(duì)XML文檔進(jìn)行轉(zhuǎn)換時(shí),XSLT處理器首先去尋找與XML文檔根節(jié)點(diǎn)相匹配的模板,因此,每一個(gè)XSLT樣式表都會(huì)有一個(gè)應(yīng)用到根節(jié)點(diǎn)的模板,關(guān)鍵代碼:

        <? xml version=\"1.0\" encoding=\"gb2312\"?>

        <!-- XML文件頭-->

        <xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">

        <!—應(yīng)用到根節(jié)點(diǎn)的模板-->

        <xsl:template match=\"/\">

        <!--輸出形式-->

        <html>

        <head><title>客戶信息</title></head>

        <body align=\"center\">

        <p>客戶基本信息<br/><br/>

        </xsl:template>

        <xsl:template match=\"customer\">

        <xsl:value-of select=\"name\" /><br/>

        <xsl:value-of select=\"id\" /><br/>

        <xsl:value-of select=\"address\" /><br/>

        <xsl:value-of select=\"email\" /><br/>

        </p>

        </body>

        </html>

        <!--輸出形式結(jié)束-->

        </xsl:template>

        </xsl:stylesheet>

        5 結(jié)束語

        本文從研究電子商務(wù)信息發(fā)布的角度出發(fā),把數(shù)據(jù)庫的存取、數(shù)據(jù)的轉(zhuǎn)換和數(shù)據(jù)表示有效分離開來,形成了良好的三層服務(wù)器體系機(jī)構(gòu),同時(shí)利用XML文檔的平臺(tái)獨(dú)立性,使網(wǎng)絡(luò)應(yīng)用更易于維護(hù)和擴(kuò)展。

        參考文獻(xiàn):

        [1] 顧兵. XML實(shí)用技術(shù)教程[M].清華大學(xué)出版社,2007.

        [2] 吳潔. XML應(yīng)用教程[M].清華大學(xué)出版社,2007.

        [3] 鄧子云,燕鋒. JSP網(wǎng)絡(luò)編程從基礎(chǔ)到實(shí)踐(第二版)[M].2007.

        午夜家庭影院| 在线观看国产成人av天堂野外| 午夜dy888国产精品影院| 国产亚洲精品bt天堂精选| 无套中出丰满人妻无码| 天天躁狠狠躁狠狠躁夜夜躁| 欧美一级视频精品观看| 国产91精品丝袜美腿在线| 曰日本一级二级三级人人| 欧美精品无码一区二区三区| 吃奶摸下激烈床震视频试看| 国产99re在线观看只有精品| 中文字幕亚洲日本va| 风韵丰满熟妇啪啪区99杏| 国产精品久久久久久久妇| 国产成人v爽在线免播放观看| 自拍视频国产在线观看| 国产高清在线一区二区不卡| 久久久久久亚洲av无码蜜芽| 五月天激情综合网| 国产精品久久国产三级国电话系列| 亚洲日韩成人无码不卡网站 | 久久99精品综合国产女同| 欧美综合天天夜夜久久| 欧美亚洲国产精品久久高清| 亚洲美女性生活一级片| 少妇免费av一区二区三区久久| 国产极品女主播国产区| 男女野外做爰电影免费| 免费人成视频欧美| 亚洲一区二区日韩精品在线| 国产av麻豆mag剧集| 亚洲AV一二三四区四色婷婷| 日韩精品极品免费在线视频| 亚洲2022国产成人精品无码区| 中文字幕日本最新乱码视频| 老熟妇Av| 99精品又硬又爽又粗少妇毛片| 日韩人妻精品视频一区二区三区 | 人人狠狠综合久久亚洲| 国产精品成人av电影不卡|