国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Eclipse+Struts+Hibernate的網(wǎng)絡(luò)商店

Eclipse+Struts+Hibernate的網(wǎng)絡(luò)商店


本文介紹一下網(wǎng)絡(luò)商店的開發(fā)所需要的開發(fā)工具和架構(gòu)。

  基本配置

  開發(fā)本例需要的開發(fā)工具。

  ·開發(fā)平臺(tái):Eclipse 3.1。

  ·Web服務(wù)器:Tomcat 5。

  ·開發(fā)技術(shù):JSP,Struts框架,Hibernate技術(shù),JSTL。

  ·數(shù)據(jù)庫(kù)服務(wù)器: MySQL5.0。

  系統(tǒng)需求

  大部分讀者都有過(guò)在網(wǎng)上購(gòu)物的經(jīng)歷,在購(gòu)物網(wǎng)站可以很方便的注冊(cè)、瀏覽商品、查詢商品、購(gòu)買時(shí)也只需點(diǎn)幾下鼠標(biāo)。本章的網(wǎng)絡(luò)商店實(shí)現(xiàn)了上述的基本功能,用戶可以在網(wǎng)絡(luò)商店中進(jìn)行注冊(cè)、瀏覽商品以及查詢購(gòu)物車。下面來(lái)講解每個(gè)系統(tǒng)功能。

  1.登錄和注冊(cè)

  用戶登錄和注冊(cè)就是實(shí)現(xiàn)一個(gè)新的用戶注冊(cè)和老用戶的登陸,這兩個(gè)功能基本上每個(gè)電子商務(wù)網(wǎng)站上提供。用戶注冊(cè)就是新用戶可以在網(wǎng)絡(luò)商店進(jìn)行信息注冊(cè),這是購(gòu)物的前提。用戶必需先注冊(cè)才能進(jìn)行購(gòu)物。注冊(cè)時(shí)系統(tǒng)會(huì)對(duì)注冊(cè)信息進(jìn)行驗(yàn)證,以確保注冊(cè)信息的正確性。用戶登錄就是用戶可以在登陸頁(yè)面進(jìn)行登陸,在購(gòu)物結(jié)帳時(shí),用戶需要登陸信息,當(dāng)然在進(jìn)入系統(tǒng)開始的時(shí),用戶可以進(jìn)行登陸。登陸時(shí),如果用戶名密碼錯(cuò)誤,系統(tǒng)會(huì)提示錯(cuò)誤。

  2.商品瀏覽

  商品瀏覽是實(shí)現(xiàn)用戶可以在網(wǎng)絡(luò)商店中隨意瀏覽商品,商品是根據(jù)商品的類別來(lái)進(jìn)行分類的,用戶可以單擊每一個(gè)分類的鏈接來(lái)進(jìn)入每一個(gè)分類,查看的詳細(xì)信息。進(jìn)入每一個(gè)商品類別之后,商品是根據(jù)每個(gè)產(chǎn)品的類型再分類的。

  例如,進(jìn)入書這個(gè)大的類別,書有可以分很多種,如計(jì)算機(jī)相關(guān)的書,管理方面相關(guān)的書。用戶根據(jù)每一個(gè)產(chǎn)品鏈接來(lái)進(jìn)入每一個(gè)產(chǎn)品系列。例如單擊進(jìn)入計(jì)算機(jī)相關(guān)的書,進(jìn)入之后,列舉的就是每一個(gè)商品。單擊每一個(gè)商品就可以看到每一個(gè)商品的具體信息,例如單擊計(jì)算機(jī)程序設(shè)計(jì)藝術(shù),就可以看到這本書的出版日期,價(jià)格,書的大概內(nèi)容。如果覺得這本書很合適,就可以把它放進(jìn)購(gòu)物車。

  3.結(jié)帳

  在結(jié)帳的時(shí)候,系統(tǒng)會(huì)顯示用戶購(gòu)物車中已有的商品,包括產(chǎn)品名、產(chǎn)品數(shù)量、單價(jià)、總的價(jià)格以及是否有庫(kù)存。在最后確定訂單時(shí),用戶可以修改每一個(gè)商品的數(shù)量。例如計(jì)算機(jī)程序設(shè)計(jì)與藝術(shù)想買2本,則用戶可以修改它的購(gòu)買數(shù)量,更新購(gòu)物車就可以。如果用戶不想買這本書了,就可以把這本書從購(gòu)物車中消除。但是一旦單擊了結(jié)帳生成訂單,則購(gòu)物車就不能被改變了。

  根據(jù)上面大概的需求,畫出網(wǎng)絡(luò)商店的用例圖,如圖1所示。

  

  圖1 用例圖
