基于Java Web SSH框架的網(wǎng)上書(shū)店

上傳人:仙*** 文檔編號(hào):29005669 上傳時(shí)間:2021-09-23 格式:DOC 頁(yè)數(shù):54 大小:2.02MB
收藏 版權(quán)申訴 舉報(bào) 下載
基于Java Web SSH框架的網(wǎng)上書(shū)店_第1頁(yè)
第1頁(yè) / 共54頁(yè)
基于Java Web SSH框架的網(wǎng)上書(shū)店_第2頁(yè)
第2頁(yè) / 共54頁(yè)
基于Java Web SSH框架的網(wǎng)上書(shū)店_第3頁(yè)
第3頁(yè) / 共54頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《基于Java Web SSH框架的網(wǎng)上書(shū)店》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于Java Web SSH框架的網(wǎng)上書(shū)店(54頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、X X 科 技 大 學(xué)畢 業(yè) 設(shè) 計(jì)( 論 文 )題目基于Java Web SSH框架的網(wǎng)上書(shū)店作者 學(xué)院 專業(yè) 學(xué)號(hào) 指導(dǎo)教師 2013 年 月 日X X 科 技 大 學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū) 學(xué)院 系(教研室)系(教研室)主任: (簽名) 年 月 日學(xué)生姓名: 學(xué)號(hào): 專業(yè): 1 設(shè)計(jì)(論文)題目及專題: 基于Java Web SSH框架的網(wǎng)上書(shū)店 2 學(xué)生設(shè)計(jì)(論文)時(shí)間:自 2013 年 月 日開(kāi)始至 2013 年 月 日止3 設(shè)計(jì)(論文)所用資源和參考資料:1 徐建波 編著 Java Web 應(yīng)用開(kāi)發(fā)原理與技術(shù)M. 國(guó)防科技大學(xué)出版社2 (美) Y.Daniel Liang 編著 J

2、ava 語(yǔ)言程序設(shè)計(jì)進(jìn)階篇M. 機(jī)械工業(yè)出版社 3 戎偉 猛劼 蘇微 編著 解密J2EE 項(xiàng)目開(kāi)發(fā)的70個(gè)問(wèn)題4 (美) Roger S.Pressman 編著 軟件工程4 設(shè)計(jì)(論文)應(yīng)完成的主要內(nèi)容:基于Java Web 三大框架(SSH)技術(shù)開(kāi)發(fā)的網(wǎng)上書(shū)店,包括前臺(tái)展示和后臺(tái)管理兩個(gè)部分;其中前臺(tái)展示包括登陸模塊、注冊(cè)模塊、首頁(yè)展示、圖書(shū)展示、圖書(shū)購(gòu)買(mǎi)、產(chǎn)生訂單;后臺(tái)管理包括廣告管理模塊、用戶管理模塊、圖書(shū)管理模塊、訂單管理模塊。 5 提交設(shè)計(jì)(論文)形式(設(shè)計(jì)說(shuō)明與圖紙或論文等)及要求:(1)論文思路清晰,條理清楚,中心突出,內(nèi)容充實(shí),論據(jù)充分,結(jié)構(gòu)緊湊,層次分明,圖表清晰,格式規(guī)范,

3、結(jié)論正確;按湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)要求與規(guī)范編排、打印文稿;(2)上交論文(紙質(zhì))打印文稿和系統(tǒng)源碼(電子版);6 發(fā)題時(shí)間: 年 月 日指導(dǎo)教師: (簽名)學(xué) 生: (簽名)X X 科 技 大 學(xué)畢業(yè)設(shè)計(jì)(論文)指導(dǎo)人評(píng)語(yǔ) 主要對(duì)學(xué)生畢業(yè)設(shè)計(jì)(論文)的工作態(tài)度,研究?jī)?nèi)容與方法,工作量,文獻(xiàn)應(yīng)用,創(chuàng)新性,實(shí)用性,科學(xué)性,文本(圖紙)規(guī)范程度,存在的不足等進(jìn)行綜合評(píng)價(jià)指導(dǎo)人: (簽名)年 月 日 指導(dǎo)人評(píng)定成績(jī): X X 科 技 大 學(xué)畢業(yè)設(shè)計(jì)(論文)評(píng)閱人評(píng)語(yǔ) 主要對(duì)學(xué)生畢業(yè)設(shè)計(jì)(論文)的文本格式、圖紙規(guī)范程度,工作量,研究?jī)?nèi)容與方法,實(shí)用性與科學(xué)性,結(jié)論和存在的不足等進(jìn)行綜合評(píng)價(jià)

4、評(píng)閱人: (簽名)年 月 日 評(píng)閱人評(píng)定成績(jī): X X 科 技 大 學(xué)畢業(yè)設(shè)計(jì)(論文)答辯記錄日期: 學(xué)生: 學(xué)號(hào): 班級(jí): 題目: 提交畢業(yè)設(shè)計(jì)(論文)答辯委員會(huì)下列材料:1 設(shè)計(jì)(論文)說(shuō)明書(shū)共頁(yè)2 設(shè)計(jì)(論文)圖 紙共頁(yè)3 指導(dǎo)人、評(píng)閱人評(píng)語(yǔ)共頁(yè)畢業(yè)設(shè)計(jì)(論文)答辯委員會(huì)評(píng)語(yǔ): 主要對(duì)學(xué)生畢業(yè)設(shè)計(jì)(論文)的研究思路,設(shè)計(jì)(論文)質(zhì)量,文本圖紙規(guī)范程度和對(duì)設(shè)計(jì)(論文)的介紹,回答問(wèn)題情況等進(jìn)行綜合評(píng)價(jià)答辯委員會(huì)主任: (簽名)委員: (簽名)(簽名)(簽名)(簽名) 答辯成績(jī): 總評(píng)成績(jī): 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)摘 要趕快寫(xiě)英文摘要,明天寫(xiě)完發(fā)給我改隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)上購(gòu)

5、物越來(lái)越流行,而網(wǎng)上書(shū)店更是逐漸受到越來(lái)越多的人關(guān)注,不用涉及交通、不用到書(shū)店翻閱、即可看到全國(guó)各地的書(shū)籍價(jià)格、更加全面地搜索自己喜歡的書(shū)籍、需要的書(shū)籍。通過(guò)網(wǎng)絡(luò)銷(xiāo)售系統(tǒng)的平臺(tái),商家將擁有更大的市場(chǎng),能更加及時(shí)快速地得到用戶對(duì)于商品的反響,可以隨時(shí)調(diào)整銷(xiāo)售策略,提高商家的市場(chǎng)競(jìng)爭(zhēng)力。對(duì)于消費(fèi)者也提供了方便,消費(fèi)者可以不受時(shí)間和地域的限制進(jìn)行購(gòu)物,并且可以獲取更多信息.。本文闡述了如何構(gòu)建基于B/S 架構(gòu),以O(shè)racle數(shù)據(jù)庫(kù)為基礎(chǔ),應(yīng)用Java Web SSH框架的網(wǎng)上書(shū)店,系統(tǒng)主要完成以下基本的功能:主要是前臺(tái)展示和后臺(tái)管理兩個(gè)部分;其中前臺(tái)展示包括登陸模塊、注冊(cè)模塊、首頁(yè)展示、圖書(shū)展示、圖

