已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1 基于 java ee 技術(shù)的網(wǎng)上商城系統(tǒng)設(shè)計(jì) 商品采購管理模塊實(shí)現(xiàn) 系 別 軟件工程系 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 2006 級(jí)網(wǎng)絡(luò)應(yīng)用軟件開發(fā)本科(1)班 學(xué) 號(hào) 0640110138 學(xué)生姓名 楊添 指導(dǎo)教師 吳向榮 2 摘要 電子商務(wù)的應(yīng)用越來越廣泛,網(wǎng)上商城如雨后春筍般地成長了起來,具 有投資小、信息傳遞更新快等特點(diǎn),極大地方便了消費(fèi)者。 采用 struts + spring + hibernate + web services 技術(shù)構(gòu)建的網(wǎng)上商 城,是網(wǎng)上商城業(yè)務(wù)和 java ee 中 hibernate 中間件和 dao 設(shè)計(jì)模式等技術(shù)的 整合。 本網(wǎng)上商城面對(duì)兩大角色用戶和管理員。在網(wǎng)上商城中,對(duì)用戶提 供的服務(wù)有注冊(cè)、登錄、多種方式的商品瀏覽、商品選購、下訂單和制定訂單 等功能;對(duì)管理員提供的服務(wù)有商品管理和品牌管理、分類管理、會(huì)員管理、 訂單管理等功能。 關(guān)鍵字 訂單管理;會(huì)員管理;商品管理;java ee abstract wider and wider application of e-commerce, online shop camel grew up springing up, with investment, information transfer and fast updated features, very easy for the consumer. we use struts + spring + hibernate + webservice technologies to build online mall, an online mall business and hibernate in java ee middleware and dao design patterns and other technical integration. this online mall has confronted two major roles users and administrators. internet mall, the right to provide the services the user registration, login, browse a variety of ways of goods, merchandise purchase, place an order and the development of orders and other functions; the services provided to the administrators there is a product management and brand management, category management, members of management, order management and other functions. key words orders management;members management;merchandises management;java ee 3 目 錄 目 錄3 前 言4 第一章 系統(tǒng)需求5 1.1 前臺(tái)用戶購物模塊.5 1.2 管理模塊.6 第二章 系統(tǒng)設(shè)計(jì)7 2.1 系統(tǒng)架構(gòu)設(shè)計(jì).7 2.2 業(yè)務(wù)實(shí)體設(shè)計(jì).8 2.3 業(yè)務(wù)邏輯設(shè)計(jì).10 第三章 數(shù)據(jù)庫設(shè)計(jì)10 3.1 e-r 圖設(shè)計(jì) .11 3.2 物理建模.11 3.3 設(shè)計(jì)表結(jié)構(gòu).12 第四章 通用功能實(shí)現(xiàn)17 4.1 分頁查詢功能.17 4.2 struts 與 spring 的整合17 4.3 spring 與 hibernate 的整合 .18 4.4 聲明式事務(wù).18 第五章 web services 在 myeclipse 中的應(yīng)用研究 .19 5.1 將 java 類生成 wsdl 文件 19 5.2 用 wsdl 文件生成 java 服務(wù)類 21 5.3 服務(wù)的部署和生成 server_config.wsdd 24 第六章 軟件設(shè)計(jì)及系統(tǒng)功能描述26 6.1 會(huì)員注冊(cè).26 6.2 會(huì)員登錄.27 6.3 會(huì)員操作.27 6.3.1 首頁27 6.3.2 分類查詢28 4 6.3.3 熱賣商品29 6.3.4 特價(jià)商品29 6.3.5 最新商品30 6.3.6 推薦商品30 6.3.7 品牌商品31 6.3.8 商品信息32 6.3.9 購物車32 6.3.10 我的訂單34 6.4 管理員后臺(tái)操作.34 6.4.1 管理首頁34 6.4.2 商品管理34 6.4.3 品牌管理36 6.4.4 分類管理37 6.4.5 會(huì)員管理38 6.4.6 訂單管理38 第七章 系統(tǒng)說明40 7.1 本系統(tǒng)使用說明.40 7.2 使用步驟.40 第八章 系統(tǒng)測試42 8.1 測試系統(tǒng)組件.42 8.2 功能測試.42 8.3 界面測試.43 第九章 畢業(yè)設(shè)計(jì)總結(jié)44 致謝45 參考文獻(xiàn)46 附錄47 5 前 言 目前,網(wǎng)絡(luò)正以一種前所未有的沖擊力在影響著人類的活動(dòng),包括人類的 生產(chǎn)和日常生活。網(wǎng)絡(luò)的誕生和發(fā)展,顛覆了傳統(tǒng)的信息傳播方式,沖破了存 在于傳統(tǒng)交流方式中時(shí)間和空間的種種壁壘,極大地改變了人類從物質(zhì)到精神、 從形式到內(nèi)容、從生產(chǎn)到生活的各種活動(dòng),并且給人類帶來了新的機(jī)遇和挑戰(zhàn)。 2006 年 1 月 17 日,中國互聯(lián)網(wǎng)絡(luò)信息中心(cnnic)在京發(fā)布“第十七 次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告” 。報(bào)告顯示,截至 2005 年 12 月 31 日,我 國上網(wǎng)用戶總數(shù)突破 1 億,為 1.11 億人,其中寬帶上網(wǎng)人數(shù)達(dá)到 6430 萬人。 目前,我國網(wǎng)民數(shù)和寬帶上網(wǎng)人數(shù)均位居世界第一。上網(wǎng)計(jì)算機(jī)數(shù)達(dá)到 4950 萬 臺(tái),網(wǎng)絡(luò)國際出口帶寬達(dá)到 136106m,網(wǎng)站數(shù)達(dá)到 69.4 萬個(gè)。 在互聯(lián)網(wǎng)服務(wù)業(yè)務(wù)方面:電子郵件、搜索引擎、網(wǎng)上銀行、在線交易、網(wǎng) 絡(luò)廣告、網(wǎng)絡(luò)新聞、網(wǎng)絡(luò)游戲等服務(wù)業(yè)務(wù)仍然快速地發(fā)展著。 而本次畢業(yè)設(shè)計(jì)的任務(wù)是,構(gòu)建一個(gè)網(wǎng)上商城系統(tǒng),采用的主要技術(shù)是 struts、spring、hibernate 等 java ee 技術(shù),而這些框架技術(shù)的基礎(chǔ)就有 jsp。 jsp 是 java server page 的縮寫,是由 sun microsystems 公司倡導(dǎo)、許多公 司參與建立一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),它在動(dòng)態(tài)網(wǎng)頁的建設(shè)中有強(qiáng)大而特別的功 能。jsp 是一種服務(wù)器端 html(或 xml)嵌入 java 代碼的腳本語言,是開發(fā) web 動(dòng)態(tài)網(wǎng)站快速而有效的工具,jsp 技術(shù)有著以下優(yōu)勢: 1、jsp 技術(shù)是用 java 語言作為腳本語言的。java 語言是成熟的、強(qiáng)大的、 易擴(kuò)充的編程語言。 2、高效性與安全性。jsp 在執(zhí)行前先被編譯成字節(jié)碼,字節(jié)碼由 java 虛擬 機(jī)解釋執(zhí)行,比源碼解釋效率高。 3、可維護(hù)性。由于 jsp 技術(shù)有著開放的、跨平臺(tái)的結(jié)構(gòu),因此 web 服務(wù) 器、平臺(tái)及其他組件能很容易升級(jí)或切換,且不會(huì)影響 jsp 基本的應(yīng)用程序。 6 4、穩(wěn)定性。 5、產(chǎn)品的多樣性。 目前,struts、spring、hibernate 和 webservice 等 java ee 技術(shù)已經(jīng)成 為開發(fā)電子商務(wù)平臺(tái)的主流技術(shù)。隨著國內(nèi)與國際的接軌,這些技術(shù)必將成為 網(wǎng)站開發(fā)技術(shù)的首選。 第一章 系統(tǒng)需求 完整的網(wǎng)上商城至少需要面對(duì)兩類用戶用戶和管理員。在網(wǎng)上商城 中,對(duì)用戶提供的服務(wù)有注冊(cè)、登錄、多種方式的商品瀏覽、商品選購、下訂 單和我的訂單等功能。對(duì)管理員提供的服務(wù)有商品管理、品牌管理、分類管理、 會(huì)員管理、訂單管理等功能。 1.1 前臺(tái)用戶購物模塊 前臺(tái)用戶購物模塊主要針對(duì)用戶,按功能分為以下幾大模塊: 注冊(cè):會(huì)員在注冊(cè)時(shí)需要輸入會(huì)員注冊(cè)信息,包括會(huì)員賬號(hào)、會(huì)員密碼、 確認(rèn)密碼、姓名、性別、生日、省份、城市、地址、郵編、電子郵件、電話和 手機(jī)號(hào)碼等,系統(tǒng)將對(duì)這些信息進(jìn)行校驗(yàn),如果格式不合要求,系統(tǒng)將給出提 示。如果會(huì)員賬號(hào)已經(jīng)存在,系統(tǒng)也將給出相應(yīng)的提示信息,并提醒用戶使用 其他賬號(hào)。注冊(cè)成功后則可進(jìn)行登錄。 登錄:在輸入賬號(hào)與口令后,系統(tǒng)將驗(yàn)證賬號(hào)與口令是否正確,如果驗(yàn) 證成功,用戶將處于登錄狀態(tài);否則,系統(tǒng)提示賬號(hào)或密碼錯(cuò)誤的信息。 特價(jià)商品:可以查詢特價(jià)商品信息。 推薦商品:可以查詢推薦商品信息。 熱賣商品:可以查詢熱賣商品信息。 商品分類:顯示商品分類列表。 分類商品:顯示某一分類下的商品列表。 購物車:顯示當(dāng)前選購商品列表。 我的訂單:顯示登錄會(huì)員的訂單列表。 品牌:顯示品牌列表。 品牌商品:顯示某一品牌下的商品列表。 7 1.2 管理模塊 管理員模塊針對(duì)管理功能,包括商品管理、品牌管理、分類管理、會(huì)員管 理和訂單管理,具體模塊如下: 登錄系統(tǒng):需要輸入管理員賬號(hào)與口令,系統(tǒng)將驗(yàn)證賬號(hào)與口令是否正 確,如果驗(yàn)證成功,則進(jìn)入管理員界面;否則,系統(tǒng)提示賬號(hào)或密碼錯(cuò)誤的信 息。 商品管理:可以查看所有的商品,可以增加商品,修改商品信息,以及 刪除商品。 品牌管理:可以查看所有的品牌,可以增加品牌,修改品牌信息,以及 刪除品牌。 分類管理:可以查看所有的分類,可以增加分類,修改分類信息,以及 刪除分類。 會(huì)員管理:可以查看所有的會(huì)員,可以增加會(huì)員,修改會(huì)員信息,以及 刪除會(huì)員。 訂單管理:可以查看所有的訂單,可以處理訂單,以及刪除訂單。 根據(jù)以上描述,系統(tǒng)的主要角色包括會(huì)員和管理員,如圖: 8 圖 1-1 系統(tǒng)用例圖 第二章 系統(tǒng)設(shè)計(jì) 2.1 系統(tǒng)架構(gòu)設(shè)計(jì) 整個(gè)應(yīng)用程序遵循多層的架構(gòu)模式,從上到下依次為視圖層、控制層、模 型層、持久化層和數(shù)據(jù)庫層,其中控制層通過 webservice 技術(shù)調(diào)用模型層。前 面三層其實(shí)就是 struts 框架的基本層次。通過 spring 技術(shù)來有效組織中間層的 對(duì)象,持久化層使用 hibernate 實(shí)現(xiàn)。 各層次間的依賴關(guān)系應(yīng)該是自頂向下的,即上層可以依賴下層,而下層不 應(yīng)對(duì)上層有依賴或盡量減少對(duì)上層的依賴。例如,在系統(tǒng)中使用 hibernate 來實(shí) 現(xiàn)持久化層,若要采用其他機(jī)制實(shí)現(xiàn)持久化層,不需要改動(dòng)業(yè)務(wù)邏輯中的代碼。 視圖層和控制層都是通過 struts 框架實(shí)現(xiàn)的。模型層又可細(xì)分為數(shù)據(jù)訪問 層和數(shù)據(jù)服務(wù)層,通過 spring 框架來控制。持久化層用 hibernate 實(shí)現(xiàn),在這 層中使用 hibernatedaosupport 技術(shù)。 9 圖 2-1 系統(tǒng)架構(gòu) 2.2 業(yè)務(wù)實(shí)體設(shè)計(jì) 一個(gè)系統(tǒng)的業(yè)務(wù)實(shí)體在內(nèi)存中表現(xiàn)為實(shí)體域?qū)ο?,在?shù)據(jù)庫中表現(xiàn)為關(guān)系 數(shù)據(jù),實(shí)現(xiàn)業(yè)務(wù)實(shí)體包括以下內(nèi)容: 設(shè)計(jì)域模型,創(chuàng)建域模型實(shí)體對(duì)象; 設(shè)計(jì)關(guān)系數(shù)據(jù)模型; 創(chuàng)建映射文件。 網(wǎng)上商城中有以下業(yè)務(wù)實(shí)體:品牌、分類、商品、會(huì)員、訂單和訂單項(xiàng)。 這些實(shí)體之間的關(guān)系如圖: 10 圖 2-2 業(yè)務(wù)實(shí)體關(guān)系圖 上圖中,各實(shí)體關(guān)系如下: 商品和分類:一種商品可以不屬于任何分類或?qū)儆诙鄠€(gè)分類,而一種分 類下可以沒有商品或有多種商品。它們之間是多對(duì)多的關(guān)系,通過商品 分類關(guān)系來關(guān)聯(lián)。 商品和訂單項(xiàng):一種商品可不與訂單項(xiàng)相對(duì)應(yīng),也可與一個(gè)或多個(gè)訂單 項(xiàng)相對(duì)應(yīng),而一個(gè)訂單項(xiàng)對(duì)應(yīng)且只對(duì)應(yīng)一種商品。它們之間是一對(duì)多的 關(guān)系。 品牌和商品:一個(gè)品牌可以有一種或多種商品,而一種商品對(duì)應(yīng)且只對(duì) 應(yīng)一個(gè)品牌。它們之間也是一對(duì)多的關(guān)系。 訂單和訂單項(xiàng):一個(gè)訂單可以有一個(gè)或多個(gè)訂單項(xiàng),而一個(gè)訂單項(xiàng)對(duì)應(yīng) 且只對(duì)應(yīng)一個(gè)訂單。它們之間也是一對(duì)多的關(guān)系。 會(huì)員與訂單:一個(gè)會(huì)員可以沒有訂單,也可有多個(gè)訂單;而一個(gè)訂單對(duì) 應(yīng)且只對(duì)應(yīng)一個(gè)會(huì)員。它們之間也是一對(duì)多的關(guān)系。 11 2.3 業(yè)務(wù)邏輯設(shè)計(jì) 在系統(tǒng)中,使用 spring 技術(shù)實(shí)現(xiàn)數(shù)據(jù)服務(wù)層,應(yīng)用的持久化層采用 hibernate 做中間件,并使用了 spring 為 hibernate 的 dao 提供工具類: hibernatedaosupport。dao 模式是 java ee 核心模式中的一種,主要目的就 是在業(yè)務(wù)核心方法和具體數(shù)據(jù)源之間再增加一層,用這一層來連接業(yè)務(wù)方法和 數(shù)據(jù)源,這樣就實(shí)現(xiàn)了兩者的解耦。 數(shù)據(jù)源是多樣化的,可能是 xml 或者關(guān)系數(shù)據(jù)庫。關(guān)系數(shù)據(jù)庫有不同的 產(chǎn)品,如 mysql 或者 oracle。通過使用 dao 模式,業(yè)務(wù)核心部分就不用關(guān)心 數(shù)據(jù)層是如何實(shí)現(xiàn)數(shù)據(jù)庫操作的,只關(guān)心自己的業(yè)務(wù)操作即可。數(shù)據(jù)庫的操作 全部扔給了 dao 代理。 圖 2-3 dao 模式 第三章 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)是系統(tǒng)開發(fā)過程中的一個(gè)重要環(huán)節(jié),它具體可以分為兩個(gè)部分: 一是概念模型設(shè)計(jì),即 e-r 圖的設(shè)計(jì)。二是物理模型設(shè)計(jì),即數(shù)據(jù)庫表/字段的 設(shè)計(jì)。 12 3.1 e-r 圖設(shè)計(jì) 對(duì)系統(tǒng)的實(shí)體關(guān)系(e-r)的設(shè)計(jì)是建立在需求分析、系統(tǒng)分析基礎(chǔ)之上 的。實(shí)體的設(shè)計(jì)相對(duì)比較簡單,包括品牌(brand) 、分類(category) 、商品 (goods) 、管理員(manager) 、會(huì)員(member) 、訂單(orders)和訂單項(xiàng) (orderitem) ,系統(tǒng)的 e-r 圖如下: 圖 3-1 系統(tǒng)的 e-r 圖 其中商品實(shí)體與分類實(shí)體是多對(duì)多的關(guān)系,品牌實(shí)體與商品實(shí)體、商品實(shí) 體與訂單項(xiàng)實(shí)體、訂單實(shí)體與訂單項(xiàng)實(shí)體、會(huì)員實(shí)體與訂單項(xiàng)實(shí)體是一對(duì)多的 關(guān)系。 3.2 物理建模 物理建模,即數(shù)據(jù)庫建模,建立在概念模型的基礎(chǔ)上,每一個(gè)實(shí)體對(duì)應(yīng)一 個(gè)數(shù)據(jù)庫表,實(shí)體中的每一個(gè)屬性對(duì)應(yīng)數(shù)據(jù)庫表的一個(gè)字段。有關(guān)系連接的實(shí) 體,在生成物理模型以后子表會(huì)繼承父表的主鍵生成子表的外鍵。系統(tǒng)數(shù)據(jù)庫 的物理模型如圖: 13 圖 3-2 系統(tǒng)數(shù)據(jù)庫的物理模型 至此,已經(jīng)確定了建立數(shù)據(jù)庫的相關(guān)信息,并且建立名為“shop”的數(shù)據(jù) 庫與名為“root”的數(shù)據(jù)庫用戶。 3.3 設(shè)計(jì)表結(jié)構(gòu) 在系統(tǒng)中有品牌表 brand、分類表 category、商品表 goods、商品分類關(guān)系 表 goodscategory、管理員表 manager、會(huì)員表 member、訂單表 orders 和訂單 項(xiàng)表 orderitem。 表 3-3-1 品牌表 brand 編號(hào)字段數(shù)據(jù)類型說明 1brandnoint品牌號(hào) 2namevarchar(255)名稱 3introtext描述 4logovarchar(255)logo 14 5siteurlvarchar(255)網(wǎng)站鏈接 表 3-3-2 分類表 category 編號(hào)字段數(shù)據(jù)類型說明 1categorynoint分類號(hào) 2namevarchar(255)名稱 3parentnoint父分類號(hào) 4cateordint分類順序 5ifpubtinyint是否發(fā)布 表 3-3-3 商品表 goods 編號(hào)字段數(shù)據(jù)類型說明 1goodsnoint商品號(hào) 2brandnoint品牌號(hào) 3namevarchar(255)名稱 4bsnvarchar(255)商品編碼 5introtext簡介 6memotext詳細(xì)描述 7brandvarchar(255)品牌 8storageint庫存 9unitvarchar(255)單位 10priceintrodecimal(12,2)市場價(jià)格 11pricedecimal(12,2)價(jià)格 12costpricedecimal(12,2)成本價(jià) 13bigimgvarchar(255)大圖片 14smallimgvarchar(255)小圖片 15showorderint顯示順序 16ifpubtinyint是否發(fā)布 17ifspecialtinyint是否特價(jià) 15 18ifhottinyint是否最熱 19ifnewtinyint是否最新 20ifrecommendtinyint是否推薦 表 3-3-4 商品分類關(guān)系表 goodscategory 編號(hào)字段數(shù)據(jù)類型說明 1gcnoint關(guān)系號(hào) 2categorynoint分類號(hào) 3goodsnoint商品號(hào) 4remarktext備注 表 3-3-5 管理員表 manager 編號(hào)字段數(shù)據(jù)類型說明 1mannoint管理員號(hào) 2loginnamevarchar(50)賬號(hào) 3passwordvarchar(32)密碼 4lastlogintimedatetime最后登錄時(shí)間 表 3-3-6 會(huì)員表 member 編號(hào)字段數(shù)據(jù)類型說明 1membernoint會(huì)員號(hào) 2levelnoint等級(jí)號(hào) 3loginnamevarchar(50)賬號(hào) 4passwordvarchar(32)密碼 5usernamevarchar(50)姓名 6sextinyint性別 7birthdaydate生日 8provincevarchar(20)省份 9cityvarchar(20)城市 16 10addrvarchar(200)地址 11zipvarchar(20)郵編 12emailvarchar(200)電子郵件 13telvarchar(30)電話 14movvarchar(30)手機(jī) 15oicqvarchar(18)qq 號(hào) 16regtimedatetime注冊(cè)時(shí)間 17ipvarchar(16)ip 地址 18pointint積分點(diǎn)數(shù) 19statetinyint狀態(tài) 20pwquestionvarchar(250)密碼問題 21pwanswervarchar(250)密碼答案 表 3-3-7 訂單表 orders 編號(hào)字段數(shù)據(jù)類型說明 1ordernoint訂單號(hào) 2membernoint會(huì)員號(hào) 3namevarchar(255)名稱 4addressvarchar(200)地址 5zipvarchar(20)郵編 6telphonevarchar(20)電話 7emailvarchar(200)電子郵件 8mobilevarchar(20)手機(jī) 9itemamountint項(xiàng)目數(shù) 10orderamountint訂單總數(shù) 11pricedecimal(12,2)價(jià)格 12statetinyint狀態(tài) 13createtimedatetime生成時(shí)間 14dealtimedatetime處理時(shí)間 17 表 3-3-8 訂單項(xiàng)表 orderitem 編號(hào)字段數(shù)據(jù)類型說明 1orderitemnoint訂單項(xiàng)號(hào) 2goodsnoint商品號(hào) 3ordernoint訂單號(hào) 4amountint數(shù)量 5pricedecimal(12,2)價(jià)格 6namevarchar(255)名稱 18 第四章 通用功能實(shí)現(xiàn) 在系統(tǒng)中,有些功能是所有模塊共享的,比如分頁查詢操作、事務(wù)等,這 里把它們實(shí)現(xiàn)為通用功能以便其他模塊可以共享。 4.1 分頁查詢功能 這里使用 hibernatedaosupport 技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫操作,通過輔助接口 pagetemplate 與 4 個(gè)輔助類 pagebean、pageresult、pagetemplateimpl、pagesupport 實(shí)現(xiàn)分頁查詢功能。 pagetemplate 定義 3 種分頁查詢接口,分別為不帶占位符的 hql 查詢、帶 一個(gè)占位符的 hql 查詢與帶多個(gè)占位符的 hql 查詢。pagetemplate 的實(shí)現(xiàn)類 pagetemplateimpl 繼承了 hibernatetemplate 類。pagetemplateimpl 提供默認(rèn)構(gòu) 造器與帶 sessionfactory 參數(shù)的構(gòu)造器,實(shí)現(xiàn)了 pagetemplate 接口的 3 個(gè) find() 方法,提供一個(gè)私有方法 getcountquerystring()得到查詢總記錄數(shù)用的 hql 語 句。 pagesupport 類繼承 hibernatedaosupport 類,它擁有 pagetemplate 類型的 pagetemplate 屬性,通過改寫父類的保護(hù)方法 createhibernatetemplate()創(chuàng)建 pagetemplate 類型的模板對(duì)象,并提供 getter 與 setter 方法得到或設(shè)置屬性 pagetemplate。 用于分頁查詢的類必須繼承 pagesupport 類。例如商品數(shù)據(jù)訪問 dao 類 goodsdao 支持分頁上得到所有商品列表,其繼承了 pagesupport 類,可以實(shí)現(xiàn) 分頁查詢功能。 4.2 struts 與 spring 的整合 struts 與 spring 的整合是把 spring 作為 struts 的一個(gè)插件實(shí)現(xiàn)的,通過 struts 的配置文件 struts-config.xml 配置,而 spring 的配置文件為 applicationcontext.xml 文件。 具體的 struts 的 action 與 spring 的 bean 的關(guān)聯(lián)是通過 org.springframework.web.struts.delegatingactionproxy 代理類實(shí)現(xiàn)的。例如通過 struts 中 action 的 path 名稱”/registersub”與 spring 中 bean 的 name 名稱” 19 /registersub”關(guān)聯(lián)起來。對(duì)”/registersub”請(qǐng)求會(huì)通過 name 名稱”/registersub”的 bean 對(duì)應(yīng)的 cn.struts.action.registersubaction 類來處理。 4.3 spring 與 hibernate 的整合 spring 與 hibernate 的整合是在 spring 配置 session 工廠實(shí)現(xiàn)的,通過 spring 的配置文件 applicationcontext.xml 來配置。例如配置名為”datasource”數(shù) 據(jù)源 bean,它是通過 org.springframework.orm.hibernate3.localsessionfactorybean 類配置數(shù)據(jù)庫 session 工廠,把”datasource”數(shù)據(jù)源作為一個(gè)屬性注入到數(shù)據(jù)庫 session 工廠中, 并通過屬性”mappingresources”配置數(shù)據(jù)映射關(guān)系文件。 4.4 聲明式事務(wù) 事務(wù)是通過 spring 的配置聲明的。在 applicationcontext.xml 配置文件里, 首先定義 id 為”transactionmanager”的事務(wù)管理器 bean,然后定義 id 為” goodsserviceimpl”不支持事務(wù)商品服務(wù) bean,再通過” erceptor.transactionproxyfactorybean”定義 id 為”goodsservice”支持事務(wù)商品服務(wù) bean。其中聲明了 cn.service.goodsserviceimpl 類中的以 log*開頭的方法為只讀型事務(wù),register() 方法為需要事務(wù)。在 register()方法中,如果拋出 actionexception 類型異常,事 務(wù)自動(dòng)回滾。 20 第五章 web services 在 myeclipse 中的應(yīng)用研究 5.1 將 java 類生成 wsdl 文件 右鍵單擊要生成 wsdl 文件的 java 類,之后點(diǎn)擊 run as run configurations ,然后新建一個(gè) configuration,然后在 main 選項(xiàng)卡的 main class 中輸入 org.apache.axis.wsdl.java2wsdl,如圖: 圖 5-1 將 java 類生成 wsdl 文件步驟一 接著在 arguments 選項(xiàng)卡的 program arguments 中輸入: -o userservicewsimpl.wsdl -l “http:/localhost:8080/shop/services/userservicewsimpl“ -n ““ -p“cn.servicews“ ““ cn.servicews.userservicewsimpl 21 如圖: 圖 5-2 將 java 類生成 wsdl 文件步驟二 最后點(diǎn)擊 run,axis 會(huì)在對(duì)應(yīng)目錄生成 wsdl 和一些相關(guān)的文件,如圖: 22 圖 5-3 將 java 類生成 wsdl 文件步驟三 5.2 用 wsdl 文件生成 java 服務(wù)類 右鍵單擊要生成 java 服務(wù)類的 wsdl 文件,之后點(diǎn)擊 run as run configurations ,然后新建一個(gè) configuration,然后在 main 選項(xiàng)卡的 main class 中輸入 org.apache.axis.wsdl.wsdl2java,如圖: 23 圖 5-4 用 wsdl 文件生成 java 服務(wù)類步驟一 接著在 arguments 選項(xiàng)卡的 program arguments 中輸入:-t -b -v -d -s -p cn.servicews e:struts2_workspaceshopwebrootwsdlgoodsservicewsimpl.wsdl 如圖: 24 圖 5-5 用 wsdl 文件生成 java 服務(wù)類步驟二 點(diǎn)擊 run 后,將在項(xiàng)目的根目錄下生成相關(guān)的服務(wù)類、build.xml 和 deploy.wsdd、undesploy.wsdd 等文件,如圖: 25 圖 5-6 用 wsdl 文件生成 java 服務(wù)類步驟三 5.3 服務(wù)的部署和生成server_config.wsdd 先啟動(dòng) tomcat,然后在命令行模式下,切換到 web 服務(wù)器里 java 類和 deploy.wsdd 所在的目錄,執(zhí)行如下命令:java -djava.ext.dirs=e:axis-1_4lib org.apache.axis.client.adminclient -lhttp:/localhost:8080/shop/services/goodsservicewsimpl deploy.wsdd ,之后會(huì)生成 server_config.wsdd 文件,如圖: 26 圖 5-7 生成 server_config.wsdd 文件 27 第六章 軟件設(shè)計(jì)及系統(tǒng)功能描述 6.1 會(huì)員注冊(cè) 圖 6-1 注冊(cè)頁面 注冊(cè)頁面中,會(huì)員填寫會(huì)員賬號(hào)、會(huì)員密碼、確認(rèn)密碼、姓名、性別、生 日、省份、城市、地址、郵編、電子郵件、電話和手機(jī)號(hào)碼等信息,之后單擊 【注冊(cè)】按鈕進(jìn)行注冊(cè)。如果注冊(cè)成功則在網(wǎng)上商城管理后臺(tái)會(huì)員管理頁面顯 示出來,并可進(jìn)行修改和刪除會(huì)員信息操作,如圖 6-2。 圖 6-2 網(wǎng)上商城管理后臺(tái)會(huì)員管理頁面 28 6.2 會(huì)員登錄 注冊(cè)成功后,輸入賬號(hào)與密碼,單擊【登錄】按鈕進(jìn)行登錄,如果成功則 轉(zhuǎn)到圖 6-3 所示的界面,否則提示相應(yīng)的錯(cuò)誤信息。圖 6-4 所示為“會(huì)員賬號(hào) 不存在”的情況。 圖 6-3 登錄成功 圖 6-4 登錄失敗 6.3 會(huì)員操作 會(huì)員登錄后可進(jìn)行首頁、分類查詢、熱賣商品、特價(jià)商品、最新商品、推 薦商品、品牌商品、商品信息、購物車和我的訂單等操作。 6.3.1 首頁 首頁顯示會(huì)員登錄、購物車、商品分類、熱賣商品、特價(jià)商品、最新商品、 推薦商品等信息,如圖: 29 圖 6-5 首頁 6.3.2 分類查詢 通過“商品分類”菜單進(jìn)入商品分類列表,如圖: 圖 6-6 商品分類列表 可以選擇某一分類進(jìn)入該分類商品列表頁面,可以通過翻頁查找需要的商 品,如圖所示: 30 圖 6-7 分類商品列表 6.3.3 熱賣商品 在首頁左邊列出 5 個(gè)當(dāng)前熱賣商品,界面如圖所示: 圖 6-8 熱賣商品 單擊【查看更多熱賣商品】進(jìn)入熱賣商品列表頁面,可以通過翻頁查找到 需要的商品,界面如圖所示: 圖 6-9 熱賣商品列表頁面 6.3.4 特價(jià)商品 在首頁列出當(dāng)前 5 個(gè)特價(jià)商品,界面如圖所示: 31 圖 6-10 特價(jià)商品 單擊【more】進(jìn)入特價(jià)商品列表頁面,可以通過翻頁查找到需要的商品, 如圖所示: 圖 6-11 特價(jià)商品列表頁面 6.3.5 最新商品 在首頁列出當(dāng)前一級(jí)分類下的最新商品列表,單擊不同分類將顯示不同分 類下的最新商品列表,如圖所示: 圖 6-12 最新商品列表 6.3.6 推薦商品 在首頁列出當(dāng)前 5 個(gè)推薦商品,如圖所示: 32 圖 6-13 推薦商品 單擊【more】按鈕進(jìn)入推薦商品列表頁面,可以通過翻頁查找到需要的 商品,如圖所示: 圖 6-14 推薦商品列表頁面 6.3.7 品牌商品 可通過“品牌”菜單轉(zhuǎn)到品牌列表,如圖所示: 圖 6-15 品牌列表 選擇某一品牌進(jìn)入品牌商品列表,可以通過翻頁查找到需要的商品,如圖 所示: 33 圖 6-16 品牌商品列表頁面 6.3.8 商品信息 單擊某一商品到商品信息頁面之后,單擊【立即購買】將進(jìn)入購物車頁面, 如圖所示: 圖 6-17 商品信息 6.3.9 購物車 購物車頁面列出當(dāng)前選購商品列表,如圖所示: 圖 6-18 購物車列表 可以改變選購商品的數(shù)量,單擊【繼續(xù)購物】將回到首頁,單擊【清空商 品】將清空選購商品。單擊【下一步】按鈕,如果會(huì)員未登錄,將提示會(huì)員先 34 登錄;如果已登錄將到下訂單頁面,如圖所示: 圖 6-19 下訂單頁面 填寫收貨人信息,單擊【下一步】生成訂單,如圖所示: 圖 6-20 訂單信息頁面 35 6.3.10 我的訂單 我的訂單列出當(dāng)前會(huì)員的訂單列表,用戶可以查看訂單詳情與取消未處理 的訂單,如圖所示: 圖 6-21 我的訂單列表 6.4 管理員后臺(tái)操作 管理員登錄管理系統(tǒng)后可以進(jìn)行首頁、商品管理、圖書管理、分類管理和 借閱管理。 6.4.1 管理首頁 提示管理員登錄系統(tǒng),如圖所示: 圖 6-22 管理后臺(tái)首頁 6.4.2 商品管理 管理員登錄后,選擇“商品”菜單,進(jìn)入“商品管理”界面。管理員可以 36 進(jìn)行添加、修改和刪除商品操作。 圖 6-23 添加商品頁面 37 添加商品成功后,可對(duì)商品進(jìn)行修改和刪除操作。 圖 6-24 添加商品成功頁面 6.4.3 品牌管理 管理員登錄后,選擇“品牌”菜單,進(jìn)入“品牌管理”界面。管理員可以 進(jìn)行添加、修改和刪除品牌操作。 圖 6-25 添加品牌頁面 38 添加品牌成功后,可對(duì)品牌進(jìn)行修改和刪除操作。 圖 6-26 添加品牌成功頁面 6.4.4 分類管理 管理員登錄后,選擇“分類”菜單,進(jìn)入“分類管理”界面。管理員可以 進(jìn)行添加、修改和刪除分類操作。 圖 6-27 添加分類頁面 添加分類成功后,可對(duì)分類進(jìn)行修改和刪除操作。 39 圖 6-28 添加分類成功頁面 6.4.5 會(huì)員管理 管理員登錄后,選擇“會(huì)員”菜單,進(jìn)入“會(huì)員管理”界面。管理員可以 進(jìn)行添加、修改和刪除會(huì)員操作,如圖所示: 圖 6-29 會(huì)員管理頁面 6.4.6 訂單管理 管理員登錄后,選擇“訂單”菜單,進(jìn)入“訂單管理”界面。管理員可以 進(jìn)行添加、修改和刪除訂單操作,如圖所示: 40 圖 6-30 訂單管理頁面 41 第七章 系統(tǒng)說明 7.1 本系統(tǒng)使用說明 項(xiàng)目名稱:基于 java ee 技術(shù)的網(wǎng)上商城系統(tǒng) 開發(fā)工具: myeclipse 7.5 數(shù)據(jù)庫:mysql 5.1 操作系統(tǒng):windows xp、windows2003 等 windows 體系操作系統(tǒng) 主要編程語言:java、javascript、xml、jsp 服務(wù)器:tomcat 6.0 7.2 使用步驟 1. 在使用本系統(tǒng)之前,首先要在 windows xp 等 windows 體系操作系統(tǒng)安 裝 mysql 5.1 數(shù)據(jù)庫和 tomcat 6.0 服務(wù)器; 2. 在瀏覽器地址欄輸入:11:8080/shopclient/main.do,進(jìn) 入網(wǎng)上商城系統(tǒng)首頁,輸入自己的會(huì)員賬號(hào)和密碼將出現(xiàn)圖 7-2-1,如 無會(huì)員賬號(hào)和密碼,點(diǎn)擊“會(huì)員登錄”里面的“注冊(cè)”按鈕進(jìn)行注冊(cè): 42 圖 7-1 網(wǎng)上商城系統(tǒng)客戶端 3. 在瀏覽器地址欄輸入:11:8080/shopmana/main.do,進(jìn) 入網(wǎng)上商城系統(tǒng)管理首頁,管理員賬號(hào):楊添,密碼:0907,成功 登錄管理系統(tǒng)之后會(huì)出現(xiàn)下圖: 圖 7-2 網(wǎng)上商城管理系統(tǒng) 43 第八章 系統(tǒng)測試 8.1 測試系統(tǒng)組件 在測試本系統(tǒng)基于 java ee 的組件時(shí),首先要決定某個(gè)測試需要在容器 之內(nèi)還是容器之外執(zhí)行。盡管容器內(nèi)的測試更真實(shí)地反映了最終運(yùn)行時(shí)的環(huán)境, 但它是很笨重、開銷很大的一種方法,不適合快速、容易的單元測試或功能測 試。另一方面,容器外的測試要求我們利用各種第三方的庫,手工建立環(huán)境, 以下是 java ee api 的測試方法匯總: java ee api 推薦的庫或框架 jndispring 的 simplenamingcontextbuilder jdbc c3p0、jakarta commons-dbcp、 spring 的 singleconnectiondatasource jtaatomikos、jotm jmsactivemq jpaspring ejb3spring pitchfork jax-wsxfire servletsjetty xmlxmlunit、dom4j、xpath 8.2 功能測試 測試目標(biāo) 測試程序代碼,清除無用代碼,盡可能避免系統(tǒng)突發(fā)錯(cuò)誤; 測試后臺(tái)數(shù)據(jù)庫的連接,優(yōu)化數(shù)據(jù)庫操作語句,保證系統(tǒng)性能 穩(wěn)定;測試系統(tǒng)功能是否達(dá)到預(yù)期效果,保證系統(tǒng)功能正確。 測試方法 使用不同的操作系統(tǒng),觀察本系統(tǒng)能否正常運(yùn)行; 44 利用有效的和無效的數(shù)據(jù)來執(zhí)行各個(gè)用例、流程或功能, 以核實(shí)以下內(nèi)容: 數(shù)據(jù)庫數(shù)據(jù)的保存和查詢得到正確數(shù)據(jù),錯(cuò)誤則彈出錯(cuò)誤 信息; 在使用有效數(shù)據(jù)時(shí)得到預(yù)期的結(jié)果; 在使用無效數(shù)據(jù)時(shí)顯示相應(yīng)的錯(cuò)誤消息或警告消息并觀察 數(shù)據(jù)是否異常,打印錯(cuò)誤信息。 測試結(jié)論 系統(tǒng)功能達(dá)到預(yù)期效果,通過測試。 8.3 界面測試 測試目標(biāo) 通過各種操作系統(tǒng)的不同配置,對(duì)界面效果進(jìn)行測試,觀 察界面是否正確顯示數(shù)據(jù)。 測
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)一年級(jí)20以內(nèi)連加連減口算練習(xí)題75道一張
- 小學(xué)數(shù)學(xué)一年級(jí)以內(nèi)加減法口算
- 自然辯證法復(fù)習(xí)題含答案完整版
- 內(nèi)蒙古阿拉善銀星風(fēng)力發(fā)電有限公司事故應(yīng)急預(yù)案
- 職稱述職報(bào)告
- 高考新課標(biāo)語文模擬試卷系列之72
- 《教育工作者的境界》課件
- 技能競賽與課外拓展活動(dòng)計(jì)劃
- 寵物用品行業(yè)安全工作總結(jié)
- 旅游行業(yè)的保安工作總結(jié)
- 2024CSCO胰腺癌診療指南解讀
- 窗簾采購?fù)稑?biāo)方案(技術(shù)方案)
- 電力安全工作規(guī)程考試試題(答案)
- 2024-2030年串番茄行業(yè)市場發(fā)展分析及前景趨勢與投資研究報(bào)告
- 城市燃?xì)夤芫W(wǎng)改造合同
- 2024-2025學(xué)年廣東省東莞市高三思想政治上冊(cè)期末試卷及答案
- 《水電站建筑物》課件
- 9-XX人民醫(yī)院樣本外送檢測管理制度(試行)
- 場地硬化合同范文
- 智力殘疾送教上門教案
- 2024北京市公安局平谷分局勤務(wù)輔警人員招聘筆試參考題庫含答案解析
評(píng)論
0/150
提交評(píng)論