系統(tǒng)功能描述

  在本節(jié)中,將以最直觀的方式來(lái)向讀者介紹整個(gè)系統(tǒng)要實(shí)現(xiàn)的功能。

  1、用戶注冊(cè)

  用戶注冊(cè)是網(wǎng)絡(luò)商店的基本功能之一。用戶如果想從網(wǎng)絡(luò)商店購(gòu)買商品,必須有一個(gè)網(wǎng)絡(luò)商店的賬號(hào)。用戶可以通過(guò)注冊(cè)獲得賬號(hào)。注冊(cè)頁(yè)面效果如圖2所示。

  當(dāng)注冊(cè)成功之后,會(huì)進(jìn)入到網(wǎng)絡(luò)商店的首頁(yè)。此時(shí)已經(jīng)以新的賬號(hào)登錄了網(wǎng)絡(luò)商店,系統(tǒng)頁(yè)面的首頁(yè)如圖3所示。在注冊(cè)時(shí),系統(tǒng)會(huì)對(duì)注冊(cè)信息作一些簡(jiǎn)單的驗(yàn)證,如果信息格式不對(duì),則注冊(cè)會(huì)失敗,系統(tǒng)會(huì)提示失敗的原因,注冊(cè)失敗如圖4所示。

  

  圖2 注冊(cè)頁(yè)面

  

  圖3 注冊(cè)成功

  2、用戶登錄

  當(dāng)用戶已經(jīng)擁有一個(gè)賬號(hào),就可以進(jìn)行登錄。當(dāng)用戶登錄系統(tǒng)首頁(yè)時(shí),可以點(diǎn)擊登陸鏈接盡心登錄。登錄頁(yè)面如圖5所示。如果登錄成功,則返回到系統(tǒng)的首頁(yè),如果登錄失敗則會(huì)轉(zhuǎn)入到失敗頁(yè)面,如圖6所示。

  


  圖4注冊(cè)失敗
  

  圖5 登錄頁(yè)面

  用戶成功登錄后,在系統(tǒng)的右上角有一個(gè)鏈接,單擊進(jìn)入可以修改跟人信息,如圖7所示。

  

  圖6 登錄失敗

  

  圖7 修改個(gè)人信息

  3、瀏覽商品

  用戶成功登錄后就可以瀏覽網(wǎng)路商店中的商品了。在首頁(yè)有幾種商品品種可以供用戶選擇的,如電子商品、書籍以及軟件。例如,用戶單擊軟件,進(jìn)入軟件商品的瀏覽,軟件商品下面分為Microsoft和kingsoft,如圖8所示。

  進(jìn)入某一個(gè)商品品種后,系統(tǒng)會(huì)列出這個(gè)商品品種下的所有商品系列,每一商品系列又有很多具體的商品,例如用戶單擊Microsoft,如圖9所示。

  

  圖8瀏覽商品

  

  圖9瀏覽具體商品

  在圖9的頁(yè)面中列出的是一個(gè)一個(gè)具體的商品,用戶可以單擊每一個(gè)商品名,以查看這個(gè)商品的具體信息。例如單擊anti spy,如圖10所示。

  4、購(gòu)物

  當(dāng)用戶瀏覽商品時(shí),看中了一個(gè)商品,就可以把這個(gè)商品放到自己購(gòu)物車中。每一個(gè)商品都有一個(gè)鏈接提供放入購(gòu)物車。單擊放入購(gòu)物車,如圖11所示。

  

  圖10 商品具體信息

  

  圖11 查看購(gòu)物車

  在查看購(gòu)物車頁(yè)面中有很多供選擇的操作,如刪除一個(gè)購(gòu)物車。當(dāng)用戶單擊刪除,如圖12所示,系統(tǒng)還是會(huì)跳轉(zhuǎn)到購(gòu)物車頁(yè)面。如果用戶覺得某一個(gè)商品的數(shù)量不合適,用戶可以更改該商品的數(shù)量,在數(shù)量這一欄中填上要購(gòu)買的數(shù)量,然后單擊更新購(gòu)物車,如圖13所示。

  

  圖12 刪除一個(gè)商品

  

  圖13 更改商品的數(shù)量

  5、結(jié)帳

  查看購(gòu)物車之后,如果用戶想進(jìn)行結(jié)帳可以單擊結(jié)帳鏈接,如圖14所示。單擊下一步鏈接,就可以查看該訂單的詳細(xì)情況,如圖15所示

  

  圖14 結(jié)帳
  

  圖15 訂單詳細(xì)信息

  查看訂單詳細(xì)后,然后單擊下一步鏈接,就是訂單的確認(rèn)了,如圖16所示

  訂單確認(rèn)完畢之后,就是訂單的生成了。如果單擊下一步鏈接,生成訂單,此時(shí)訂單不能在被修改了。如圖17所示。

  

   圖16確認(rèn)訂單
  

   圖17訂單生成