6、書(shū)購(gòu)買(mǎi)、產(chǎn)生訂單;后臺(tái)管理包括廣告管理模塊、用戶管理模塊、圖書(shū)管理模塊、訂單管理模塊。本次課題主要采用java語(yǔ)言作為程序的開(kāi)發(fā)語(yǔ)言,采用Oracle數(shù)據(jù)庫(kù)作為數(shù)據(jù)庫(kù),MyEclipse6.5作為開(kāi)發(fā)工作,運(yùn)用PowerDesigner作為數(shù)據(jù)庫(kù)建模工具,運(yùn)用的知識(shí)還有JavaScript ,CSS, HTML 等知識(shí)。這兩段修改如下:本文闡述了如何構(gòu)建基于B/S 架構(gòu),以O(shè)racle數(shù)據(jù)庫(kù)為基礎(chǔ),應(yīng)用Java Web SSH框架的網(wǎng)上書(shū)店,系統(tǒng)主要完成以下基本功能:前臺(tái)包括注冊(cè)與登陸、圖書(shū)展示、圖書(shū)購(gòu)買(mǎi)、訂單產(chǎn)生;后臺(tái)管理包括廣告管理、用戶管理、圖書(shū)管理、訂單管理。本次課題設(shè)計(jì)采用的開(kāi)發(fā)語(yǔ)言

7、是java,數(shù)據(jù)庫(kù)是Oracle,開(kāi)發(fā)工具是MyEclipse6.5,數(shù)據(jù)庫(kù)建模工具是PowerDesigner,此外還運(yùn)用了JavaScript ,CSS, HTML 等知識(shí)。關(guān)鍵字:SSH框架;java;網(wǎng)上書(shū)店;B/S 架構(gòu);目 錄第一章 引言- 1 -1.1 項(xiàng)目背景- 1 -1.2 項(xiàng)目目的- 1 -1.3 主要內(nèi)容- 2 -第二章 系統(tǒng)理論和技術(shù)- 3 -2.1 MyEclipse 的簡(jiǎn)介- 3 -2.2 SSH框架的簡(jiǎn)介- 3 -2.3 B/S架構(gòu)的簡(jiǎn)介- 5 -2.3 Java簡(jiǎn)介- 5 -2.4 Java Web工程的基本介紹- 6 -2.2.1 建立Web工程的基本步驟-

8、6 -2.2.2 Java Web 工程目錄結(jié)構(gòu)- 6 -2.3 Oracle數(shù)據(jù)庫(kù)- 6 -2.3.1 Oracle 數(shù)據(jù)庫(kù)簡(jiǎn)介- 6 -2.3.2 Oracle數(shù)據(jù)庫(kù)的特點(diǎn)- 6 -第三章 系統(tǒng)需求分析與設(shè)計(jì)- 8 -3.1 可行性分析- 8 -3.2 功能需求分析- 8 -3.3 系統(tǒng)用例模型- 11 -3.3.1 普通用戶用例圖- 11 -3.3.2 管理員用例圖- 11 -3.4 系統(tǒng)體系結(jié)構(gòu)- 12 -3.5 數(shù)據(jù)庫(kù)設(shè)計(jì)- 13 -3.3.1 數(shù)據(jù)庫(kù)表E-R圖- 14 -3.3.2 數(shù)據(jù)庫(kù)表分析- 14 -第四章 系統(tǒng)實(shí)現(xiàn)- 16 -4.1 搭建開(kāi)發(fā)環(huán)境- 16 -4.1.1 安裝

9、開(kāi)發(fā)工具- 16 -4.1.2 開(kāi)發(fā)軟件的配置- 16 -4.1.3 建立web工程搭建開(kāi)發(fā)框架- 17 -4.2 數(shù)據(jù)庫(kù)實(shí)現(xiàn)- 17 -4.2.1 數(shù)據(jù)庫(kù)表字段設(shè)計(jì)- 17 -4.2.2 數(shù)據(jù)庫(kù)連接實(shí)現(xiàn)- 20 -4.3 前臺(tái)主要功能模塊- 21 -4.3.1 登陸功能的實(shí)現(xiàn)- 21 -4.3.2 注冊(cè)功能的實(shí)現(xiàn)- 23 -4.3.3 首頁(yè)功能實(shí)現(xiàn)- 25 -4.3.4 圖書(shū)瀏覽功能- 27 -4.3.5 訂單功能- 28 -4.3.6 購(gòu)物車(chē)功能- 30 -4.10 后臺(tái)管理功能- 34 -4.10.1 后臺(tái)管理功能流程- 34 -4.10.2 用戶管理- 35 -4.10.3 廣告管理-

10、 37 -4.10.4 圖書(shū)管理- 38 -第五章 總結(jié)與問(wèn)題分析- 41 -5.1 系統(tǒng)問(wèn)題分析總結(jié)- 41 -5.2 開(kāi)發(fā)過(guò)程中常見(jiàn)問(wèn)題分析- 41 -第六章 總結(jié)- 44 -參 考 文 獻(xiàn)- 45 -致 謝- 46 - ii - 第一章 引言 1.1 項(xiàng)目背景 隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,越來(lái)越多的人熱衷于上網(wǎng)。隨著用戶的不斷增加,其規(guī)模迅速擴(kuò)大,它的領(lǐng)域也走向多元化。除了原先的科學(xué)技術(shù)和教育外,Internet已進(jìn)入了文化、經(jīng)濟(jì)、政治、新聞、體育、娛樂(lè)、商業(yè)和服務(wù)業(yè)??梢灶A(yù)見(jiàn)Internet將成為我們構(gòu)筑未來(lái)嶄新的生活方式。10電子商務(wù)就是在這樣一個(gè)背景下產(chǎn)生和發(fā)展起來(lái)的。伴隨著電子商務(wù)技

11、術(shù)的不斷成熟,電子商務(wù)的功能也越來(lái)越強(qiáng)大。書(shū)城交易網(wǎng)站就是Internet和電子商務(wù)發(fā)展的產(chǎn)物,近幾年在我國(guó)發(fā)展迅猛,如同一些書(shū)店紛紛在各地開(kāi)設(shè)分店以拉近書(shū)店與顧客間距離一樣。隨著科學(xué)技術(shù)的飛速發(fā)展,Internet已經(jīng)成了普通百姓都可以初級(jí)的大中型媒體傳播手段。隨著現(xiàn)今全民素質(zhì)和科學(xué)技術(shù)水平的不斷提高,知識(shí)更新的越來(lái)越快。人們隨時(shí)都會(huì)有被淘汰的危機(jī),為了不讓社會(huì)淘汰,做到與時(shí)俱進(jìn)就必須多讀書(shū)不斷學(xué)習(xí)。21世紀(jì)是網(wǎng)絡(luò)的時(shí)代、信息的時(shí)代,時(shí)間是非常的寶貴的。人們由于種種原因沒(méi)有時(shí)間到書(shū)店去,也不知道哪家書(shū)店有自己需要的書(shū)籍,同時(shí)那些傳統(tǒng)書(shū)店的經(jīng)營(yíng)者又沒(méi)什么好的方法讓人們知道我這就有顧客需要的書(shū)籍

