【正文】
o achieve more and more functions and serve more and more visitors. Accordingly, online shopping system has to deal with the rapid increase of the amount of information. A single server often can not afford a huge number of visits, then you need to adopt a distributed system. EJB specification defines the development and deployment of a serverside software ponent architecture based on transaction and distributed object application, and it is suitable for building large distributed sites.Keywords: Java, EJB , Servlet, distributed system, online bookstoreIII目錄1 課題研究背景 ...................................................................................................1 課題研究?jī)?nèi)容及意義 ..........................................................................................................1 EJB 的歷史及現(xiàn)狀 ...............................................................................................................1 從 WEB 層訪問 EJB.............................................................................................................4 論文內(nèi)容安排 ......................................................................................................................52 系統(tǒng)開發(fā)環(huán)境及相關(guān)技術(shù) ...............................................................................6 系統(tǒng)開發(fā)環(huán)境 ......................................................................................................................6 JAVA 技術(shù)簡(jiǎn)介 .....................................................................................................................6 EJB 技術(shù)簡(jiǎn)介 .................................................................................................................7 SERVLET 技術(shù)簡(jiǎn)介 ..............................................................................................................11 JSP 技術(shù)簡(jiǎn)介 ......................................................................................................................113 系統(tǒng)需求分析 .................................................................................................14 用例分析 ............................................................................................................................14 活動(dòng)圖 ................................................................................................................................17 時(shí)序圖 ................................................................................................................................19 ER 圖 .................................................................................................................................21 部署分析 ............................................................................................................................224 系統(tǒng)設(shè)計(jì) .........................................................................................................23 項(xiàng)目結(jié)構(gòu)設(shè)計(jì) ....................................................................................................................23 類設(shè)計(jì) ................................................................................................................................24 WEB 設(shè)計(jì) ............................................................................................................................26 數(shù)據(jù)庫設(shè)計(jì) ........................................................................................................................275 系統(tǒng)實(shí)現(xiàn)與測(cè)試 .............................................................................................30 功能實(shí)現(xiàn) ............................................................................................................................30 部署實(shí)現(xiàn) ............................................................................................................................38 系統(tǒng)測(cè)試 ............................................................................................................................396 總結(jié)與展望 .....................................................................................................43 開發(fā)總結(jié) ............................................................................................................................43 未來展望 ............................................................................................................................43參考文獻(xiàn) .............................................................................................................44致謝 .....................................................................................................................45基于 的分布式網(wǎng)上購物系統(tǒng) 11 課題研究背景 課題研究?jī)?nèi)容及意義網(wǎng)上購物系統(tǒng)又稱為在線商城,無論是開設(shè)個(gè)人網(wǎng)上購物商店還是企業(yè)在線購物商城,一套好用的網(wǎng)上購物系統(tǒng)都是必須的。I摘要隨著因特網(wǎng)的飛速發(fā)展,在線商城實(shí)現(xiàn)的功能越來越多,承受的訪問量越來越大。網(wǎng)上購物系統(tǒng)擁有強(qiáng)大的商城功能,如商品的推薦和展示等。網(wǎng)上購物系統(tǒng)還可以實(shí)現(xiàn)免費(fèi)的市場(chǎng)調(diào)查功能,在網(wǎng)站上點(diǎn)擊和成交都是自動(dòng)統(tǒng)計(jì)的。這時(shí)候,分布式系統(tǒng)的應(yīng)用就顯得格外重要了。Enterprise JavaBeans(EJB)規(guī)范定義了開發(fā)和部署基于事務(wù)性、分布式對(duì)象應(yīng)用程序的服務(wù)器端軟件組件的體系結(jié)構(gòu)。 EJB 的歷史及現(xiàn)狀每次 EJB 的新版本發(fā)布時(shí),都會(huì)帶來新的重要的特性,滿足大眾需求并采用新興技術(shù)。(2) EJB 其后的版本 要求廠商支持實(shí)體 Bean,并且引入 XML 部署描述文件來替換存儲(chǔ)在專門的串行化類文件中的元數(shù)據(jù)。實(shí)體 Bean 得到了容器管理的關(guān)系(ContainerManaged Relationship,CMR)的支持,它允許 Bean 的開發(fā)者聲明式地指定由 EJB 容器管理的實(shí)體 Bean 之間的持久化關(guān)系。(5) EJB 最重要的改動(dòng)是實(shí)體 Bean 被替換成 POJO,現(xiàn)在被稱為實(shí)體。表 列出了 EJB 規(guī)范的歷史版本、發(fā)布時(shí)間及其相應(yīng)特性。對(duì)于許多程序員來說,書寫那些必須拋出特定異常的接口并將 Bean 類作為抽象類實(shí)現(xiàn)的做法既不直觀也不正常。直到 EJB 才引入了本地接口,以支持可以開發(fā)不通過網(wǎng)絡(luò)就能直接本地調(diào)用的 EJB 系統(tǒng)。這些技術(shù)包括 Hibernate(用于提供數(shù)據(jù)持基于 的分布式網(wǎng)上購物系統(tǒng) 4久化和對(duì)象—關(guān)系映射)及 Spring 框架(用于封裝業(yè)務(wù)邏輯)。因此,EJB 規(guī)范(JSR 220)為了迎合這個(gè)趨勢(shì)相比于其前輩進(jìn)行了一次激進(jìn)的大跳躍。EJB 規(guī)范大幅采用Java 注解(annotation)來對(duì)代碼進(jìn)行元數(shù)據(jù)修飾,從而消減了此前 EJB 編程的冗雜性。當(dāng)開發(fā)者設(shè)計(jì) EJB 時(shí),最困難的工作就是要選擇一個(gè)正確的體系結(jié)構(gòu),或者一個(gè)正確的邏輯層的劃分。DAO 設(shè)計(jì)模式一度非常流行,不僅用于 JDBC,也用于 ORM 框架和 CMP 實(shí)體 Bean。對(duì)于 J2EE 應(yīng)用而言,數(shù)據(jù)庫是相對(duì)穩(wěn)定的部分,其 DAO 組件依賴于數(shù)據(jù)庫系統(tǒng),提供數(shù)據(jù)庫訪問的接口,只要數(shù)據(jù)庫沒有重構(gòu),則 DAO 層通常無需改寫。DAO 將數(shù)據(jù)訪問集中在獨(dú)立的一層,因?yàn)樗械臄?shù)據(jù)訪問都由 DAO 代理,這層獨(dú)立的 DAO 就將數(shù)據(jù)訪問的實(shí)現(xiàn)與系統(tǒng)的其余部分剝離,將數(shù)據(jù)訪問集中使得系統(tǒng)更具可維護(hù)性。通過會(huì)話 Bean 外端,可以在本地使用實(shí)體 Bean 并且把會(huì)話 Bean 暴露給客戶端。在 EJB 設(shè)計(jì)中,Session Facade 是應(yīng)用最廣泛的設(shè)計(jì)模式。這樣就減輕了網(wǎng)絡(luò)負(fù)載,提高了系統(tǒng)性能。表現(xiàn)層和 Web 層可以通過依賴注入或 JNDI 查找或訪問會(huì)話 Bean,但只有受管理類(如 Servlet)才支持依賴注入,其生命周期由容器管理。第二章介紹了開發(fā)使用到的技術(shù):Java、EJB、Servlet 、JSP 和DOM 技術(shù)。 Java