系統(tǒng)設(shè)計(jì)

  在對(duì)系統(tǒng)的需求進(jìn)行了分析以后,接下來(lái)開始對(duì)系統(tǒng)的整體架構(gòu)進(jìn)行設(shè)計(jì)。本章的重點(diǎn)在于講述如何進(jìn)行開發(fā),而不是在于如何進(jìn)行設(shè)計(jì)。因此,在設(shè)計(jì)這一部分只是簡(jiǎn)單進(jìn)行了介紹,目的是為了使讀者更容易理解整個(gè)系統(tǒng)。

  1、系統(tǒng)架構(gòu)設(shè)計(jì)

  整個(gè)應(yīng)用程序遵循多層次的架構(gòu)模式,從上到下依次為視圖層、控制器層、模型層、持久化層和數(shù)據(jù)庫(kù)層,如圖18所示。前面三層其實(shí)就是Struts框架的基本基本層次。持久化層則是Hibernate來(lái)創(chuàng)建的。

  

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

  其中,模型層、持久化層、數(shù)據(jù)庫(kù)層之間的關(guān)系是上層依賴下一層,而下一層對(duì)上一層的依賴很少,如同網(wǎng)絡(luò)的ISO七層模型。各層次間的依賴關(guān)系應(yīng)該是自頂向下的,即上層可以依賴下層,而下層應(yīng)該盡量減少對(duì)上層的依賴。

  例如,此時(shí)在系統(tǒng)中使用Hibernate來(lái)實(shí)現(xiàn)持久化層,若要采用其他機(jī)制實(shí)現(xiàn)持久化層時(shí),則不需要改動(dòng)業(yè)務(wù)邏輯中的代碼。而視圖層和控制器層都是通過(guò)Struts框架來(lái)實(shí)現(xiàn)的。模型層實(shí)際上又可細(xì)分為數(shù)據(jù)訪問層(DAO)和數(shù)據(jù)服務(wù)層(Manager)。持久化層是使用Hibernate實(shí)現(xiàn)的,在這層使用了DAO模式,所以這層又可分為數(shù)據(jù)訪問層和數(shù)據(jù)服務(wù)層。

  2、業(yè)務(wù)實(shí)體設(shè)計(jì)

  一個(gè)系統(tǒng)的業(yè)務(wù)實(shí)體在內(nèi)存中表現(xiàn)為實(shí)體域?qū)ο?,在?shù)據(jù)庫(kù)中表現(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)建對(duì)象—關(guān)系映射文件。

  在網(wǎng)絡(luò)商店中有以下的業(yè)務(wù)實(shí)體:用戶、具體商品、商品系類、商品類、訂單、訂單項(xiàng)、購(gòu)物車和購(gòu)物車中具體的商品。下面對(duì)這些業(yè)務(wù)實(shí)體作一個(gè)簡(jiǎn)單的解釋,后面章節(jié)會(huì)有詳細(xì)的解釋。

  ·用戶:代表一個(gè)用戶實(shí)體,主要包括用戶的詳細(xì)信息,如用戶名,密碼,地址之類的。

  ·具體商品:代表每一個(gè)具體的商品信息,如上面提到的計(jì)算機(jī)程序設(shè)計(jì)藝術(shù),主要包括商品的名字,價(jià)格等。

  ·商品系類:代表一系類商品,如前面提到計(jì)算機(jī)相關(guān)書籍。

  ·商品類別:代表一類商品,如前面提到的書。

  ·訂單:代表用戶的訂單,主要包括訂單名,用戶信息,訂單的具體內(nèi)容。

  ·訂單項(xiàng):代表訂單中具體項(xiàng),一個(gè)訂單項(xiàng)包括一個(gè)商品的購(gòu)買情況。

  ·購(gòu)物車:代表用戶的購(gòu)物車,是一個(gè)虛擬的概念。

  ·購(gòu)物車中的具體商品:代表購(gòu)物車中每一個(gè)具體的購(gòu)物項(xiàng)。

  這些實(shí)體之間的關(guān)系如圖19所示。

  

  圖19 業(yè)務(wù)實(shí)體關(guān)系圖

  如圖19所示,這里來(lái)介紹一下各實(shí)體之間的對(duì)應(yīng)關(guān)系。

  ·用戶和訂單:一個(gè)用戶可以擁有多個(gè)訂單,一個(gè)訂單只能屬于一個(gè)用戶,他們之間的關(guān)系是一對(duì)多的關(guān)系。在數(shù)據(jù)庫(kù)表中是表現(xiàn)為訂單表中有一個(gè)用戶表的外鍵,在Hibernate中則表現(xiàn)為訂單持久化類中有一個(gè)用戶持久化類引用。

  ·訂單與訂單項(xiàng):一個(gè)訂單中可以有很多訂單項(xiàng),一個(gè)訂單項(xiàng)只是對(duì)一個(gè)具體商品的封裝。訂單與訂單項(xiàng)的關(guān)系在Hibernate中表現(xiàn)為一個(gè)訂單項(xiàng)中有一個(gè)訂單的持久化類引用。

  ·訂單項(xiàng)與商品:一個(gè)訂單項(xiàng)就是對(duì)商品的封裝,一個(gè)商品就是這個(gè)商品的詳細(xì)信息,訂單項(xiàng)中除了有這個(gè)商品的信息,還有這個(gè)商品的購(gòu)買數(shù)量,屬于哪個(gè)訂單等。

  ·商品系列與商品:一個(gè)商品系列有多個(gè)商品,如同計(jì)算機(jī)方面書籍與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)關(guān)系。

  ·商品類別與商品系列,一個(gè)商品類別有多個(gè)商品系列,如同書與計(jì)算機(jī)方面書籍的關(guān)系。

  ·購(gòu)物車與購(gòu)物商品,用戶的購(gòu)物車中可以有多個(gè)購(gòu)物商品,由于是網(wǎng)上購(gòu)物,也許購(gòu)物車中把一個(gè)沒有庫(kù)存的商品放到了購(gòu)物車中,所以購(gòu)物商品就必須有這個(gè)信息。

  ·購(gòu)物商品與商品,這個(gè)關(guān)系同訂單項(xiàng)與商品的關(guān)系類似,只是購(gòu)物商品對(duì)商品的封裝角度不一樣,購(gòu)物商品中除了要記錄商品的數(shù)量還需記錄它的庫(kù)存情況。

  以上是系統(tǒng)中所有實(shí)體域模型之間的關(guān)系的定義。

  3、業(yè)務(wù)邏輯設(shè)計(jì)

  在本系統(tǒng)中,應(yīng)用的持久化層采用Hibernate做為中間件,并使用了DAO設(shè)計(jì)模式實(shí)現(xiàn)對(duì)數(shù)據(jù)層的訪問。DAO模式是J2EE核心模式中的一種,其主要的行為就是在業(yè)務(wù)核心方法和具體數(shù)據(jù)源之間再增加一層,用這一層來(lái)連接業(yè)務(wù)方法和數(shù)據(jù)源,這樣就實(shí)現(xiàn)了兩者的解耦。

  因?yàn)榫唧w持久層數(shù)據(jù)源可能是多樣化的,可能是XML或者是關(guān)系數(shù)據(jù)庫(kù)。在具體的關(guān)系數(shù)據(jù)庫(kù)中,也可能是不同的產(chǎn)品,如Oracle或者M(jìn)ySQL。通過(guò)使用DAO模式,業(yè)務(wù)核心部分就不用關(guān)心數(shù)據(jù)層是如何實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作的,而只關(guān)心自己的業(yè)務(wù)操作,對(duì)數(shù)據(jù)庫(kù)的操作全部仍給了DAO代理,如圖20所示。

  

  圖20 DAO模式
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【SSH2框架(理論篇)】
Struts Hibernate簡(jiǎn)化J2EE的文件操作
基于手機(jī)支付方式的電子商務(wù)網(wǎng)站
ECShop:商店設(shè)置
當(dāng)用戶想隨時(shí)隨地“購(gòu)物”,商家只有一個(gè)選擇:決勝移動(dòng)終端
無(wú)人商店興起,RFID無(wú)人零售的三種模式你都懂嗎
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服