12、,這種買(mǎi)賣(mài)雙方之間交流上的阻礙成為“網(wǎng)上書(shū)店”網(wǎng)站發(fā)展的原動(dòng)力。網(wǎng)上書(shū)店的出現(xiàn)可以更好地解決這方面的問(wèn)題。11網(wǎng)上書(shū)店在價(jià)格、時(shí)效性、品種、查詢方式等方面都有優(yōu)勢(shì)。網(wǎng)上書(shū)店是一種直銷(xiāo)方式,速度和價(jià)格上都有優(yōu)勢(shì),在價(jià)格上一般網(wǎng)上書(shū)店都有7.5-9折的折扣,如果是特價(jià)書(shū)折扣就更多了,網(wǎng)上書(shū)店的書(shū)目數(shù)據(jù)是任何訂購(gòu)書(shū)目都無(wú)法比擬的,亞馬遜網(wǎng)上書(shū)店有300多萬(wàn)種圖書(shū),另外還有音樂(lè)系列產(chǎn)品和其它教育產(chǎn)品,剛剛成立的北京圖書(shū)大廈網(wǎng)上書(shū)店也有16萬(wàn)種書(shū)目數(shù)據(jù),“中國(guó)尋書(shū)網(wǎng)”目前也有50萬(wàn)種書(shū)籍,年度將突破100萬(wàn)種圖書(shū),網(wǎng)上書(shū)店的書(shū)目除書(shū)名,著者,價(jià)格等信息外,還有封面,內(nèi)容簡(jiǎn)介,目次,評(píng)論等詳細(xì)信息。同時(shí)網(wǎng)

13、上書(shū)店的目錄查詢功能也是傳統(tǒng)的按某種分類規(guī)則編排的圖書(shū)征訂目錄無(wú)法比擬的,其以關(guān)鍵詞或主題從網(wǎng)上檢索某類文獻(xiàn),查準(zhǔn)率與查全率都有一定的保障。另外還有一些書(shū)更是以網(wǎng)站包銷(xiāo)或總代理的形式進(jìn)行銷(xiāo)售,這就意味著一種全新的電子商務(wù)模式的開(kāi)始。101.2 項(xiàng)目目的隨著網(wǎng)絡(luò)信息技術(shù)的高速發(fā)展,電子商務(wù)迅速發(fā)展。網(wǎng)上購(gòu)物越來(lái)越流行。注冊(cè)用戶可以在網(wǎng)上搜索購(gòu)買(mǎi)到自己想要的各種商品,讓人們體會(huì)到了足不出戶,便可隨意購(gòu)物的快感。而書(shū)籍作為一種文化的載體、智慧的結(jié)晶,一直是人們生活中必需的物品。由于書(shū)籍本身不像其他商品一樣,存在多種必需當(dāng)面檢查質(zhì)量。因此網(wǎng)上書(shū)店是發(fā)展的最迅速的。網(wǎng)上書(shū)店在價(jià)格、時(shí)效性、品種、查詢方式

14、等方面都有優(yōu)勢(shì)。因此開(kāi)發(fā)一個(gè)網(wǎng)上書(shū)店是很有必要的。隨著Java Web技術(shù)的發(fā)展,Java 語(yǔ)言尤其擅長(zhǎng)B/S機(jī)構(gòu)的系統(tǒng)開(kāi)發(fā)。本次課題采用J2EE SSH框架 集合JSP、JavaScript、CSS、HTML等知識(shí)聯(lián)合設(shè)計(jì)。主要的目的是:針對(duì)目前較流行的框架技術(shù)進(jìn)行一定的了解和熟悉。體會(huì)框架開(kāi)發(fā)Web應(yīng)用程序的好處。掌握Struts框架實(shí)現(xiàn)MVC模式結(jié)構(gòu)清晰,開(kāi)發(fā)者只關(guān)注業(yè)務(wù)邏輯的實(shí)現(xiàn)的優(yōu)點(diǎn)。熟悉掌握Hibernate框架對(duì)于數(shù)據(jù)庫(kù)操作的基本方法和步驟,體會(huì)代碼冗余時(shí)的復(fù)雜,熟悉hibernate基本編程步驟,了解數(shù)據(jù)庫(kù)表和實(shí)體類一一對(duì)應(yīng)的基本編程思想。掌握Spring框架的反轉(zhuǎn)控制思想(I

15、nverse Of Control) 和工程設(shè)計(jì)模式。掌握基本的XML 文件的配置,學(xué)會(huì)CSS+JS+JSP開(kāi)發(fā)B/S結(jié)構(gòu)模式的瀏覽器程序。通過(guò)本次課題的研究達(dá)到對(duì)于現(xiàn)在主流框架技術(shù)有一點(diǎn)的了解,懂得如何開(kāi)發(fā)B/S架構(gòu)的應(yīng)用程序,對(duì)于現(xiàn)在網(wǎng)上書(shū)店系統(tǒng)業(yè)務(wù)流程有一點(diǎn)的認(rèn)知。進(jìn)一步推廣網(wǎng)上書(shū)店的發(fā)展。1.3 主要內(nèi)容近年來(lái),隨著Internet技術(shù)的迅猛發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)給人們的工作、學(xué)習(xí)和日常生活帶來(lái)很大的便利,同時(shí)開(kāi)發(fā)Web的技術(shù)也在不斷更新,框架技術(shù)日趨成熟,特別是B/S架構(gòu)的提出,使得框架技術(shù)在B/S架構(gòu)系統(tǒng)上的優(yōu)勢(shì)尤為突出。本課題采用SSH框架結(jié)合Servlet、JavaScript、JS

16、P、XML 等技術(shù),基于B/S結(jié)構(gòu)開(kāi)發(fā)的網(wǎng)上書(shū)店系統(tǒng),主要就是框架技術(shù)的應(yīng)用,掌握如何結(jié)合數(shù)據(jù)庫(kù)知識(shí)和框架技術(shù)開(kāi)發(fā)出高效、簡(jiǎn)潔、省事的系統(tǒng)。本論文具體章節(jié)安排如下:第一章:引言。介紹課題研究的背景和目的。第二章:系統(tǒng)開(kāi)發(fā)相關(guān)的概念和理論以及技術(shù)。第三章:系統(tǒng)分析和設(shè)計(jì)。第四章:系統(tǒng)的實(shí)現(xiàn)。該部分是該課題的核心部分,包括開(kāi)發(fā)運(yùn)行環(huán)境構(gòu)建,數(shù)據(jù)庫(kù)實(shí)現(xiàn)以及根據(jù)需求分析和技術(shù)分析來(lái)實(shí)現(xiàn)系統(tǒng)的各個(gè)模塊功能,使系統(tǒng)能夠正常運(yùn)行,包括開(kāi)發(fā)過(guò)程中遇到的問(wèn)題記載和分析。第五章:總結(jié)與問(wèn)題分析。對(duì)本課題的重點(diǎn)難點(diǎn)做一個(gè)分析,提出對(duì)本系統(tǒng)需要改進(jìn)與加強(qiáng)的地方。第六章:結(jié)束語(yǔ)。對(duì)本次課題研究的感想以及學(xué)到的知識(shí)和開(kāi)發(fā)

