基于Java Web SSH框架的網(wǎng)上書店
《基于Java Web SSH框架的網(wǎng)上書店》由會員分享,可在線閱讀,更多相關(guān)《基于Java Web SSH框架的網(wǎng)上書店(54頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 X X 科 技 大 學(xué) 畢 業(yè) 設(shè) 計(jì)( 論 文 ) 題目 基于Java Web SSH框架的網(wǎng)上書店 作者 學(xué)院 專業(yè) 學(xué)號 指導(dǎo)教師 2013 年 月 日 X X 科 技 大 學(xué) 畢業(yè)設(shè)計(jì)(論文)任務(wù)書 學(xué)院 系(教研室) 系(教研室)主任: (簽名) 年 月 日 學(xué)生姓名: 學(xué)號: 專業(yè):
2、 1 設(shè)計(jì)(論文)題目及專題: 基于Java Web SSH框架的網(wǎng)上書店 2 學(xué)生設(shè)計(jì)(論文)時(shí)間:自 2013 年 月 日開始至 2013 年 月 日止 3 設(shè)計(jì)(論文)所用資源和參考資料: [1] 徐建波 編著 Java Web 應(yīng)用開發(fā)原理與技術(shù)[M]. 國防科技大學(xué)出版社 [2] (美) Y.Daniel Liang 編著 Java 語言程序設(shè)計(jì)進(jìn)階篇[M]. 機(jī)械工業(yè)出版社 [3] 戎偉 猛劼 蘇微 編著 解密J2EE 項(xiàng)目開發(fā)的70個(gè)問題 [4]
3、 (美) Roger S.Pressman 編著 軟件工程 4 設(shè)計(jì)(論文)應(yīng)完成的主要內(nèi)容: 基于Java Web 三大框架(SSH)技術(shù)開發(fā)的網(wǎng)上書店,包括前臺展示和后臺管理兩個(gè)部分;其中前臺展示包括登陸模塊、注冊模塊、首頁展示、圖書展示、圖書購買、產(chǎn)生訂單;后臺管理包括廣告管理模塊、用戶管理模塊、圖書管理模塊、訂單管理模塊。 5 提交設(shè)計(jì)(論文)形式(設(shè)計(jì)說明與圖紙或論文等)及要求: (1)論文思路清晰,條理清楚,中心突出,內(nèi)容充實(shí),論據(jù)充分,結(jié)構(gòu)緊湊,層次分明,圖表清晰,格式規(guī)范,結(jié)論正確;按《湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)要求與規(guī)范》編排、打印文稿; (2)上交論文(
4、紙質(zhì))打印文稿和系統(tǒng)源碼(電子版); 6 發(fā)題時(shí)間: 年 月 日 指導(dǎo)教師: (簽名) 學(xué) 生: (簽名) X X 科 技 大 學(xué) 畢業(yè)設(shè)計(jì)(論文)指導(dǎo)人評語 [主要對學(xué)生畢業(yè)設(shè)計(jì)(論文)的工作態(tài)度,研究內(nèi)容與方法,工作量,文獻(xiàn)應(yīng)用,創(chuàng)新性,實(shí)用性,科學(xué)性,文本(圖紙)規(guī)范程度,存在的不足等進(jìn)行綜合評價(jià)] 指導(dǎo)人:
5、 (簽名) 年 月 日 指導(dǎo)人評定成績: X X 科 技 大 學(xué) 畢業(yè)設(shè)計(jì)(論文)評閱人評語 [主要對學(xué)生畢業(yè)設(shè)計(jì)(論文)的文本格式、圖紙規(guī)范程度,工作量,研究內(nèi)容與方法,實(shí)用性與科學(xué)性,結(jié)論和存在的不足等進(jìn)行綜合評價(jià)] 評閱人: (
6、簽名) 年 月 日 評閱人評定成績: X X 科 技 大 學(xué) 畢業(yè)設(shè)計(jì)(論文)答辯記錄 日期: 學(xué)生: 學(xué)號: 班級: 題目:
7、 提交畢業(yè)設(shè)計(jì)(論文)答辯委員會下列材料: 1 設(shè)計(jì)(論文)說明書 共 頁 2 設(shè)計(jì)(論文)圖 紙 共 頁 3 指導(dǎo)人、評閱人評語 共 頁 畢業(yè)設(shè)計(jì)(論文)答辯委員會評語: [主要對學(xué)生畢業(yè)設(shè)計(jì)(論文)的研究思路,設(shè)計(jì)(論文)質(zhì)量,文本圖紙規(guī)范程度和對設(shè)計(jì)(論文)的介紹,回答問題情況等進(jìn)行綜合評價(jià)] 答辯委員會主任: (簽名) 委員: (簽名) (簽名) (簽名) (簽名)
8、 答辯成績: 總評成績: 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 摘 要趕快寫英文摘要,明天寫完發(fā)給我改 隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)上購物越來越流行,而網(wǎng)上書店更是逐漸受到越來越多的人關(guān)注,不用涉及交通、不用到書店翻閱、即可看到全國各地的書籍價(jià)格、更加全面地搜索自己喜歡的書籍、需要的書籍。通過網(wǎng)絡(luò)銷售系統(tǒng)的平臺,商家將擁有更大的市場,能更加及時(shí)快速地得到用戶對于商品的反響,可以隨時(shí)調(diào)整銷售策略
9、,提高商家的市場競爭力。對于消費(fèi)者也提供了方便,消費(fèi)者可以不受時(shí)間和地域的限制進(jìn)行購物,并且可以獲取更多信息.。 本文闡述了如何構(gòu)建基于B/S 架構(gòu),以O(shè)racle數(shù)據(jù)庫為基礎(chǔ),應(yīng)用Java Web SSH框架的網(wǎng)上書店,系統(tǒng)主要完成以下基本的功能:主要是前臺展示和后臺管理兩個(gè)部分;其中前臺展示包括登陸模塊、注冊模塊、首頁展示、圖書展示、圖書購買、產(chǎn)生訂單;后臺管理包括廣告管理模塊、用戶管理模塊、圖書管理模塊、訂單管理模塊。 本次課題主要采用java語言作為程序的開發(fā)語言,采用Oracle數(shù)據(jù)庫作為數(shù)據(jù)庫,MyEclipse6.5作為開發(fā)工作,運(yùn)用PowerDesigner作為數(shù)據(jù)庫建模工
10、具,運(yùn)用的知識還有JavaScript ,CSS, HTML 等知識。 這兩段修改如下: 本文闡述了如何構(gòu)建基于B/S 架構(gòu),以O(shè)racle數(shù)據(jù)庫為基礎(chǔ),應(yīng)用Java Web SSH框架的網(wǎng)上書店,系統(tǒng)主要完成以下基本功能:前臺包括注冊與登陸、圖書展示、圖書購買、訂單產(chǎn)生;后臺管理包括廣告管理、用戶管理、圖書管理、訂單管理。 本次課題設(shè)計(jì)采用的開發(fā)語言是java,數(shù)據(jù)庫是Oracle,開發(fā)工具是MyEclipse6.5,數(shù)據(jù)庫建模工具是PowerDesigner,此外還運(yùn)用了JavaScript ,CSS, HTML 等知識。 關(guān)鍵字:SSH框架;java;網(wǎng)上書店;B/S 架
11、構(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 的簡介 - 3 - 2.2 SSH框架的簡介 - 3 - 2.3 B/S架構(gòu)的簡介 - 5 - 2.3 Java簡介 - 5 - 2.4 Java Web工程的基本介紹 - 6 - 2.2.1 建立Web工程的基本步驟 - 6 - 2.2.2 Java Web 工程目錄結(jié)構(gòu) - 6 - 2.3 Oracle數(shù)據(jù)庫 - 6 - 2.3.1 Oracle 數(shù)據(jù)庫簡介 - 6
12、 - 2.3.2 Oracle數(shù)據(jù)庫的特點(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ù)庫設(shè)計(jì) - 13 - 3.3.1 數(shù)據(jù)庫表E-R圖 - 14 - 3.3.2 數(shù)據(jù)庫表分析 - 14 - 第四章 系統(tǒng)實(shí)現(xiàn) - 16 - 4.1 搭建開發(fā)環(huán)境 - 16 - 4.1.1 安裝開發(fā)工具 - 16 - 4.1.2 開發(fā)軟件的配
13、置 - 16 - 4.1.3 建立web工程搭建開發(fā)框架 - 17 - 4.2 數(shù)據(jù)庫實(shí)現(xiàn) - 17 - 4.2.1 數(shù)據(jù)庫表字段設(shè)計(jì) - 17 - 4.2.2 數(shù)據(jù)庫連接實(shí)現(xiàn) - 20 - 4.3 前臺主要功能模塊 - 21 - 4.3.1 登陸功能的實(shí)現(xiàn) - 21 - 4.3.2 注冊功能的實(shí)現(xiàn) - 23 - 4.3.3 首頁功能實(shí)現(xiàn) - 25 - 4.3.4 圖書瀏覽功能 - 27 - 4.3.5 訂單功能 - 28 - 4.3.6 購物車功能 - 30 - 4.10 后臺管理功能 - 34 - 4.10.1 后臺管理功能流程 - 34 - 4.10.2 用戶
14、管理 - 35 - 4.10.3 廣告管理 - 37 - 4.10.4 圖書管理 - 38 - 第五章 總結(jié)與問題分析 - 41 - 5.1 系統(tǒng)問題分析總結(jié) - 41 - 5.2 開發(fā)過程中常見問題分析 - 41 - 第六章 總結(jié) - 44 - 參 考 文 獻(xiàn) - 45 - 致 謝 - 46 - - ii - 第一章 引言 1.1 項(xiàng)目背景 隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,越來越多的人熱衷于上網(wǎng)。隨著用戶的不斷增加,其規(guī)模迅速擴(kuò)大,它的領(lǐng)域也走向多元化。除了原先的科學(xué)技術(shù)和教育外,Internet已進(jìn)入了文化、經(jīng)濟(jì)、政治、新聞、體育、娛樂、商業(yè)和服務(wù)業(yè)
15、??梢灶A(yù)見Internet將成為我們構(gòu)筑未來嶄新的生活方式。[10] 電子商務(wù)就是在這樣一個(gè)背景下產(chǎn)生和發(fā)展起來的。伴隨著電子商務(wù)技術(shù)的不斷成熟,電子商務(wù)的功能也越來越強(qiáng)大。書城交易網(wǎng)站就是Internet和電子商務(wù)發(fā)展的產(chǎn)物,近幾年在我國發(fā)展迅猛,如同一些書店紛紛在各地開設(shè)分店以拉近書店與顧客間距離一樣。隨著科學(xué)技術(shù)的飛速發(fā)展,Internet已經(jīng)成了普通百姓都可以初級的大中型媒體傳播手段。隨著現(xiàn)今全民素質(zhì)和科學(xué)技術(shù)水平的不斷提高,知識更新的越來越快。人們隨時(shí)都會有被淘汰的危機(jī),為了不讓社會淘汰,做到與時(shí)俱進(jìn)就必須多讀書不斷學(xué)習(xí)。21世紀(jì)是網(wǎng)絡(luò)的時(shí)代、信息的時(shí)代,時(shí)間是非常的寶貴的。人們由
16、于種種原因沒有時(shí)間到書店去,也不知道哪家書店有自己需要的書籍,同時(shí)那些傳統(tǒng)書店的經(jīng)營者又沒什么好的方法讓人們知道我這就有顧客需要的書籍,這種買賣雙方之間交流上的阻礙成為“網(wǎng)上書店”網(wǎng)站發(fā)展的原動力。網(wǎng)上書店的出現(xiàn)可以更好地解決這方面的問題。[11] 網(wǎng)上書店在價(jià)格、時(shí)效性、品種、查詢方式等方面都有優(yōu)勢。網(wǎng)上書店是一種直銷方式,速度和價(jià)格上都有優(yōu)勢,在價(jià)格上一般網(wǎng)上書店都有7.5-9折的折扣,如果是特價(jià)書折扣就更多了,網(wǎng)上書店的書目數(shù)據(jù)是任何訂購書目都無法比擬的,亞馬遜網(wǎng)上書店有300多萬種圖書,另外還有音樂系列產(chǎn)品和其它教育產(chǎn)品,剛剛成立的北京圖書大廈網(wǎng)上書店也有16萬種書目數(shù)據(jù),“中國尋書
17、網(wǎng)”目前也有50萬種書籍,年度將突破100萬種圖書,網(wǎng)上書店的書目除書名,著者,價(jià)格等信息外,還有封面,內(nèi)容簡介,目次,評論等詳細(xì)信息。同時(shí)網(wǎng)上書店的目錄查詢功能也是傳統(tǒng)的按某種分類規(guī)則編排的圖書征訂目錄無法比擬的,其以關(guān)鍵詞或主題從網(wǎng)上檢索某類文獻(xiàn),查準(zhǔn)率與查全率都有一定的保障。另外還有一些書更是以網(wǎng)站包銷或總代理的形式進(jìn)行銷售,這就意味著一種全新的電子商務(wù)模式的開始。[10] 1.2 項(xiàng)目目的 隨著網(wǎng)絡(luò)信息技術(shù)的高速發(fā)展,電子商務(wù)迅速發(fā)展。網(wǎng)上購物越來越流行。注冊用戶可以在網(wǎng)上搜索購買到自己想要的各種商品,讓人們體會到了足不出戶,便可隨意購物的快感。而書籍作為一種文化的載體、智慧的結(jié)晶
18、,一直是人們生活中必需的物品。由于書籍本身不像其他商品一樣,存在多種必需當(dāng)面檢查質(zhì)量。因此網(wǎng)上書店是發(fā)展的最迅速的。網(wǎng)上書店在價(jià)格、時(shí)效性、品種、查詢方式等方面都有優(yōu)勢。因此開發(fā)一個(gè)網(wǎng)上書店是很有必要的。 隨著Java Web技術(shù)的發(fā)展,Java 語言尤其擅長B/S機(jī)構(gòu)的系統(tǒng)開發(fā)。本次課題采用J2EE SSH框架 集合JSP、JavaScript、CSS、HTML等知識聯(lián)合設(shè)計(jì)。主要的目的是:針對目前較流行的框架技術(shù)進(jìn)行一定的了解和熟悉。體會框架開發(fā)Web應(yīng)用程序的好處。掌握Struts框架實(shí)現(xiàn)MVC模式結(jié)構(gòu)清晰,開發(fā)者只關(guān)注業(yè)務(wù)邏輯的實(shí)現(xiàn)的優(yōu)點(diǎn)。熟悉掌握Hibernate框架對于數(shù)據(jù)庫操作
19、的基本方法和步驟,體會代碼冗余時(shí)的復(fù)雜,熟悉hibernate基本編程步驟,了解數(shù)據(jù)庫表和實(shí)體類一一對應(yīng)的基本編程思想。掌握Spring框架的反轉(zhuǎn)控制思想(Inverse Of Control) 和工程設(shè)計(jì)模式。掌握基本的XML 文件的配置,學(xué)會CSS+JS+JSP開發(fā)B/S結(jié)構(gòu)模式的瀏覽器程序。通過本次課題的研究達(dá)到對于現(xiàn)在主流框架技術(shù)有一點(diǎn)的了解,懂得如何開發(fā)B/S架構(gòu)的應(yīng)用程序,對于現(xiàn)在網(wǎng)上書店系統(tǒng)業(yè)務(wù)流程有一點(diǎn)的認(rèn)知。進(jìn)一步推廣網(wǎng)上書店的發(fā)展。 1.3 主要內(nèi)容 近年來,隨著Internet技術(shù)的迅猛發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)給人們的工作、學(xué)習(xí)和日常生活帶來很大的便利,同時(shí)開發(fā)Web的技術(shù)也
20、在不斷更新,框架技術(shù)日趨成熟,特別是B/S架構(gòu)的提出,使得框架技術(shù)在B/S架構(gòu)系統(tǒng)上的優(yōu)勢尤為突出。本課題采用SSH框架結(jié)合Servlet、JavaScript、JSP、XML 等技術(shù),基于B/S結(jié)構(gòu)開發(fā)的網(wǎng)上書店系統(tǒng),主要就是框架技術(shù)的應(yīng)用,掌握如何結(jié)合數(shù)據(jù)庫知識和框架技術(shù)開發(fā)出高效、簡潔、省事的系統(tǒng)。 本論文具體章節(jié)安排如下: 第一章:引言。介紹課題研究的背景和目的。 第二章:系統(tǒng)開發(fā)相關(guān)的概念和理論以及技術(shù)。 第三章:系統(tǒng)分析和設(shè)計(jì)。 第四章:系統(tǒng)的實(shí)現(xiàn)。該部分是該課題的核心部分,包括開發(fā)運(yùn)行環(huán)境構(gòu)建,數(shù)據(jù)庫實(shí)現(xiàn)以及根據(jù)需求分析和技術(shù)分析來實(shí)現(xiàn)系統(tǒng)的各個(gè)模塊功能,使系統(tǒng)能夠正常
21、運(yùn)行,包括開發(fā)過程中遇到的問題記載和分析。 第五章:總結(jié)與問題分析。對本課題的重點(diǎn)難點(diǎn)做一個(gè)分析,提出對本系統(tǒng)需要改進(jìn)與加強(qiáng)的地方。 第六章:結(jié)束語。對本次課題研究的感想以及學(xué)到的知識和開發(fā)經(jīng)驗(yàn)的一個(gè)總結(jié)和對后期開發(fā)的一個(gè)展望。 - 2 - 第二章 系統(tǒng)理論和技術(shù) 2.1 MyEclipse 的簡介 MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)
22、境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,JavaScript,Spring,SQL,Hibernate。 MyEclipse 是一個(gè)十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項(xiàng)功能??梢哉fMyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具
23、。[1] 2.2 SSH框架的簡介 SSH框架是指Struts 框架、Spring框架和Hibernate 框架的集成。是目前較為流行的一種Web應(yīng)用程序開源框架。集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(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框架對持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為
24、基本的Java對象,然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實(shí)現(xiàn),采用Hibernate架構(gòu)實(shí)現(xiàn)的DAO類來實(shí)現(xiàn)Java類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后由Spring做管理,管理Struts和Hibernate。 Struts 框架:Struts 是一個(gè)基于Sun J2EE平臺的MVC框架,主要是采用Servlet和JSP技術(shù)來實(shí)現(xiàn)的。Struts的MVC設(shè)計(jì)模式使我們的邏輯變得很清晰。Struts 對Model,View和Controller 都提供了對應(yīng)的組件。ActionServlet,這個(gè)類是Struts的核心控制器,負(fù)責(zé)攔
25、截來自用戶的請求。Action 這個(gè)類通常由用戶提供,該控制器負(fù)責(zé)接收來自ActionServlet的請求,并根據(jù)該請求調(diào)用模型的業(yè)務(wù)邏輯方法處理請求,并將處理結(jié)果返回給JSP頁面顯示。所以Struts是Web框架技術(shù)的基礎(chǔ)控制頁面的跳轉(zhuǎn)。Struts 框架流程圖: 圖2.1 struts 框架流程圖 Spring 框架:Spring是一個(gè)開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。Spring 的反轉(zhuǎn)控制(IOC)和面向切面編程(AOP)思想使我們的軟件最大限度上解耦。S
26、pring 的作用貫穿了整個(gè)中間層,將Web層、Service層、DAO層及PO無縫整合,其數(shù)據(jù)服務(wù)層用來存放數(shù)據(jù)。Spring在使用IOC容器作為構(gòu)建所有架構(gòu)層的完整解決方案方面是獨(dú)一無二的。Spring提供了唯一的數(shù)據(jù)訪問抽象,包括簡單和有效率的JDBC框架,極大的改進(jìn)了效率并且減少了可能的錯(cuò)誤。Spring的數(shù)據(jù)訪問架構(gòu)還集成了Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務(wù)管理抽象,它能夠在各種底層事務(wù)管理技術(shù),例如JTA或者JDBC事務(wù)提供一個(gè)一致的編程模型。Spring提供了一個(gè)用標(biāo)準(zhǔn)Java語言編寫的AOP框架,它給POJOs提供了聲明式的事
27、務(wù)管理和其他企業(yè)事務(wù)。 Hibernate 框架:Hibernate 框架是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。是用來解決傳統(tǒng)程序上重復(fù)書寫數(shù)據(jù)庫連接、數(shù)據(jù)庫關(guān)閉操作上的代碼冗余的,提高五個(gè)接口來解決傳統(tǒng)的JDBC操作,分別是Configuration 用來讀取配置文件hibernate.cfg.xml 獲取連接所需要的參數(shù)。SessionFactory 工廠方法負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建Session對象 Session 封裝了基本的增、刪、改、查方法
28、負(fù)責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。) Transaction 控制事務(wù)提交和回滾。Query負(fù)責(zé)各種數(shù)據(jù)庫查詢,不僅可以使用SQL語言還提供了HQL查詢語言。這5個(gè)核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。 2.3 B/S架構(gòu)的簡介改成“2.3 B/S三層架構(gòu)” B/S 架構(gòu)是指:(Browser/Server)瀏覽器/服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),事務(wù)邏輯的極
29、少部分在前端(Browser)實(shí)現(xiàn),在服務(wù)器端(Server)實(shí)現(xiàn)主要的事務(wù)邏輯,形成所謂三層3-tier結(jié)構(gòu)。相對于C/S結(jié)構(gòu)的“胖”客戶端,使用者需要在電腦上安裝相應(yīng)的客戶端軟件來說,B/S結(jié)構(gòu)是屬于一種“瘦”客戶端,在服務(wù)器端存放大多數(shù)或主要的業(yè)務(wù)邏輯,因此,B/S結(jié)構(gòu)的系統(tǒng)不需要安裝客戶端軟件,它運(yùn)行在客戶端的瀏覽器之上,系統(tǒng)升級或維護(hù)時(shí)只需更新服務(wù)器端軟件即可,這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本(TCO)。 B/S結(jié)構(gòu)系統(tǒng)的產(chǎn)生為系統(tǒng)面對無限未知用戶提供了可能。[11] B/S體系結(jié)構(gòu)圖: 圖2.2基于B/S體系結(jié)構(gòu)圖 2
30、.3 Java簡介是2.4 Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。是由Sun Microsystems現(xiàn)在稱Oracle公司于1995年5月推出的Java程序設(shè)計(jì)語言和Java平臺(即JavaSE,JavaEE,JavaME)的總稱。Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計(jì)算機(jī)、移動電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開發(fā)者專用社群。在全球云計(jì)算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景[4]。 Java編程語言風(fēng)格十分接近C、C++語言。Java是一個(gè)純的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言
31、,它繼承了 C++ 語言面向?qū)ο蠹夹g(shù)的核心,Java舍棄了C ++語言中容易引起錯(cuò)誤的指針(以引用取代)、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。 2.4 Java Web工程的基本介紹 2.2.1 建立Web工程的基本步驟 以開放工具M(jìn)yEclipse6.5為例。 1. 建立Web工程 單擊File--->New--->Web Project 在彈出的窗口輸入工程名。 2. 在工程子目錄下的WebRoot\WEB-INF\lib 目錄下導(dǎo)
32、入開發(fā)過程中用到的第三方j(luò)ar包。 3. 進(jìn)行開發(fā)。相關(guān)的開發(fā)時(shí)用到的目錄結(jié)構(gòu)將在下面的篇章中介紹。 2.2.2 Java Web 工程目錄結(jié)構(gòu) 1.SRC 該子目錄下存放開發(fā)過程中編寫的java源代碼。在改目錄結(jié)構(gòu)下可以建立自己的包名。entity 一般存放開發(fā)過程中的實(shí)體類 DAO 存放開發(fā)過程中對數(shù)據(jù)庫進(jìn)行操作的類。biz 一般是業(yè)務(wù)邏輯類 action 存放控制頁面請求的action類 2.WebRoot 改子目錄下一般有建立Web工程時(shí)生成的WEB-INF 文件夾和META-INF 文件夾,該目錄下一般存放JSP頁面和自己的JSP頁面需要用到CSS、JS、以及一些文件和圖片
33、。CSS 通常放在自己在該目錄下建立的CSS的文件夾中JS放置在JS的文件夾中 3.WEB-INF 下有l(wèi)ib 目錄 存放開發(fā)工程中用到的第三方j(luò)ar包。web.xml 文件一般配置過濾器 filter 和servlet 4.實(shí)體映射文件 xxx.hbm.xml 放置位置隨便 一般存放在對應(yīng)的實(shí)體包類,該文件配置的是實(shí)體類和對應(yīng)的數(shù)據(jù)表之間的映射。 5.hibernate.cfg.xml 配置的是與數(shù)據(jù)庫連接相關(guān)的屬性,存放在src下 6.struts.xml 配置每個(gè)Action的文件,存放在src 下 7.beans.xml 配置的是每個(gè)javaBean 在框架中 反轉(zhuǎn)控制就是通
34、過這個(gè)文件讀取相應(yīng)的屬性值的。 本節(jié)刪除或者放到第四章前面 2.3 Oracle數(shù)據(jù)庫是2.5 2.3.1 Oracle 數(shù)據(jù)庫簡介 Oracle 數(shù)據(jù)庫是由甲骨文公司開發(fā)的一款重量量級的大型關(guān)系數(shù)據(jù)庫,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或?yàn)g覽器/服務(wù)器(B/S)體系結(jié)構(gòu)的數(shù)據(jù)庫之一 。 2.3.2 Oracle數(shù)據(jù)庫的特點(diǎn) 完整的數(shù)據(jù)管理功能:1.數(shù)據(jù)的大量性。Oracle數(shù)據(jù)庫是大型的數(shù)據(jù),相比一般的小型、中型數(shù)據(jù)庫,它能存放大量的數(shù)據(jù),而且操作效率高。這也是Oracle數(shù)據(jù)庫能應(yīng)用于C/S,B/S 架構(gòu)系統(tǒng)的原因。2.數(shù)據(jù)保存的持久性。3.數(shù)據(jù)的共
35、享性4.數(shù)據(jù)的可靠性。 分布式處理功能:1.具有靈活的體系結(jié)構(gòu)。2 適應(yīng)分布式管理和控制機(jī)構(gòu),DDBS 的機(jī)構(gòu)符合企業(yè)分布的組織結(jié)構(gòu),允許各個(gè)部門對其自身數(shù)據(jù)實(shí)行局部控制,在本地插入、查詢和維護(hù)。3 經(jīng)濟(jì)性能優(yōu)越。4 系統(tǒng)的可靠性高、可用性好。由于數(shù)據(jù)庫分布在多個(gè)場地,并有許多復(fù)制數(shù)據(jù),即使在個(gè)別場地或個(gè)別通信鏈路上發(fā)生障礙,也不會影響到整個(gè)系統(tǒng)的崩潰。5 局部應(yīng)用的響應(yīng)速度快。 6 可擴(kuò)展性好。 開發(fā)性:全角 與SQL Server只能在windows 平臺上運(yùn)行相比,Oracle 能運(yùn)行在所有主流平臺包括Windows(32位和64位)、Linux和不同分支的Unix。 第三章
36、系統(tǒng)需求分析與設(shè)計(jì) 3.1 可行性分析 本次課題研究是基于java語言,采用較流行的SSH框架,開發(fā)的B/S架構(gòu)的網(wǎng)上書店系統(tǒng)。由于開發(fā)工具和SSH框架都是開源的,所有經(jīng)濟(jì)上是可行的,而該研究課題僅僅是個(gè)人畢業(yè)設(shè)計(jì)所用,不存在市場價(jià)值,而技術(shù)上SSH框架適合該類B/S結(jié)構(gòu)的系統(tǒng)開發(fā)。因此該課題可以開發(fā)。 3.2 功能需求分析 功能需求分析階段是軟件開發(fā)前期必須的階段。該過程是在編碼前,綜合調(diào)查市場需求,客戶要求,經(jīng)濟(jì)效益以及時(shí)間和技術(shù)上多方面的因素得出系統(tǒng)該開發(fā)什么功能。需求分析一般分兩個(gè)階段,即需求獲取和需求規(guī)格,需求獲取是用自然語言清楚地描述用戶的要求。需求規(guī)格的目的是確定需求的
37、唯一性。需求分析通常是在綜合考慮到影響因素后,確定系統(tǒng)有哪些功能,完成哪些功能。完善的需求往往為后續(xù)軟件開發(fā)代來很多好處,往往通過需求分析可以避免開發(fā)過程中的很多問題。反而可以節(jié)約更多的時(shí)間。本研究課題是基于B/S 架構(gòu)下開發(fā)的網(wǎng)上購物系統(tǒng),由于不涉及到商業(yè)性僅僅是自己的一個(gè)研究性練習(xí),所有功能大致和大多數(shù)網(wǎng)上購物系統(tǒng)功能一樣。該系統(tǒng)功能分為前臺部分和后臺管理部分。前臺部分包括: 用戶登陸,注冊,退出登陸,首頁圖書展示,圖書瀏覽,廣告展示,商品加入購物車,購物圖書,生成訂單及產(chǎn)生訂單詳細(xì)等功能。后臺管理主要是對一些前臺數(shù)據(jù)的管理包括:用戶管理,廣告管理,圖書管理,訂單管理等功能。其中每個(gè)功能模
38、塊包括UI設(shè)計(jì)和功能實(shí)現(xiàn)兩部分。系統(tǒng)功能模塊圖如下圖3.1所示: 圖3.1系統(tǒng)功能模塊圖居中 1 用戶登陸模塊 登陸功能在本系統(tǒng)中非常重要,本系統(tǒng)實(shí)現(xiàn)購買功能必須是在線用戶。 功能描述1. 對用戶輸入的用戶名進(jìn)行數(shù)據(jù)庫匹配,存在用戶然后匹配密碼。 功能描述2. 對存在的用戶檢查是否激活,激活了才能登陸成功進(jìn)入首頁,否則跳轉(zhuǎn)到激活頁面。激活碼采用用戶名+隨機(jī)數(shù)產(chǎn)生。 2 用戶注冊模塊 注冊功能模塊也是B/S架構(gòu)系統(tǒng)必須具備的功能。 功能描述1用戶進(jìn)行注冊,用戶名,密碼格式是否正確 JS檢查。 功能描述2是否輸入了所有的信息值 ,驗(yàn)證碼檢查,采用流輸出。 3 首頁展
39、示模塊 該功能模塊是整個(gè)該B/S 架構(gòu)系統(tǒng)最重要的部分,他是系統(tǒng)好壞的門戶。 功能描述1圖書分類列出 從數(shù)據(jù)庫中讀取。 功能描述2圖書展示 。 功能描述3廣告展示 。 功能描述4系統(tǒng)顯示是否登錄、是 顯示退出 否顯現(xiàn)登錄。 4 圖書瀏覽功能 功能描述1顯示圖書比較完整的基本信息。 功能描述2可以選擇每一頁顯示多少、按什么排序顯示。 5 添加產(chǎn)品到購物車功能 功能描述1可以將喜歡的書添加到購物車。 功能描述2購物車將存入session 并生成數(shù)據(jù)庫 到時(shí)候下次登錄可以直接查看。 6 生成訂單并產(chǎn)生訂單詳細(xì) 功能描述1可以對相應(yīng)的產(chǎn)品進(jìn)行購買,生成相應(yīng)的訂單。 功能描述
40、2對下了的訂單生成訂單詳細(xì),方便發(fā)貨。 7 后臺管理員登陸 功能描述1管理員通過身份確認(rèn)登陸到后臺管理界面。 8 后臺用戶管理 功能描述1分頁顯示所有注冊過的用戶。 功能描述2后臺管理員可以對用戶進(jìn)行增、刪、改。 9 后臺廣告管理 功能描述1顯示數(shù)據(jù)庫存在的廣告 功能描述2對廣進(jìn)行上傳,存放到數(shù)據(jù)庫 10 后臺圖書管理 功能描述1分頁顯示存在的圖書。 功能描述2后臺管理員對圖書進(jìn)行增、刪、改。 11 后臺訂單管理 功能描述1分頁顯示所有的訂單。 功能描述2可以對訂單進(jìn)行增、刪、改。 3.3 系統(tǒng)用例模型 3.3.1 普通用戶用例圖 注冊用戶登錄后,可以瀏覽商品
41、列表信息,購買商品,查看訂單,訂單退訂,修改個(gè)人信息等。 圖 3.2 普通用戶用例圖 3.3.2 管理員用例圖 管理員登錄后,可以對圖書,用戶,訂單,廣告進(jìn)行管理。對廣告、圖書、用戶、訂單進(jìn)行基本的添加、修改、刪除、查詢等操作。 圖3.3 管理員用例圖 3.4 系統(tǒng)體系結(jié)構(gòu) 根據(jù)該網(wǎng)上書店的基本功能需求,該系統(tǒng)基本結(jié)構(gòu)可分為前臺部分和后臺部分。而由于SSH框架的特點(diǎn),前臺和后臺部分架構(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)的訪問控制、數(shù)據(jù)加載和注銷,
42、是系統(tǒng)的核心控制單元。控制層通過系統(tǒng)描述來組織工作。 業(yè)務(wù)層:實(shí)現(xiàn)了交易系統(tǒng)和管理系統(tǒng)的主要業(yè)務(wù)邏輯,是系統(tǒng)主要的運(yùn)算單元。 持久層:實(shí)現(xiàn)了靜態(tài)數(shù)據(jù)和數(shù)據(jù)庫數(shù)據(jù)的持久化管理,為業(yè)務(wù)層提供數(shù)據(jù)服務(wù),是系統(tǒng)進(jìn)行數(shù)據(jù)操作的統(tǒng)一界面。 圖3.4前臺架構(gòu)圖 3.5 數(shù)據(jù)庫設(shè)計(jì) 本次系統(tǒng)主要是基于B/S架構(gòu)的系統(tǒng),存在大量的數(shù)據(jù)讀入和取出,對數(shù)據(jù)庫表的要求比較高,每個(gè)功能模塊基本都涉及到了數(shù)據(jù)表。 3.3.1 數(shù)據(jù)庫表E-R圖這個(gè)小標(biāo)題刪除 圖3.5系統(tǒng)數(shù)據(jù)E-R圖 3.3.2 數(shù)據(jù)庫表分析這個(gè)小標(biāo)題刪除
43、 對于B/S系統(tǒng)的網(wǎng)上書店來說,數(shù)據(jù)的存儲往往是難點(diǎn),因?yàn)橄到y(tǒng)將有大量的信息,為管理好改系統(tǒng),采用如下數(shù)據(jù)表存儲系統(tǒng)信息。 用戶表:存儲用戶信息。包含用戶賬號,密碼,昵稱,性別,用戶地址省份,城市等信息。 廣告表:存儲廣告信息。包含廣告編號,廣告圖片路徑,廣告描述。 圖書表:存儲圖書信息。包含圖書編號,圖書名,圖書市場價(jià),圖書書店價(jià),作者,出版社,出版時(shí)間。 圖書類型表:存儲圖書類型信息。包含圖書類型編號,類型名,父類類型編號。 訂單項(xiàng)表:存儲單條訂單項(xiàng)信息。包含訂單項(xiàng)編號,訂單編號,產(chǎn)品編號,產(chǎn)品市場價(jià),產(chǎn)品書店價(jià),訂購數(shù)量,當(dāng)前訂單項(xiàng)積分。 訂單表:存儲訂單信息。包含訂單編號
44、,用戶編號,訂購時(shí)間,收貨人,收貨地址,總金額,電話。 購物車表:存儲購物車信息。包含購物車編號,用戶編號,訂單項(xiàng)編號,總售價(jià),總書店價(jià),總積分。 第四章 系統(tǒng)實(shí)現(xiàn) 4.1 搭建開發(fā)環(huán)境 本次課題采用J2EE SSH框架,開發(fā)工具采用MyEclipse6.5,數(shù)據(jù)庫采用Oracle數(shù)據(jù)庫,為方便操作數(shù)據(jù)庫,采用oracle 客戶端pl/SQL。對于開源框架導(dǎo)入工程jar包尤為最終要。 開發(fā)所需要的軟件如下:。 開發(fā)軟件介紹: JDK:Java 虛擬機(jī) java 語言開發(fā)必須的編譯器。版本1.6 以上。 MyEclipse6.5:java 開發(fā)工具。 服務(wù)器:Tomcat5
45、.0 以上 Oracle數(shù)據(jù)庫:大型的數(shù)據(jù)庫服務(wù)器。版本10g 以上。 PL/SQL:針對oracle 數(shù)據(jù)庫開發(fā)的一款界面操作客戶端。 Editplus 或者Dreamweaver:文本編輯器,開發(fā)html/JSP 頁面工具。 4.1.1 安裝開發(fā)工具 (1) 登陸,下載最新版JDK。這里下載的是jdk-6u7-windows-i586-p版本。 (2) 安裝JDK 1.6。 (3) 安裝MyEclipse6.5。下載網(wǎng)站 (4) 安裝Tomcat 服務(wù)器 ,在安裝過程中可以修改默認(rèn)端口8080。本次研究將端口改為8081 訪問地址http://localhost:8081/
46、 也可以在安裝目錄:tomcat\conf\server.xml 配置文件中修改。 (5) 安裝Oracle 數(shù)據(jù)庫,在安裝過程中需要設(shè)置system/sys 數(shù)據(jù)庫默認(rèn)用戶的密碼還要端口1521,以及域名xe。 4.1.2 開發(fā)軟件的配置 (1) 配置MyEcliplise6.5 默認(rèn)JDK 啟動MyEclipse6.5 在工具欄 window --->preferences ---->java--->Installed JREs 在界面上單擊add 然后單擊Browser 選擇你安裝的的JDK。 (2) 配置MyEclipse6.5 服務(wù)器 window ----> pref
47、erences ---->MyEclipse Enterprise Workbench--->servers--->Tomcat 單擊Tomcat6.x 在彈出的界面上,單擊Browser 選擇本地Tomcat 路徑。 4.1.3 建立web工程搭建開發(fā)框架 MyEclipse6.5 建立Web工程很方便,但是由于Java 語言的特點(diǎn),很多開源框架都用到了第三方的jar包 而這些jar包有時(shí)候會很容易導(dǎo)致jar包沖突,啟動服務(wù)器時(shí)會報(bào)一些莫名其妙的錯(cuò)誤。因而使用SSH 開源框架開發(fā)Web項(xiàng)目,適當(dāng)導(dǎo)入jar包 避免jar包沖突很重要。 1 建立Web工程 在工具欄 File ----
48、->New---->Web Project 在彈出的對話框 輸入工程名,并選擇java EE 1.5 默認(rèn)是java EE 1.4。 2 導(dǎo)入開發(fā)所需jar包 在工程文件夾 WebRoot ---->WEB-INF --->lib 導(dǎo)入開發(fā)所需的jar包 4.2 數(shù)據(jù)庫實(shí)現(xiàn) 4.2.1 數(shù)據(jù)庫表字段設(shè)計(jì) 表4.1 用戶表(d_user) 字段名 字段說明 字段類型 字段約束 是否為空 userId 用戶編號 integer 主鍵 非空 email 登錄郵箱 varchar(50) — 非空 nickName 用戶昵稱 varch
49、ar2(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) 字段名 字段描述 字段類型 字段約束 是否為空 adve
50、rtise_id 廣告編號 integer 主鍵 非空 image_path 廣告圖片路徑 varchar2(200) — 非空 description 描述 varchar2(100) — — 表4.3 產(chǎn)品表(d_product) 字段名 字段描述 字段類型 字段約束 是否為空 productId 產(chǎn)品編號 integer 主鍵 非空 imagePath 產(chǎn)品圖片路徑 varchar2(100) — 非空 productName 產(chǎn)品名 varchar2(100) — 非空 costPrice 市場售價(jià) n
51、umber(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) 字段名 字段描述 字段類型 字段約束 是否為空 typeId 圖書類型id integer 主鍵 非空 typeName 類型名 varchar2(20) — — parentId 父類型id
52、 integer — — 4.5 訂單表(d_orderDetailed) 字段名 字段描述 字段類型 字段約束 是否為空 orderDetailedId 訂單詳細(xì)編號 integer 主鍵 非空 userId 用戶編號 integer — 非空 orderTime 訂購時(shí)間 Date — 非空 totalPrice 總金額 float — 非空 receiveName 收貨人 varchar2(50) — 非空 receiveTime 收貨地址 varchar2(200) — 非空 postalCode
53、 郵政編碼 varchar2(10) — 非空 mobile 電話 varchar2(15) — 非空 表4.6 訂單項(xiàng)列表(d_orderItem) 字段名 字段描述 字段類型 字段約束 是否為空 orderItemId 訂單項(xiàng)編號 integer 主鍵 否 orderDetailedId 訂單詳細(xì)編號 integer — 否 productId 產(chǎn)品編號 integer — 否 count 訂購數(shù)量 integer — 否 dangTotalPrice 系統(tǒng)價(jià)格 float — 否 costTot
54、alPrice 產(chǎn)品市場價(jià) float — 否 sigleScore 產(chǎn)品的積分 integer — 否 表4.8 購物車數(shù)據(jù)表(d_cart) 字段名 字段描述 字段類型 字段約束 是否為空 cartId 購物車編號 integer 主鍵 否 userId 用戶編號 Integer 外鍵 否 dangTatalPrice 系統(tǒng)總價(jià) float — 否 costPrice 市場總價(jià) float — 否 toatlScore 總積分 integer — 否 表4.7 后臺管理員表(d_admi
55、n) 字段名 字段描述 字段類型 字段約束 是否為空 adminId 管理員id integer 主鍵 否 login 登陸賬號 varchar2(30) — 否 password 密碼 varchar2(30) — 否 realName 真實(shí)姓名 varchar2(30) — — telephone 電話 varchar2(30) — — 4.2.2 數(shù)據(jù)庫連接實(shí)現(xiàn) Java Web SSH 框架技術(shù)連接是數(shù)據(jù)庫,是通過Hibernate 框架技術(shù)訪問的。Spring框架的SessionFactory 類將連接數(shù)據(jù)庫操作分裝
56、起來,通過配置文件bean.xml 文件反轉(zhuǎn)控制,連接數(shù)據(jù)庫。
核心代碼:
57、bc:oracle:thin:@127.0.0.1:1521:xe
58、 class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
60、value>com/wangjing/book/product/Product.hbm.xml
61、hbm.xml
62、roperty> 4.3 前臺主要功能模塊 4.3.1 登陸功能的實(shí)現(xiàn)改成“登陸” 系統(tǒng)的登陸界面(UI)設(shè)計(jì)如下圖: 圖4.1 系統(tǒng)登陸界面 用戶在登陸本網(wǎng)上書店系統(tǒng)的時(shí)候,只需要輸入正確的用戶信息和用戶密碼,即可實(shí)現(xiàn)登陸,系統(tǒng)將進(jìn)入首頁,首頁會顯現(xiàn)用戶昵稱信息,表示已經(jīng)成功登陸。如果用戶信息錯(cuò)誤,系統(tǒng)將進(jìn)入到不同的頁面。用戶名不存在,系統(tǒng)將通過Action類跳轉(zhuǎn)到注冊頁面,如果通過數(shù)據(jù)庫驗(yàn)證用戶存在,但狀態(tài)未激活,系統(tǒng)將進(jìn)入激活頁面。登陸功能流程圖入下圖: 圖4.2 登陸功能流程圖 實(shí)現(xiàn)登錄功能的主要方法: public String
63、checkUserLogin(String email, String password, ActionContext action) { // TODO 檢查登陸是否成功 User user = userDAO.queryUserByEmail(email); // 賬號不存在 if (user == null) { return "notExit"; } if (user != null && user.getStatus() == 0) { action.getSession().put("logined", user);
64、 return "status"; } // 登陸成功 if (user != null && user.getPassword().equals(password)) { action.getSession().put("logined", user); return "ok"; } return "error"; } 4.3.2 注冊功能的實(shí)現(xiàn)改成“注冊” 注冊頁面(UI)設(shè)計(jì): 圖4.3 系統(tǒng)注冊界面 用戶通過登錄界面的快速注冊用戶超鏈接進(jìn)入注冊界面,注冊界面用戶必須輸入用戶賬號,用戶昵稱,昵稱必須是字母,輸入用戶密
65、碼,密碼由六位以上的字母或數(shù)字。通過單選框選擇用戶性別,通過下拉列表選擇地址,用戶必須輸入驗(yàn)證碼。正確輸入用戶信息后,注冊成功,將進(jìn)入激活頁面。否則會在注冊頁面上顯示錯(cuò)誤信息提示。錯(cuò)誤信息提示如下圖所示: 圖4.4 注冊報(bào)錯(cuò)頁面 激活頁面(UI)設(shè)計(jì): 圖4.5 激活界面圖 已經(jīng)注冊的用戶可以在登錄界面登錄,但系統(tǒng)不會進(jìn)入主頁面,而是通過Action跳轉(zhuǎn)到激活頁面,在激活頁面會顯示當(dāng)前用戶的激活碼。用戶在激活頁面可以通過輸入顯示的激活碼,激活自己的賬號。激活成功系統(tǒng)將進(jìn)入登錄界面。激活碼算法是通過獲取當(dāng)前登錄用戶的郵箱,然后將字符串轉(zhuǎn)換成字符,對應(yīng)每一位乘以隨機(jī)函數(shù)產(chǎn)生的數(shù)
66、乘以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++) { codeString[i] += (int) (Math.random() * 10); } // System.out.println(new String(codeString)); return new String(codeString); } 注冊功能流程圖如下圖所示: 圖4.6 注冊功能流程圖 4.3.3 首頁功
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案