




已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
電子商務(wù)平臺技術(shù)綜述 摘要:在電子商務(wù)的建設(shè)和發(fā)展中需要多方面技術(shù)支持,本文首先對XML電子商務(wù)模型進(jìn)行了論述和分析,然后介紹了J2EE中基于MVC模式的電子商務(wù)平臺開發(fā)技術(shù),最后介紹了基于Struts、Spring 和Hibernate框架技術(shù)的電子商務(wù)平臺。關(guān)鍵詞:電子商務(wù); J2EE; XML; MVC; 框架技術(shù)前言所謂電子商務(wù),是指交易當(dāng)事人或參與人利用現(xiàn)代信息技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)(主要是因特網(wǎng))所進(jìn)行的各類商業(yè)活動(dòng),包括貨物貿(mào)易、服務(wù)貿(mào)易和知識產(chǎn)權(quán)貿(mào)易。電子商務(wù)反映了現(xiàn)代經(jīng)濟(jì)活動(dòng)的發(fā)展態(tài)勢,反映了信息技術(shù)在商務(wù)活動(dòng)中的地位和作用,有別于傳統(tǒng)的傳真或電話式的電子交易,電子商務(wù)需要借助于信息軟件和通訊技術(shù),并將它們應(yīng)用于整個(gè)商業(yè)過程中的每個(gè)價(jià)值鏈。簡單地說,電子商務(wù)是指在IT環(huán)境下所進(jìn)行的商務(wù)活動(dòng)。電子商務(wù)作為一種嶄新的商務(wù)活動(dòng)模式受到了全世界、全社會(huì)的廣泛關(guān)注和吸納。未來幾年內(nèi)仍將以較快的速度發(fā)展。在這樣的趨勢下,將會(huì)有越來越多的企業(yè)參與到電子商務(wù)活動(dòng)當(dāng)中,對電子商務(wù)平臺的需求也將更加強(qiáng)烈,因而研究電子商務(wù)平臺開發(fā)的機(jī)制是具有極強(qiáng)的現(xiàn)實(shí)意義的。電子商務(wù)平臺開發(fā)涉及計(jì)算機(jī)領(lǐng)域的多項(xiàng)技術(shù),同時(shí)還包含管理的因素,是一項(xiàng)復(fù)雜的系統(tǒng)工程。本文將對其中的幾項(xiàng)重要技術(shù)機(jī)制分別予以論述。一、XML技術(shù)在電子商務(wù)平臺中的應(yīng)用1.XML技術(shù)XML全稱eXtensible Markup Language,翻譯為可擴(kuò)展標(biāo)記語言,是一種置標(biāo)語言。置標(biāo)是指計(jì)算機(jī)所能理解的信息符號,通過此種標(biāo)記,計(jì)算機(jī)之間可以處理包含各種信息的文章等。XML的基本思想是數(shù)據(jù)的語義通過數(shù)據(jù)元素的標(biāo)記來表達(dá), 數(shù)據(jù)元素之間關(guān)系通過簡單的嵌套和引用來表示。2. XML技術(shù)在電子商務(wù)應(yīng)用中的優(yōu)越性由于企業(yè)電子商務(wù)是以Internet為基礎(chǔ)的,而隨著XML的迅速發(fā)展,XML正在逐步成為Internet中描述數(shù)據(jù)的標(biāo)準(zhǔn)。因此,XML文檔在將成為電子商務(wù)中數(shù)據(jù)傳輸?shù)闹饕d體。2.1 簡單性XML的前身是SGML(The Standard Generalized Markup Language),同HTML一樣, XML是通用標(biāo)識語言標(biāo)準(zhǔn)(SGML) 的一個(gè)子集,它是描述網(wǎng)絡(luò)上的數(shù)據(jù)內(nèi)容和結(jié)構(gòu)的標(biāo)準(zhǔn)。盡管如此,XML不像HTML, HTML僅僅提供了在頁面上顯示信息的通用方法(沒有上下文相關(guān)和動(dòng)態(tài)功能), XM 則對數(shù)據(jù)賦予上下文相關(guān)功能,它繼承了SGML的大部分功能,卻使用了不太復(fù)雜的技術(shù)。為了使得SGML顯得用戶友好,XML重新定義了SGML的一些內(nèi)部值和參數(shù),去掉了大量的很少用到的功能。XML保留了SGML 的結(jié)構(gòu)化功能,這樣就使得網(wǎng)站設(shè)計(jì)者可以定義自己的文檔類型,XML同時(shí)也推出一種新型文檔類型,使得開發(fā)者也可以不必定義文檔類型。2.2 可擴(kuò)展性XML的簡單使其易于在任何應(yīng)用程序中讀寫數(shù)據(jù),這使XML很快成為數(shù)據(jù)交換的唯一公共語言。XML標(biāo)記允許用戶自己定義自己的標(biāo)簽攜帶參數(shù)、屬性和值。企業(yè)可以用XML為電子商務(wù)和供應(yīng)鏈集成等應(yīng)用定義自己的標(biāo)記語言,作為該領(lǐng)域信息共享與數(shù)據(jù)交換的基礎(chǔ)。XML是一種結(jié)構(gòu)化的語言。XML 主要強(qiáng)調(diào)信息內(nèi)容的重要性,它使設(shè)計(jì)人員能夠創(chuàng)建和管理自己的信息結(jié)構(gòu),并且可以使信息表達(dá)和信息的結(jié)構(gòu)、內(nèi)容徹底分開,因此XML是一個(gè)較好的電子商務(wù)的商業(yè)語言。在具體的商業(yè)活動(dòng)中,有關(guān)的信息格式多而雜,信息的內(nèi)容需要被獨(dú)立抽取出來進(jìn)行處理, 而XML 恰恰可以滿足這一需要。2.3互操作性XML可以在多種平臺上使用,而且可以用多種工具進(jìn)行解釋。因?yàn)槲臋n的結(jié)構(gòu)是相容的,所以解釋它們的語法分析器就能以較低的費(fèi)用建立。XML支持用于字符編碼的許多主要標(biāo)準(zhǔn),允許它在全世界許多不同的計(jì)算環(huán)境中使用。XML所具備這些特性有助于大幅度改善人們在網(wǎng)絡(luò)世界里的交流方式,特別是對推動(dòng)電子商務(wù)的發(fā)展起到了至關(guān)緊要的作用。3.XML在電子商務(wù)中的應(yīng)用3.1 基于EDI形式的電子商務(wù)的局限性EDI(電子數(shù)據(jù)互換)是電子商務(wù)的始祖,是出現(xiàn)在上個(gè)世紀(jì)60 年代的一項(xiàng)信息技術(shù)。通俗地講, EDI 將企業(yè)與企業(yè)之間的商業(yè)往來文件, 無需人工介入, 無需紙張文件, 以標(biāo)準(zhǔn)化、規(guī)范化的文件格式, 采用電子化的方式,通過網(wǎng)絡(luò)在計(jì)算機(jī)應(yīng)用系統(tǒng)與計(jì)算機(jī)應(yīng)用系統(tǒng)之間, 直接地進(jìn)行信息業(yè)務(wù)的交換與處理。相對于傳統(tǒng)的訂貨和付款方式, 傳統(tǒng)貿(mào)易所使用的各種單證、票據(jù)全部被計(jì)算機(jī)網(wǎng)絡(luò)的數(shù)據(jù)交換所取代。EDI 系統(tǒng)的大范圍使用, 可以減少數(shù)據(jù)處理費(fèi)用和數(shù)據(jù)重復(fù)錄入費(fèi)用, 并大大的縮短交易時(shí)間, 降低庫存成本, 提高效率。它具備用簡單格式表現(xiàn)結(jié)構(gòu)數(shù)據(jù)的能力,使得數(shù)據(jù)能夠傳遞到其他人,且接收者能解釋接收到的信息。EDI 雖然在技術(shù)上日趨成熟, 但始終無法得到廣泛地商業(yè)應(yīng)用, 這說明本身存有較大局限性。(1)EDI 報(bào)文的傳輸有較多限制, 只能使用指定的網(wǎng)絡(luò)協(xié)議和安全保密協(xié)議, 所以EDI 需要建設(shè)專用網(wǎng)絡(luò), 開發(fā)專用程序, 投入巨大, 因此應(yīng)用往往局限于少數(shù)大銀行和大企業(yè)。(2)EDI 標(biāo)準(zhǔn)的靈活性差, 不能隨著與其對應(yīng)的業(yè)務(wù)環(huán)境的變化相同步。(3)EDI 數(shù)據(jù)側(cè)重于信息對機(jī)器的可讀性, 人工閱讀EDI 數(shù)據(jù)簡直就是災(zāi)難。(4)所有EDI 數(shù)據(jù)不能通過Web 來進(jìn)行數(shù)據(jù)搜索和定位, 也無法在Web 上顯示, 而這正是那些現(xiàn)代Internet 小型企業(yè)與一些不固定商業(yè)伙伴進(jìn)行小型交易的最基本要求。(5)現(xiàn)行單證、報(bào)文等標(biāo)準(zhǔn)無法滿足實(shí)際需要時(shí), 無計(jì)可施。(6)EDI 標(biāo)準(zhǔn)基于傳統(tǒng)商業(yè)事務(wù)規(guī)則, 由于社會(huì)發(fā)展、規(guī)則的進(jìn)步, 有許多商務(wù)應(yīng)用已無法用早期的EDI 標(biāo)準(zhǔn)去規(guī)范化表示。3.2 XML在電子商務(wù)中的應(yīng)用XML的誕生為電子數(shù)據(jù)交換提供了新的思路。EDI的缺陷正是XML應(yīng)用的長處, XML充分利用了現(xiàn)有網(wǎng)絡(luò)資源, 通過定制DTD/ Schema可以方便靈活地體現(xiàn)新的商業(yè)規(guī)則, 無論從技術(shù)還是成本上, XML都更容易流行。3.2.1 XML 與EDI 融合XML/ EDI XML所采用的標(biāo)準(zhǔn)技術(shù)最適合Web 開發(fā),應(yīng)用于Internet EDI ,則可以得到真正Web 風(fēng)格的EDI XML/ EDI。XML 支持結(jié)構(gòu)化的數(shù)據(jù),可以更詳細(xì)地定義某個(gè)數(shù)據(jù)對象的數(shù)據(jù)結(jié)構(gòu),例如,描述產(chǎn)品,詳細(xì)定義該產(chǎn)品的生產(chǎn)廠、產(chǎn)品名、產(chǎn)品號、產(chǎn)地等信息,這種定義不僅為標(biāo)記該產(chǎn)品提供方便,而且這種XML 數(shù)據(jù)很容易按生產(chǎn)廠、產(chǎn)品名等排序,使用戶的查詢變得更方便。如果出現(xiàn)某些商業(yè)規(guī)則,例如,銷售商想在訂購單中增加注釋,只要采用XML ,銷售商就可以在指定的數(shù)據(jù)放入文檔中后加入注釋,解決了以前固定格式EDI 的困難,同時(shí)XML/ EDI還引入模板的概念,解決了EDI 存在的映射問題。模板描述的不是消息的數(shù)據(jù),而是消息的結(jié)構(gòu)以及如何解釋消息,能做到無須編程就可實(shí)現(xiàn)消息的映射。3.2.2 無線通訊中與WML隨著第三代移動(dòng)通信標(biāo)準(zhǔn)的逐步統(tǒng)一,業(yè)界渴望一種單一的適用于當(dāng)前和未來多種移動(dòng)網(wǎng)絡(luò)的數(shù)據(jù)通信架構(gòu),尤其是隨時(shí)隨地的在移動(dòng)中訪問Internet 的網(wǎng)絡(luò)服務(wù)讓許多人心馳神往。為了實(shí)現(xiàn)這個(gè)美好的設(shè)想產(chǎn)生了WAP(無線應(yīng)用協(xié)議)協(xié)議。WAP協(xié)議包括兩個(gè)部分:其一是通信部分,負(fù)責(zé)傳輸數(shù)據(jù);其二是WML 語言,供在使用具有WAP 功能的微型瀏覽器的小屏幕上發(fā)布信息之用。WML (Wireless Makeup Language) ,類似HTML 語法,是WAP 規(guī)范中的一部分,它延伸自XML,WML是XML用于無線應(yīng)用的特定實(shí)例,它完全符合XML的規(guī)則, 主要用于標(biāo)記和說明WAP 移動(dòng)終端收發(fā)的Internet 信息和用戶接口。WML 使得設(shè)計(jì)者可以采用與設(shè)備獨(dú)立的方式定義WAP 應(yīng)用的用戶接口??傊? 新科技正在不斷推動(dòng)著Internet 的發(fā)展, XML 技術(shù)也將對電子商務(wù)產(chǎn)生重大的影響, 它使得電子商務(wù)在互聯(lián)網(wǎng)上不同系統(tǒng)之間信息交換更加便捷, 不僅大大降低了成本, 而且提高了安全性, 企業(yè)可以輕易地享受電子商務(wù)的好處。在可預(yù)期的將來, 在XML 打造出的全新的電子商務(wù)應(yīng)用環(huán)境下, 全球經(jīng)濟(jì)必將會(huì)受到這種網(wǎng)上電子商務(wù)的強(qiáng)力震撼。二、基于J2EE的電子商務(wù)平臺技術(shù)電子商務(wù)和信息技術(shù)的快速發(fā)展,要求企業(yè)必須投入更少的資金、更少的資源,更快地設(shè)計(jì)、建立和開發(fā)出企業(yè)應(yīng)用程序。在這樣的情況下,Java 語言的發(fā)明者Sun 公司提出了一種全新概念的模型即J2EE(Java 2 Enterprise Edition)。J2EE 是一種利用Java 2 平臺來簡化企業(yè)應(yīng)用程序的開發(fā)、部署和管理的體系結(jié)構(gòu),其技術(shù)基礎(chǔ)是Java 2平臺的標(biāo)準(zhǔn)版。J2EE 不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),如“編寫一次、到處運(yùn)行”的特性、方便存取數(shù)據(jù)庫的JDBC API技術(shù),以及能夠在Internet 應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等,同時(shí)還提供了對EJB(Enterprise JavaBeans), Java Servlet API ,JSP以及XML技術(shù)的全面支持。目前它已成為最具影響的構(gòu)建企業(yè)級應(yīng)用的開放性標(biāo)準(zhǔn)。1.J2EE體系結(jié)構(gòu)J2EE 多層分布式的應(yīng)用模型將應(yīng)用邏輯根據(jù)功能劃分成組件,這些組件包括應(yīng)用客戶組件(Application Client Components)、Enterprise JavaBeans 組件、Servlet 及JSP組件、Applets 等等,可以在同一個(gè)服務(wù)器或不同的服務(wù)器上安裝這些不同的組件。一個(gè)應(yīng)用組件被安裝的地方取決于該應(yīng)用組件屬于J2EE 環(huán)境中的層。J2EE 體系結(jié)構(gòu)可分為表示層、業(yè)務(wù)邏輯層及數(shù)據(jù)層,如圖所示: 客戶層 業(yè)務(wù)邏輯 底層數(shù)據(jù)JavaBeansWeb服務(wù)器JSP引擎數(shù)據(jù)庫XML/HTMLServlet引擎APPLETEJB服務(wù)器目錄服務(wù)Client應(yīng)用程序2. 基于MVC模式的電子商務(wù)平臺開發(fā)技術(shù)2.1 MVC開發(fā)模式電子商務(wù)系統(tǒng)的核心,是所有的商貿(mào)活動(dòng)都要通過網(wǎng)絡(luò)平臺來實(shí)現(xiàn),隨著市場的拓展和細(xì)分,電子商務(wù)平臺必須要面對遍布全球的眾多用戶來提供服務(wù),為了保障圖片、多媒體等大數(shù)據(jù)量文件在互聯(lián)網(wǎng)上的有效傳輸,確保電子商務(wù)交易的安全性與完整性,除了采用先進(jìn)的加密及安全技術(shù),完整地收發(fā)各種格式的文件之外,關(guān)鍵還是如何在系統(tǒng)的體系結(jié)構(gòu)上加以保證。因此,使用MVC開發(fā)模式搭建電子商務(wù)平臺已經(jīng)成為IT 領(lǐng)域的一種時(shí)尚。所謂MVC,即Model(模型)、View(視圖)以及Controller(控制器)。這種設(shè)計(jì)模式是Xerox PARC 在20世紀(jì)80年代設(shè)計(jì)的,當(dāng)時(shí)主要用來構(gòu)建用戶界面,最近幾年,被Sun公司推薦為J2EE平臺的設(shè)計(jì)模式。在MVC 模式中,M 層主要實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯和數(shù)據(jù)邏輯,V層主要實(shí)現(xiàn)系統(tǒng)的顯示邏輯,C層主要實(shí)現(xiàn)系統(tǒng)的控制流程。MVC體系保持系統(tǒng)業(yè)務(wù)邏輯和數(shù)據(jù)邏輯、控制邏輯、顯示邏輯的相互獨(dú)立性,從而實(shí)現(xiàn)面向問題域本身構(gòu)建業(yè)務(wù)邏輯和數(shù)據(jù)邏輯,面向具體應(yīng)用域設(shè)計(jì)控制邏輯和顯示邏輯。在系統(tǒng)業(yè)務(wù)流程發(fā)生調(diào)整時(shí),無須修改或盡可能少修改業(yè)務(wù)邏輯和數(shù)據(jù)邏輯,在問題域本身的業(yè)務(wù)規(guī)則、業(yè)務(wù)算法發(fā)生變化時(shí),只修改M 層組件,保證了系統(tǒng)組件的獨(dú)立性。MVC 減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,并使得視圖層更富于變化。2.2 MVC的處理過程MVC 的處理過程是:首先,控制器接收用戶的請求,并決定應(yīng)該調(diào)用哪個(gè)模型來進(jìn)行處理,然后,模型用業(yè)務(wù)邏輯來處理用戶的請求并返回?cái)?shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。因此,在MVC 模式中,模型是應(yīng)用對象,沒有用戶界面;視圖表示它在屏幕上的顯示,代表流向用戶的數(shù)據(jù);控制器定義用戶界面對用戶輸入的響應(yīng)方式,負(fù)責(zé)把用戶的動(dòng)作轉(zhuǎn)成針對模型的操作。模型通過更新視圖的數(shù)據(jù)來反映數(shù)據(jù)的變化。2.3 J2EE平臺中的MVC開發(fā)模式MVC體系提供了抽取控制邏輯組件和業(yè)務(wù)邏輯、數(shù)據(jù)邏輯組件的理論基礎(chǔ),而在J2EE平臺中,Servlet、JSP、JavaBeans提供了實(shí)現(xiàn)相關(guān)組件的實(shí)現(xiàn)手段。因此,結(jié)合MVC 的分層體系理論,基于Java的Servlet、JSP、JavaBeans技術(shù),可以方便地實(shí)現(xiàn)組件化的電子商務(wù)系統(tǒng)的開發(fā)。在MVC中,JavaBeans充當(dāng)M層,JSP充當(dāng)V層,Servlet充當(dāng)C層。如圖:瀏覽器(控制器)Servlet(模型)JavaBeansDatabase(視圖)JSPJSP(Java Server Pages)是由Sun公司倡導(dǎo),許多公司參與建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計(jì)和格式化最終頁面。 使用JSP標(biāo)識(tag)或者小腳本(Scriptlet)來生成頁面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。用JSP編程語言設(shè)計(jì)和實(shí)現(xiàn)的Web應(yīng)用程序是可靠的、跨平臺的和高性能的。JSP是Sun公司推出的新一代站點(diǎn)開發(fā)語言,它可以在Servlet和JavaBeans的支持下,完成功能強(qiáng)大的站點(diǎn)程序開發(fā),特別是對數(shù)據(jù)庫的訪問和操作。Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁面。它擔(dān)當(dāng)客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。JavaBeans 是一種Java語言寫成的可重用組件,用戶可以使用JavaBeans將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用java代碼創(chuàng)造的對象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁面、Servlet、其他JavaBeans、applet程序或者應(yīng)用來使用這些對象。MVC模式在理論上實(shí)現(xiàn)了業(yè)務(wù)邏輯與界面顯示的分離,它的提出對Web的應(yīng)用開發(fā)具有重要意義。目前,開發(fā)大型企業(yè)電子商務(wù)平臺開始采用符合MVC 模式的JSP + Servlet + JavaBean的多層體系結(jié)構(gòu),用JSP創(chuàng)建頁面,用Servlet實(shí)現(xiàn)業(yè)務(wù)邏輯與外界的交互,形成了清晰的MVC設(shè)計(jì)模式,簡化了Web應(yīng)用程序開發(fā)。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和新的商業(yè)模式的出現(xiàn),必然會(huì)出現(xiàn)大量新的基于Web的應(yīng)用系統(tǒng),特別是基于J2EE應(yīng)用平臺,以及MVC技術(shù)架構(gòu)的大中型電子商務(wù)系統(tǒng),因此,研究電子商務(wù)系統(tǒng)的軟件體系結(jié)構(gòu)是非常有意義的。3.基于Struts、Spring 和Hibernate技術(shù)的電子商務(wù)平臺隨著網(wǎng)絡(luò)技術(shù)不斷成熟和發(fā)展,J2EE 技術(shù)為Java Web 開發(fā)提供了大量優(yōu)秀的開源項(xiàng)目,如JDBC、EJB 等。然而,對于Java 程序員來說,JDBC 功能顯得過于薄弱,程序員仍然需要處理和編寫大量繁瑣的SQL 腳本來提取簡單的業(yè)務(wù)數(shù)據(jù);EJB 組件又顯得過于龐大和復(fù)雜,使得整個(gè)項(xiàng)目中充斥著大量重復(fù)冗余的代碼。Struts、Spring 和Hibernate 的出現(xiàn)把程序員從繁瑣而簡單的工作中解脫出來,讓程序員可以專注于更復(fù)雜的電子商務(wù)業(yè)務(wù)邏輯編寫;通過簡單的定制和配置,簡化了項(xiàng)目中組件結(jié)構(gòu),而又不失靈活性,為以后的二次開發(fā)和擴(kuò)展留下了廣闊的空間。Struts、Spring 和Hibernate 是J2EE 開發(fā)的3 種輕量級開源項(xiàng)目,Struts 為J2EE 提供了模型-視圖-控制器(Model-View-Controller, MVC) 框架,適合于大型電子商務(wù)系統(tǒng)的開發(fā)和擴(kuò)展應(yīng)用;Spring 是一個(gè)分層架構(gòu)的框架,它有效地組織項(xiàng)目的中間層對象,為程序員提供一種管理電子商務(wù)業(yè)務(wù)對象的良好方法;Hibernate 是數(shù)據(jù)持久化框架,可作為電子商務(wù)業(yè)務(wù)模型層/數(shù)據(jù)訪問層的核心組件。它們是為簡化Java Web開發(fā)、提高開發(fā)效率、方便擴(kuò)展功能和維護(hù)而創(chuàng)建的。3.1 StrutsStruts是Apache Jakarta 項(xiàng)目組的一個(gè)開源項(xiàng)目, 是MVC模型的一個(gè)良好實(shí)現(xiàn), 在基于Java 的Web 應(yīng)用程序設(shè)計(jì)中占有很大的市場份額。Struts 出現(xiàn)至今, 其自身也在不斷地成熟和完善,從Struts1發(fā)展到現(xiàn)在的Struts2。雖然Struts2號稱是一個(gè)全新的框架,但這僅僅是相對Struts1而言。Struts2與Struts1相比,確實(shí)有很多革命性的改進(jìn),但它并不是新發(fā)布的新框架,而是在WebWork 框架基礎(chǔ)上發(fā)展起來的。因?yàn)镾truts2是WebWork的升級,而不是一個(gè)全新的框架,因此穩(wěn)定性、性能等各方面都有很好的保證,而且吸收了Struts1和WebWork 兩者的優(yōu)勢。3.1.1 Struts2與Struts1的區(qū)別(1)Action類Struts1要求Action類繼承一個(gè)抽象基類;Struts1的一個(gè)具體問題是使用抽象類編程而不是接口。Struts2 Action類可以實(shí)現(xiàn)一個(gè)Action接口,也可以實(shí)現(xiàn)其他接口,使可選和定制的服務(wù)成為可能。Struts2提供一個(gè)ActionSupport基類去實(shí)現(xiàn)常用的接口。即使Action接口不是必須實(shí)現(xiàn)的,只有一個(gè)包含execute方法的POJO類都可以用作Struts2的Action。(2)線程模式Struts1 Action是單例模式并且必須是線程安全的,因?yàn)閮H有Action的一個(gè)實(shí)例來處理所有的請求。單例策略限制了Struts1 Action能做的事,并且要在開發(fā)時(shí)特別小心。Action資源必須是線程安全的或同步的;Struts2 Action對象為每一個(gè)請求產(chǎn)生一個(gè)實(shí)例,因此沒有線程安全問題。(3)Servlet的依賴Struts1 Action依賴于Servlet API,因?yàn)镾truts1 Action的execute方法中有HttpServletRequest和HttpServletResponse方法。Struts2 Action不再依賴于Servlet API,從而允許Action脫離Web容器運(yùn)行,從而降低了測試Action的難度。 Struts2 的發(fā)布為J2EE Web 應(yīng)用的開發(fā)者提供了更好的MVC 實(shí)現(xiàn)和更加簡單易用的實(shí)施方法。在Web 應(yīng)用中恰到好處地使用Struts2 能夠讓開發(fā)人員可以把精力集中在解決實(shí)際業(yè)務(wù)問題上, 從而使系統(tǒng)具有很高的擴(kuò)展性、重用性、易維護(hù)性。(4)易測試性測試Struts1 的Action 有一個(gè)大障礙就是execute 方法是直接暴露于Servlet API 的。Struts2 的Action 可以很容易的通過設(shè)置屬性調(diào)用方法來進(jìn)行測試。(5)封裝請求參數(shù)Struts1使用ActionForm對象封裝用戶的請求參數(shù),所有的ActionForm必須繼承一個(gè)基類:ActionForm。普通的JavaBean不能用作ActionForm,因此,開發(fā)者必須創(chuàng)建大量的ActionForm類封裝用戶請求參數(shù)。雖然Struts1提供了動(dòng)態(tài)ActionForm來簡化ActionForm的開發(fā),但依然需要在配置文件中定義ActionForm;Struts2直接使用Action屬性來封裝用戶請求屬性,避免了開發(fā)者需要大量開發(fā)ActionForm類的煩瑣。如果開發(fā)者依然懷念Struts 1 ActionForm的模式,Struts2可以讓開發(fā)者使用單獨(dú)的Model對象來封裝用戶請求參數(shù),但該Model對象無需繼承任何Struts2基類,是一個(gè)POJO,從而降低了代碼污染。3.1.2 Struts2體系機(jī)構(gòu)與工作機(jī)制Web瀏覽器Struts2核心控制器FilterDispather攔截器1攔截器2Action攔截器3Result瀏覽器發(fā)出請求。核心控制器FilterDispatcher 根據(jù)請求決定調(diào)用合適的Action。攔截器鏈自動(dòng)對請求應(yīng)用通用功能?;卣{(diào)Action 的execute 方法,該方法獲取用戶的請求參數(shù),并調(diào)用業(yè)務(wù)邏輯。Action 的execute 方法根據(jù)執(zhí)行結(jié)果返回result值,在struts.xml 配置文件中,指定result值和視圖資源之間的映射關(guān)系。3.2 Spring Spring 是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的分層體系結(jié)構(gòu)開發(fā)框架。它的核心是一個(gè)輕量級的容器,為軟件開發(fā)提供全方位支持的應(yīng)用程序框架。Spring 的功能主要有:控制反轉(zhuǎn)(IoC),面向切面的編程(AOP),持久層的封裝和事務(wù)管理。(1)SpringCore:框架的最基礎(chǔ)部分,提供依賴注入特性來管理Bean容器。Core包的主要組件是BeanFactory,BeanFactory 使用IoC 模式將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序分開。(2)SpringContext:是一個(gè)配置文件,向Spring 框架提供上下文信息。Spring 上下文包括企業(yè)服務(wù),例如JNDI、EJB、電子郵件、國際化、校驗(yàn)和調(diào)度功能。(3)SpringDAO:提供了JDBC 的抽象層,它可消除冗長的JDBC 編碼和解析數(shù)據(jù)庫廠商特有的錯(cuò)誤代碼。簡化了錯(cuò)誤處理,降低了需要編寫的異常代碼的數(shù)量。(4)SpringORM:Spring 框架插入了若干個(gè)ORM 框架,提供了ORM 的對象關(guān)系工具,包括JDO、Hibernate 和iBatisSQLMap。這些遵循Spring 的通用事務(wù)和DAO 異常層次結(jié)構(gòu)。(5)SpringAOP:通過配置管理特性,Spring AOP 將面向切面的編程集成到了Spring 框架中,為基于Spring 的應(yīng)用程序中的對象提供了事務(wù)管理程序。 通常情況下,要實(shí)現(xiàn)對其他類的引用,應(yīng)用代碼需要告知容器或框架,讓它們找到自身所需要的類,然后再由應(yīng)用代碼創(chuàng)建待使用的對象實(shí)例。Spring 根據(jù)配置文件將其它對象的引用通過組件提供的setter 方法進(jìn)行設(shè)定。Spring 通過依賴注入機(jī)制,可以在程序運(yùn)行的過程中,如果需要調(diào)用另一個(gè)對象時(shí),無須在代碼中創(chuàng)建被調(diào)用者,而是依賴于外部的注入。這種方式對調(diào)用者和被調(diào)用者幾3.3 Hibernate3.3.1 Hibernate技術(shù)介紹Java 應(yīng)用程序運(yùn)行時(shí),往往把數(shù)據(jù)封裝為相互連接的對象,但是當(dāng)程序結(jié)束時(shí),這些對象就會(huì)消失在一團(tuán)邏輯中,所以需要有一些保存它們的方法。甚至在編寫應(yīng)用程序之前,數(shù)據(jù)就已經(jīng)存在了,所以需要有讀入它們和將其表示為對象的方法。手動(dòng)編寫代碼來執(zhí)行這些任務(wù)不僅單調(diào)乏味、易于出錯(cuò),而且會(huì)占用整個(gè)應(yīng)用程序的很大一部分開發(fā)工作量。 Hibernate是一個(gè)免費(fèi)的開源Java包,它對JDBC做了輕量級封裝,不僅提供ORM 映射服務(wù),還提供數(shù)據(jù)查詢和數(shù)據(jù)緩存功能,Java 開發(fā)人員可以方便地通過Hibernate API 來操縱數(shù)據(jù)庫。它使得與關(guān)系數(shù)據(jù)庫打交道變得十分輕松,就像數(shù)據(jù)庫中包含每天使用的普通Java對象一樣;同時(shí)不必考慮如何把它們從數(shù)據(jù)庫表中取出(或放回到數(shù)據(jù)庫表中)。3.3.2 層次機(jī)構(gòu)設(shè)計(jì)一般的Web應(yīng)用程序中通常采用三層體系結(jié)構(gòu),即表示層、業(yè)務(wù)邏輯層以及數(shù)據(jù)庫層。表示層提供了與用戶交互的界面;業(yè)務(wù)邏輯層用于實(shí)現(xiàn)各種業(yè)務(wù)邏輯;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年雅思考試閱讀專項(xiàng)模擬試卷春季閱讀理解難題解析
- 道路工程安全管理辦法
- 國慶節(jié)施工場地環(huán)境安全保障措施落實(shí)他
- 2025年成人高考語文《語言表達(dá)與運(yùn)用》名校解析題庫試題
- 2025年注冊建筑師專業(yè)知識考核建筑可持續(xù)發(fā)展與生態(tài)試題匯編試卷
- 攝像剪輯器材管理辦法
- 2025年保育員實(shí)操技能試卷(嬰幼兒教育社會(huì)支持系統(tǒng)構(gòu)建策略)
- 科研信息平臺管理辦法
- 自營票據(jù)收納管理辦法
- 維修團(tuán)隊(duì)建設(shè)管理辦法
- 水處理反滲透設(shè)備日常維護(hù)保養(yǎng)點(diǎn)檢記錄表
- 檔案整理及數(shù)字化服務(wù)方案
- 《講師技能培訓(xùn)》課件
- 設(shè)備日常點(diǎn)檢表
- 土力學(xué)與地基基礎(chǔ)(課件)
- 青島版二年級數(shù)學(xué)下冊(六三制)全冊課件【完整版】
- (完整版)初中生物實(shí)驗(yàn)報(bào)告單
- 公司變更登記(備案)申請書
- 2023年醫(yī)技類-超聲醫(yī)學(xué)(副高)考試歷年真題集錦附答案
- 復(fù)合不定代詞
- 北京2020年友利銀行總行授信審查崗社會(huì)招聘(918)考試參考題庫含答案詳解
評論
0/150
提交評論