17、經(jīng)驗(yàn)的一個(gè)總結(jié)和對(duì)后期開(kāi)發(fā)的一個(gè)展望。- 2 -第二章 系統(tǒng)理論和技術(shù)2.1 MyEclipse 的簡(jiǎn)介MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,JavaScript,Spring,SQL,Hibernate。MyEclipse 是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)Java,

18、 J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能??梢哉f(shuō)MyEclipse幾乎囊括了目前所有主流開(kāi)源產(chǎn)品的專屬eclipse開(kāi)發(fā)工具。12.2 SSH框架的簡(jiǎn)介SSH框架是指Struts 框架、Spring框架和Hibernate 框架的集成。是目前較為流行的一種Web應(yīng)用程序開(kāi)源框架。集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、

19、數(shù)據(jù)持久層和域模塊層,以幫助開(kāi)發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對(duì)持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為基本的Java對(duì)象,然后編寫(xiě)基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實(shí)現(xiàn),采用Hibernate架構(gòu)實(shí)現(xiàn)的DAO類來(lái)實(shí)現(xiàn)Java類與數(shù)據(jù)庫(kù)之間的轉(zhuǎn)換和訪問(wèn),最后由Spring

20、做管理,管理Struts和Hibernate。Struts 框架:Struts 是一個(gè)基于Sun J2EE平臺(tái)的MVC框架,主要是采用Servlet和JSP技術(shù)來(lái)實(shí)現(xiàn)的。Struts的MVC設(shè)計(jì)模式使我們的邏輯變得很清晰。Struts 對(duì)Model,View和Controller 都提供了對(duì)應(yīng)的組件。ActionServlet,這個(gè)類是Struts的核心控制器,負(fù)責(zé)攔截來(lái)自用戶的請(qǐng)求。Action 這個(gè)類通常由用戶提供,該控制器負(fù)責(zé)接收來(lái)自ActionServlet的請(qǐng)求,并根據(jù)該請(qǐng)求調(diào)用模型的業(yè)務(wù)邏輯方法處理請(qǐng)求,并將處理結(jié)果返回給JSP頁(yè)面顯示。所以Struts是Web框架技術(shù)的基礎(chǔ)控制頁(yè)

21、面的跳轉(zhuǎn)。Struts 框架流程圖:圖2.1 struts 框架流程圖Spring 框架:Spring是一個(gè)開(kāi)源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。Spring 的反轉(zhuǎn)控制(IOC)和面向切面編程(AOP)思想使我們的軟件最大限度上解耦。Spring 的作用貫穿了整個(gè)中間層,將Web層、Service層、DAO層及PO無(wú)縫整合,其數(shù)據(jù)服務(wù)層用來(lái)存放數(shù)據(jù)。Spring在使用IOC容器作為構(gòu)建所有架構(gòu)層的完整解決方案方面是獨(dú)一無(wú)二的。Spring提供了唯一的數(shù)據(jù)訪問(wèn)抽象,包括簡(jiǎn)單和

22、有效率的JDBC框架,極大的改進(jìn)了效率并且減少了可能的錯(cuò)誤。Spring的數(shù)據(jù)訪問(wèn)架構(gòu)還集成了Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務(wù)管理抽象,它能夠在各種底層事務(wù)管理技術(shù),例如JTA或者JDBC事務(wù)提供一個(gè)一致的編程模型。Spring提供了一個(gè)用標(biāo)準(zhǔn)Java語(yǔ)言編寫(xiě)的AOP框架,它給POJOs提供了聲明式的事務(wù)管理和其他企業(yè)事務(wù)。Hibernate 框架:Hibernate 框架是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。是用來(lái)解決傳統(tǒng)程序上重復(fù)書(shū)寫(xiě)數(shù)據(jù)

23、庫(kù)連接、數(shù)據(jù)庫(kù)關(guān)閉操作上的代碼冗余的,提高五個(gè)接口來(lái)解決傳統(tǒng)的JDBC操作,分別是Configuration 用來(lái)讀取配置文件hibernate.cfg.xml 獲取連接所需要的參數(shù)。SessionFactory 工廠方法負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象 Session 封裝了基本的增、刪、改、查方法負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫(kù)的交流,包含了很多常見(jiàn)的SQL語(yǔ)句。) Transaction 控制事務(wù)提交和回滾。Query負(fù)責(zé)各種數(shù)據(jù)庫(kù)查詢,不僅可以使用SQL語(yǔ)言還提供了HQL查詢語(yǔ)言。這5個(gè)核心接口在任何開(kāi)發(fā)

24、中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。2.3 B/S架構(gòu)的簡(jiǎn)介改成“2.3 B/S三層架構(gòu)”B/S 架構(gòu)是指:(Browser/Server)瀏覽器/服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),事務(wù)邏輯的極少部分在前端(Browser)實(shí)現(xiàn),在服務(wù)器端(Server)實(shí)現(xiàn)主要的事務(wù)邏輯,形成所謂三層3-tier結(jié)構(gòu)。相對(duì)于C/S結(jié)構(gòu)的“胖”客戶端,使用者需要在電腦上安裝相應(yīng)的客戶端軟件來(lái)說(shuō),B/S結(jié)構(gòu)是屬于一種“瘦”客戶端,在服務(wù)器端存放大多數(shù)或主要的業(yè)務(wù)邏輯,因

25、此,B/S結(jié)構(gòu)的系統(tǒng)不需要安裝客戶端軟件,它運(yùn)行在客戶端的瀏覽器之上,系統(tǒng)升級(jí)或維護(hù)時(shí)只需更新服務(wù)器端軟件即可,這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。 B/S結(jié)構(gòu)系統(tǒng)的產(chǎn)生為系統(tǒng)面對(duì)無(wú)限未知用戶提供了可能。11 B/S體系結(jié)構(gòu)圖:圖2.2基于B/S體系結(jié)構(gòu)圖2.3 Java簡(jiǎn)介是2.4Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。是由Sun Microsystems現(xiàn)在稱Oracle公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言和Java平臺(tái)(即JavaSE,JavaEE,JavaME)的總稱。Java技術(shù)具有卓越的

26、通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專用社群。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢(shì)和廣闊前景4。Java編程語(yǔ)言風(fēng)格十分接近C、C+語(yǔ)言。Java是一個(gè)純的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它繼承了 C+ 語(yǔ)言面向?qū)ο蠹夹g(shù)的核心,Java舍棄了C +語(yǔ)言中容易引起錯(cuò)誤的指針(以引用取代)、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對(duì)象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。2.4 Ja

27、va Web工程的基本介紹 2.2.1 建立Web工程的基本步驟以開(kāi)放工具M(jìn)yEclipse6.5為例。1. 建立Web工程 單擊File-New-Web Project 在彈出的窗口輸入工程名。2. 在工程子目錄下的WebRootWEB-INFlib 目錄下導(dǎo)入開(kāi)發(fā)過(guò)程中用到的第三方j(luò)ar包。3. 進(jìn)行開(kāi)發(fā)。相關(guān)的開(kāi)發(fā)時(shí)用到的目錄結(jié)構(gòu)將在下面的篇章中介紹。2.2.2 Java Web 工程目錄結(jié)構(gòu) 1.SRC 該子目錄下存放開(kāi)發(fā)過(guò)程中編寫(xiě)的java源代碼。在改目錄結(jié)構(gòu)下可以建立自己的包名。entity 一般存放開(kāi)發(fā)過(guò)程中的實(shí)體類 DAO 存放開(kāi)發(fā)過(guò)程中對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的類。biz 一般是業(yè)務(wù)

28、邏輯類 action 存放控制頁(yè)面請(qǐng)求的action類2.WebRoot 改子目錄下一般有建立Web工程時(shí)生成的WEB-INF 文件夾和META-INF 文件夾,該目錄下一般存放JSP頁(yè)面和自己的JSP頁(yè)面需要用到CSS、JS、以及一些文件和圖片。CSS 通常放在自己在該目錄下建立的CSS的文件夾中JS放置在JS的文件夾中3.WEB-INF 下有l(wèi)ib 目錄 存放開(kāi)發(fā)工程中用到的第三方j(luò)ar包。web.xml 文件一般配置過(guò)濾器 filter 和servlet4.實(shí)體映射文件 xxx.hbm.xml 放置位置隨便 一般存放在對(duì)應(yīng)的實(shí)體包類,該文件配置的是實(shí)體類和對(duì)應(yīng)的數(shù)據(jù)表之間的映射。5.hi

29、bernate.cfg.xml 配置的是與數(shù)據(jù)庫(kù)連接相關(guān)的屬性,存放在src下6.struts.xml 配置每個(gè)Action的文件,存放在src 下7.beans.xml 配置的是每個(gè)javaBean 在框架中 反轉(zhuǎn)控制就是通過(guò)這個(gè)文件讀取相應(yīng)的屬性值的。本節(jié)刪除或者放到第四章前面2.3 Oracle數(shù)據(jù)庫(kù)是2.52.3.1 Oracle 數(shù)據(jù)庫(kù)簡(jiǎn)介Oracle 數(shù)據(jù)庫(kù)是由甲骨文公司開(kāi)發(fā)的一款重量量級(jí)的大型關(guān)系數(shù)據(jù)庫(kù),是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或?yàn)g覽器/服務(wù)器(B/S)體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)之一 。2.3.2 Oracle數(shù)據(jù)庫(kù)的特點(diǎn)完整的數(shù)據(jù)管理功能:1.數(shù)據(jù)的大量性

30、。Oracle數(shù)據(jù)庫(kù)是大型的數(shù)據(jù),相比一般的小型、中型數(shù)據(jù)庫(kù),它能存放大量的數(shù)據(jù),而且操作效率高。這也是Oracle數(shù)據(jù)庫(kù)能應(yīng)用于C/S,B/S 架構(gòu)系統(tǒng)的原因。2.數(shù)據(jù)保存的持久性。3.數(shù)據(jù)的共享性4.數(shù)據(jù)的可靠性。分布式處理功能:1.具有靈活的體系結(jié)構(gòu)。2 適應(yīng)分布式管理和控制機(jī)構(gòu),DDBS 的機(jī)構(gòu)符合企業(yè)分布的組織結(jié)構(gòu),允許各個(gè)部門(mén)對(duì)其自身數(shù)據(jù)實(shí)行局部控制,在本地插入、查詢和維護(hù)。3 經(jīng)濟(jì)性能優(yōu)越。4 系統(tǒng)的可靠性高、可用性好。由于數(shù)據(jù)庫(kù)分布在多個(gè)場(chǎng)地,并有許多復(fù)制數(shù)據(jù),即使在個(gè)別場(chǎng)地或個(gè)別通信鏈路上發(fā)生障礙,也不會(huì)影響到整個(gè)系統(tǒng)的崩潰。5 局部應(yīng)用的響應(yīng)速度快。 6 可擴(kuò)展性好。開(kāi)發(fā)性

31、:全角與SQL Server只能在windows 平臺(tái)上運(yùn)行相比,Oracle 能運(yùn)行在所有主流平臺(tái)包括Windows(32位和64位)、Linux和不同分支的Unix。第三章 系統(tǒng)需求分析與設(shè)計(jì)3.1 可行性分析本次課題研究是基于java語(yǔ)言,采用較流行的SSH框架,開(kāi)發(fā)的B/S架構(gòu)的網(wǎng)上書(shū)店系統(tǒng)。由于開(kāi)發(fā)工具和SSH框架都是開(kāi)源的,所有經(jīng)濟(jì)上是可行的,而該研究課題僅僅是個(gè)人畢業(yè)設(shè)計(jì)所用,不存在市場(chǎng)價(jià)值,而技術(shù)上SSH框架適合該類B/S結(jié)構(gòu)的系統(tǒng)開(kāi)發(fā)。因此該課題可以開(kāi)發(fā)。3.2 功能需求分析 功能需求分析階段是軟件開(kāi)發(fā)前期必須的階段。該過(guò)程是在編碼前,綜合調(diào)查市場(chǎng)需求,客戶要求,經(jīng)濟(jì)效益以及

32、時(shí)間和技術(shù)上多方面的因素得出系統(tǒng)該開(kāi)發(fā)什么功能。需求分析一般分兩個(gè)階段,即需求獲取和需求規(guī)格,需求獲取是用自然語(yǔ)言清楚地描述用戶的要求。需求規(guī)格的目的是確定需求的唯一性。需求分析通常是在綜合考慮到影響因素后,確定系統(tǒng)有哪些功能,完成哪些功能。完善的需求往往為后續(xù)軟件開(kāi)發(fā)代來(lái)很多好處,往往通過(guò)需求分析可以避免開(kāi)發(fā)過(guò)程中的很多問(wèn)題。反而可以節(jié)約更多的時(shí)間。本研究課題是基于B/S 架構(gòu)下開(kāi)發(fā)的網(wǎng)上購(gòu)物系統(tǒng),由于不涉及到商業(yè)性僅僅是自己的一個(gè)研究性練習(xí),所有功能大致和大多數(shù)網(wǎng)上購(gòu)物系統(tǒng)功能一樣。該系統(tǒng)功能分為前臺(tái)部分和后臺(tái)管理部分。前臺(tái)部分包括: 用戶登陸,注冊(cè),退出登陸,首頁(yè)圖書(shū)展示,圖書(shū)瀏覽,廣告

33、展示,商品加入購(gòu)物車(chē),購(gòu)物圖書(shū),生成訂單及產(chǎn)生訂單詳細(xì)等功能。后臺(tái)管理主要是對(duì)一些前臺(tái)數(shù)據(jù)的管理包括:用戶管理,廣告管理,圖書(shū)管理,訂單管理等功能。其中每個(gè)功能模塊包括UI設(shè)計(jì)和功能實(shí)現(xiàn)兩部分。系統(tǒng)功能模塊圖如下圖3.1所示:圖3.1系統(tǒng)功能模塊圖居中1 用戶登陸模塊登陸功能在本系統(tǒng)中非常重要,本系統(tǒng)實(shí)現(xiàn)購(gòu)買(mǎi)功能必須是在線用戶。功能描述1. 對(duì)用戶輸入的用戶名進(jìn)行數(shù)據(jù)庫(kù)匹配,存在用戶然后匹配密碼。功能描述2. 對(duì)存在的用戶檢查是否激活,激活了才能登陸成功進(jìn)入首頁(yè),否則跳轉(zhuǎn)到激活頁(yè)面。激活碼采用用戶名+隨機(jī)數(shù)產(chǎn)生。2 用戶注冊(cè)模塊注冊(cè)功能模塊也是B/S架構(gòu)系統(tǒng)必須具備的功能。功能描述1用戶進(jìn)行注

34、冊(cè),用戶名,密碼格式是否正確 JS檢查。功能描述2是否輸入了所有的信息值 ,驗(yàn)證碼檢查,采用流輸出。3 首頁(yè)展示模塊該功能模塊是整個(gè)該B/S 架構(gòu)系統(tǒng)最重要的部分,他是系統(tǒng)好壞的門(mén)戶。功能描述1圖書(shū)分類列出 從數(shù)據(jù)庫(kù)中讀取。功能描述2圖書(shū)展示 。功能描述3廣告展示 。功能描述4系統(tǒng)顯示是否登錄、是 顯示退出 否顯現(xiàn)登錄。4 圖書(shū)瀏覽功能功能描述1顯示圖書(shū)比較完整的基本信息。功能描述2可以選擇每一頁(yè)顯示多少、按什么排序顯示。5 添加產(chǎn)品到購(gòu)物車(chē)功能功能描述1可以將喜歡的書(shū)添加到購(gòu)物車(chē)。功能描述2購(gòu)物車(chē)將存入session 并生成數(shù)據(jù)庫(kù) 到時(shí)候下次登錄可以直接查看。6 生成訂單并產(chǎn)生訂單詳細(xì)功能描

35、述1可以對(duì)相應(yīng)的產(chǎn)品進(jìn)行購(gòu)買(mǎi),生成相應(yīng)的訂單。功能描述2對(duì)下了的訂單生成訂單詳細(xì),方便發(fā)貨。7 后臺(tái)管理員登陸功能描述1管理員通過(guò)身份確認(rèn)登陸到后臺(tái)管理界面。8 后臺(tái)用戶管理功能描述1分頁(yè)顯示所有注冊(cè)過(guò)的用戶。功能描述2后臺(tái)管理員可以對(duì)用戶進(jìn)行增、刪、改。9 后臺(tái)廣告管理功能描述1顯示數(shù)據(jù)庫(kù)存在的廣告功能描述2對(duì)廣進(jìn)行上傳,存放到數(shù)據(jù)庫(kù)10 后臺(tái)圖書(shū)管理功能描述1分頁(yè)顯示存在的圖書(shū)。功能描述2后臺(tái)管理員對(duì)圖書(shū)進(jìn)行增、刪、改。11 后臺(tái)訂單管理功能描述1分頁(yè)顯示所有的訂單。功能描述2可以對(duì)訂單進(jìn)行增、刪、改。3.3 系統(tǒng)用例模型3.3.1 普通用戶用例圖注冊(cè)用戶登錄后,可以瀏覽商品列表信息,購(gòu)買(mǎi)

36、商品,查看訂單,訂單退訂,修改個(gè)人信息等。圖 3.2 普通用戶用例圖3.3.2 管理員用例圖管理員登錄后,可以對(duì)圖書(shū),用戶,訂單,廣告進(jìn)行管理。對(duì)廣告、圖書(shū)、用戶、訂單進(jìn)行基本的添加、修改、刪除、查詢等操作。圖3.3 管理員用例圖3.4 系統(tǒng)體系結(jié)構(gòu)根據(jù)該網(wǎng)上書(shū)店的基本功能需求,該系統(tǒng)基本結(jié)構(gòu)可分為前臺(tái)部分和后臺(tái)部分。而由于SSH框架的特點(diǎn),前臺(tái)和后臺(tái)部分架構(gòu)都是四層結(jié)構(gòu)。分別為表現(xiàn)層、控制層、業(yè)務(wù)層、數(shù)據(jù)層。表現(xiàn)層:主要負(fù)責(zé)用戶交互和結(jié)果顯示,交易系統(tǒng)和管理系統(tǒng)有不同的URL 入口界面。 控制層:主要負(fù)責(zé)系統(tǒng)的訪問(wèn)控制、數(shù)據(jù)加載和注銷(xiāo),是系統(tǒng)的核心控制單元。控制層通過(guò)系統(tǒng)描述來(lái)組織工作。 業(yè)

37、務(wù)層:實(shí)現(xiàn)了交易系統(tǒng)和管理系統(tǒng)的主要業(yè)務(wù)邏輯,是系統(tǒng)主要的運(yùn)算單元。 持久層:實(shí)現(xiàn)了靜態(tài)數(shù)據(jù)和數(shù)據(jù)庫(kù)數(shù)據(jù)的持久化管理,為業(yè)務(wù)層提供數(shù)據(jù)服務(wù),是系統(tǒng)進(jìn)行數(shù)據(jù)操作的統(tǒng)一界面。 圖3.4前臺(tái)架構(gòu)圖3.5 數(shù)據(jù)庫(kù)設(shè)計(jì) 本次系統(tǒng)主要是基于B/S架構(gòu)的系統(tǒng),存在大量的數(shù)據(jù)讀入和取出,對(duì)數(shù)據(jù)庫(kù)表的要求比較高,每個(gè)功能模塊基本都涉及到了數(shù)據(jù)表。3.3.1 數(shù)據(jù)庫(kù)表E-R圖這個(gè)小標(biāo)題刪除圖3.5系統(tǒng)數(shù)據(jù)E-R圖3.3.2 數(shù)據(jù)庫(kù)表分析這個(gè)小標(biāo)題刪除對(duì)于B/S系統(tǒng)的網(wǎng)上書(shū)店來(lái)說(shuō),數(shù)據(jù)的存儲(chǔ)往往是難點(diǎn),因?yàn)橄到y(tǒng)將有大量的信息,為管理好改系統(tǒng),采用如下數(shù)據(jù)表存儲(chǔ)系統(tǒng)信息。用戶表:存儲(chǔ)用戶信息。包含用戶賬號(hào),密碼,昵稱

38、,性別,用戶地址省份,城市等信息。廣告表:存儲(chǔ)廣告信息。包含廣告編號(hào),廣告圖片路徑,廣告描述。圖書(shū)表:存儲(chǔ)圖書(shū)信息。包含圖書(shū)編號(hào),圖書(shū)名,圖書(shū)市場(chǎng)價(jià),圖書(shū)書(shū)店價(jià),作者,出版社,出版時(shí)間。圖書(shū)類型表:存儲(chǔ)圖書(shū)類型信息。包含圖書(shū)類型編號(hào),類型名,父類類型編號(hào)。訂單項(xiàng)表:存儲(chǔ)單條訂單項(xiàng)信息。包含訂單項(xiàng)編號(hào),訂單編號(hào),產(chǎn)品編號(hào),產(chǎn)品市場(chǎng)價(jià),產(chǎn)品書(shū)店價(jià),訂購(gòu)數(shù)量,當(dāng)前訂單項(xiàng)積分。訂單表:存儲(chǔ)訂單信息。包含訂單編號(hào),用戶編號(hào),訂購(gòu)時(shí)間,收貨人,收貨地址,總金額,電話。購(gòu)物車(chē)表:存儲(chǔ)購(gòu)物車(chē)信息。包含購(gòu)物車(chē)編號(hào),用戶編號(hào),訂單項(xiàng)編號(hào),總售價(jià),總書(shū)店價(jià),總積分。第四章 系統(tǒng)實(shí)現(xiàn)4.1 搭建開(kāi)發(fā)環(huán)境 本次課題采用

39、J2EE SSH框架,開(kāi)發(fā)工具采用MyEclipse6.5,數(shù)據(jù)庫(kù)采用Oracle數(shù)據(jù)庫(kù),為方便操作數(shù)據(jù)庫(kù),采用oracle 客戶端pl/SQL。對(duì)于開(kāi)源框架導(dǎo)入工程jar包尤為最終要。開(kāi)發(fā)所需要的軟件如下:。開(kāi)發(fā)軟件介紹:JDK:Java 虛擬機(jī) java 語(yǔ)言開(kāi)發(fā)必須的編譯器。版本1.6 以上。MyEclipse6.5:java 開(kāi)發(fā)工具。服務(wù)器:Tomcat5.0 以上Oracle數(shù)據(jù)庫(kù):大型的數(shù)據(jù)庫(kù)服務(wù)器。版本10g 以上。PL/SQL:針對(duì)oracle 數(shù)據(jù)庫(kù)開(kāi)發(fā)的一款界面操作客戶端。Editplus 或者Dreamweaver:文本編輯器,開(kāi)發(fā)html/JSP 頁(yè)面工具。4.1.1

40、 安裝開(kāi)發(fā)工具(1) 登陸,下載最新版JDK。這里下載的是jdk-6u7-windows-i586-p版本。(2) 安裝JDK 1.6。(3) 安裝MyEclipse6.5。下載網(wǎng)站(4) 安裝Tomcat 服務(wù)器 ,在安裝過(guò)程中可以修改默認(rèn)端口8080。本次研究將端口改為8081 訪問(wèn)地址http:/localhost:8081/ 也可以在安裝目錄:tomcatconfserver.xml 配置文件中修改。(5) 安裝Oracle 數(shù)據(jù)庫(kù),在安裝過(guò)程中需要設(shè)置system/sys 數(shù)據(jù)庫(kù)默認(rèn)用戶的密碼還要端口1521,以及域名xe。4.1.2 開(kāi)發(fā)軟件的配置(1) 配置MyEcliplise

41、6.5 默認(rèn)JDK啟動(dòng)MyEclipse6.5 在工具欄 window -preferences -java-Installed JREs 在界面上單擊add 然后單擊Browser 選擇你安裝的的JDK。(2) 配置MyEclipse6.5 服務(wù)器window - preferences -MyEclipse Enterprise Workbench-servers-Tomcat 單擊Tomcat6.x 在彈出的界面上,單擊Browser 選擇本地Tomcat 路徑。4.1.3 建立web工程搭建開(kāi)發(fā)框架MyEclipse6.5 建立Web工程很方便,但是由于Java 語(yǔ)言的特點(diǎn),很多開(kāi)源框

42、架都用到了第三方的jar包 而這些jar包有時(shí)候會(huì)很容易導(dǎo)致jar包沖突,啟動(dòng)服務(wù)器時(shí)會(huì)報(bào)一些莫名其妙的錯(cuò)誤。因而使用SSH 開(kāi)源框架開(kāi)發(fā)Web項(xiàng)目,適當(dāng)導(dǎo)入jar包 避免jar包沖突很重要。1 建立Web工程 在工具欄 File -New-Web Project 在彈出的對(duì)話框 輸入工程名,并選擇java EE 1.5 默認(rèn)是java EE 1.4。2 導(dǎo)入開(kāi)發(fā)所需jar包在工程文件夾 WebRoot -WEB-INF -lib 導(dǎo)入開(kāi)發(fā)所需的jar包4.2 數(shù)據(jù)庫(kù)實(shí)現(xiàn)4.2.1 數(shù)據(jù)庫(kù)表字段設(shè)計(jì)表4.1 用戶表(d_user)字段名字段說(shuō)明字段類型字段約束是否為空userId用戶編號(hào)int

43、eger主鍵 非空email登錄郵箱varchar(50)非空nickName用戶昵稱varchar2(30)檢查約束非空password用戶密碼varchar2(30)檢查約束非空sex用戶性別varchar2(8)檢查約束(男)province用戶所在省份varchar2(20)city用戶所在城市varchar2(20)Status用戶狀態(tài)Integer檢查約束(0 1)eableMSG激活碼varchar2(50)表4.2 廣告表(d_advertise)字段名字段描述字段類型字段約束是否為空advertise_id廣告編號(hào)integer主鍵非空image_path廣告圖片路徑varc

44、har2(200)非空description描述varchar2(100)表4.3 產(chǎn)品表(d_product)字段名字段描述字段類型字段約束是否為空productId產(chǎn)品編號(hào)integer主鍵非空imagePath產(chǎn)品圖片路徑varchar2(100)非空productName產(chǎn)品名varchar2(100)非空costPrice市場(chǎng)售價(jià)number(8,2)dangPrice系統(tǒng)售價(jià)number(8,2)非空author作者varchar2(40)publish出版社varchar2(50)publishTime出版時(shí)間varchar2(30)4.4 產(chǎn)品類別表(d_bookType)字段

45、名字段描述字段類型字段約束是否為空typeId圖書(shū)類型idinteger主鍵非空typeName類型名varchar2(20)parentId父類型idinteger4.5 訂單表(d_orderDetailed)字段名字段描述字段類型字段約束是否為空orderDetailedId訂單詳細(xì)編號(hào)integer主鍵非空userId用戶編號(hào)integer非空orderTime訂購(gòu)時(shí)間Date非空totalPrice總金額float非空receiveName收貨人varchar2(50)非空receiveTime收貨地址varchar2(200)非空postalCode郵政編碼varchar2(10)

46、非空mobile電話varchar2(15)非空表4.6 訂單項(xiàng)列表(d_orderItem)字段名字段描述字段類型字段約束是否為空orderItemId訂單項(xiàng)編號(hào)integer 主鍵否orderDetailedId訂單詳細(xì)編號(hào)integer否productId產(chǎn)品編號(hào)integer否count訂購(gòu)數(shù)量integer否dangTotalPrice系統(tǒng)價(jià)格float否costTotalPrice產(chǎn)品市場(chǎng)價(jià)float否sigleScore產(chǎn)品的積分integer否表4.8 購(gòu)物車(chē)數(shù)據(jù)表(d_cart)字段名字段描述字段類型字段約束是否為空cartId購(gòu)物車(chē)編號(hào)integer主鍵否userId用戶編

47、號(hào)Integer外鍵否dangTatalPrice 系統(tǒng)總價(jià)float否costPrice市場(chǎng)總價(jià) float否toatlScore總積分integer否表4.7 后臺(tái)管理員表(d_admin)字段名字段描述字段類型字段約束是否為空adminId管理員idinteger主鍵否login登陸賬號(hào)varchar2(30)否password密碼varchar2(30)否realName真實(shí)姓名varchar2(30)telephone電話varchar2(30)4.2.2 數(shù)據(jù)庫(kù)連接實(shí)現(xiàn)Java Web SSH 框架技術(shù)連接是數(shù)據(jù)庫(kù),是通過(guò)Hibernate 框架技術(shù)訪問(wèn)的。Spring框架的Ses

48、sionFactory 類將連接數(shù)據(jù)庫(kù)操作分裝起來(lái),通過(guò)配置文件bean.xml 文件反轉(zhuǎn)控制,連接數(shù)據(jù)庫(kù)。核心代碼: oracle.jdbc.OracleDriver jdbc:oracle:thin:127.0.0.1:1521:xe graduation wangjing org.hiberante.dialect.Oracle9Dialect true true com/wangjing/book/advertise/Advertise.hbm.xml com/wangjing/book/booktype/BookType.hbm.xml com/wangjing/book/produ

49、ct/Product.hbm.xml com/wangjing/book/user/User.hbm.xml com/wangjing/book/backstage/admin/Admin.hbm.xml com/wangjing/book/order/OrderDetailed.hbm.xml com/wangjing/book/order/OrderItem.hbm.xml com/wangjing/book/cart/Cart.hbm.xml 4.3 前臺(tái)主要功能模塊4.3.1 登陸功能的實(shí)現(xiàn)改成“登陸”系統(tǒng)的登陸界面(UI)設(shè)計(jì)如下圖:圖4.1 系統(tǒng)登陸界面用戶在登陸本網(wǎng)上書(shū)店系統(tǒng)的時(shí)

50、候,只需要輸入正確的用戶信息和用戶密碼,即可實(shí)現(xiàn)登陸,系統(tǒng)將進(jìn)入首頁(yè),首頁(yè)會(huì)顯現(xiàn)用戶昵稱信息,表示已經(jīng)成功登陸。如果用戶信息錯(cuò)誤,系統(tǒng)將進(jìn)入到不同的頁(yè)面。用戶名不存在,系統(tǒng)將通過(guò)Action類跳轉(zhuǎn)到注冊(cè)頁(yè)面,如果通過(guò)數(shù)據(jù)庫(kù)驗(yàn)證用戶存在,但狀態(tài)未激活,系統(tǒng)將進(jìn)入激活頁(yè)面。登陸功能流程圖入下圖:圖4.2 登陸功能流程圖實(shí)現(xiàn)登錄功能的主要方法:public String checkUserLogin(String email, String password,ActionContext action) / TODO 檢查登陸是否成功User user = userDAO.queryUserByEma

51、il(email);/ 賬號(hào)不存在if (user = null) return notExit;if (user != null & user.getStatus() = 0) action.getSession().put(logined, user);return status;/ 登陸成功if (user != null & user.getPassword().equals(password) action.getSession().put(logined, user);return ok;return error;4.3.2 注冊(cè)功能的實(shí)現(xiàn)改成“注冊(cè)”注冊(cè)頁(yè)面(UI)設(shè)計(jì):圖4.3

52、 系統(tǒng)注冊(cè)界面用戶通過(guò)登錄界面的快速注冊(cè)用戶超鏈接進(jìn)入注冊(cè)界面,注冊(cè)界面用戶必須輸入用戶賬號(hào),用戶昵稱,昵稱必須是字母,輸入用戶密碼,密碼由六位以上的字母或數(shù)字。通過(guò)單選框選擇用戶性別,通過(guò)下拉列表選擇地址,用戶必須輸入驗(yàn)證碼。正確輸入用戶信息后,注冊(cè)成功,將進(jìn)入激活頁(yè)面。否則會(huì)在注冊(cè)頁(yè)面上顯示錯(cuò)誤信息提示。錯(cuò)誤信息提示如下圖所示:圖4.4 注冊(cè)報(bào)錯(cuò)頁(yè)面激活頁(yè)面(UI)設(shè)計(jì):圖4.5 激活界面圖已經(jīng)注冊(cè)的用戶可以在登錄界面登錄,但系統(tǒng)不會(huì)進(jìn)入主頁(yè)面,而是通過(guò)Action跳轉(zhuǎn)到激活頁(yè)面,在激活頁(yè)面會(huì)顯示當(dāng)前用戶的激活碼。用戶在激活頁(yè)面可以通過(guò)輸入顯示的激活碼,激活自己的賬號(hào)。激活成功系統(tǒng)將進(jìn)入登

53、錄界面。激活碼算法是通過(guò)獲取當(dāng)前登錄用戶的郵箱,然后將字符串轉(zhuǎn)換成字符,對(duì)應(yīng)每一位乘以隨機(jī)函數(shù)產(chǎn)生的數(shù)乘以10轉(zhuǎn)換的整數(shù),然后組成新的字符串,作為激活碼。激活碼算法如下:/ 產(chǎn)生激活碼的算法public String createCodeString(String email) / 將數(shù)據(jù)char codeString = email.toCharArray();for (int i = 0; i codeString.length; i+) codeStringi += (int) (Math.random() * 10);/ System.out.println(new String(codeString);return new String(codeString);注冊(cè)功能流程圖如下圖所示:圖4.6 注冊(cè)功能流程圖4.3.3 首頁(yè)功

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!