




已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
SSH框架下基于JSP網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文目 錄1 引言51.1 開發(fā)背景51.2 開發(fā)現(xiàn)狀51.3 開發(fā)意義52 系統(tǒng)分析52.1 系統(tǒng)需求分析52.1.1前臺功能分析62.1.2后臺功能分析62.2系統(tǒng)可行性分析72.2.1 技術(shù)可行性分析72.2.2 操作可行性分析72.2.3 經(jīng)濟(jì)可行性分析73 開發(fā)環(huán)境及相關(guān)技術(shù)83.1 SSH框架簡介83.2 JSP技術(shù)簡介83.3 數(shù)據(jù)庫系統(tǒng)簡介93.4 服務(wù)器系統(tǒng)簡介93.5 CSS層103.6 平臺選擇104 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)104.1系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)104.2系統(tǒng)流程114.2.1總體流程114.2.2系統(tǒng)前臺流程124.2.3系統(tǒng)后臺流程134.3 系統(tǒng)功能模塊實(shí)現(xiàn)134.3.1前臺模塊的功能模塊設(shè)計(jì)134.3.2后臺管理模塊的功能模塊設(shè)計(jì)224.4 數(shù)據(jù)庫表設(shè)計(jì)284.4.1 E-R圖294.4.2基本表設(shè)計(jì)315 系統(tǒng)測試345.1 測試方法345.1.1 測試目的345.1.2 測試原理345.1.3 測試步驟355.2 測試結(jié)果355.2.1 前臺測試結(jié)果355.2.2后臺測試結(jié)果426 結(jié) 論46參考文獻(xiàn)46致 謝47附錄:源程序清單471 引言1.1 開發(fā)背景計(jì)算機(jī)網(wǎng)絡(luò)的出現(xiàn)和快速發(fā)展給世界帶來了翻天覆地的變化,從過去只面向?qū)I(yè)部門的信息傳送擴(kuò)展到現(xiàn)代生活的各個(gè)角落,它為世界的發(fā)展和變革做出了無可估量的貢獻(xiàn)。特別是在二十世紀(jì)九十年代,美國政府提出“信息高速公路”計(jì)劃并付諸于實(shí)施以后,網(wǎng)絡(luò)漸漸的從人們極少了解的領(lǐng)域來到了全世界平常人的生活中。因此,為了方便廣大群眾,滿足商家的需求,需要專門構(gòu)建網(wǎng)上商城系統(tǒng)。1.2 開發(fā)現(xiàn)狀傳統(tǒng)的網(wǎng)站開發(fā)一般采用的是ASP和PHP等腳本站點(diǎn)技術(shù),將整個(gè)站點(diǎn)的業(yè)務(wù)邏輯和表現(xiàn)邏輯都混雜在ASP或PHP 頁面里,從而導(dǎo)致頁面的可讀性相當(dāng)差,可維護(hù)性非常低。即使需要簡單改變頁面的按鈕,也不得不打開頁面文件,冒著系統(tǒng)被破壞風(fēng)險(xiǎn)。1.3 開發(fā)意義從開發(fā)背景來看,網(wǎng)上購物系統(tǒng)具有以下幾點(diǎn)重大意義:1)投資少,回收快。網(wǎng)上開店不許租門面,不許囤積貨品,不用去辦營業(yè)執(zhí)照,投資者 不用為延長營業(yè)時(shí)間而增加額外費(fèi)用。2)不收店面空間的限制。商家只需在網(wǎng)上列出自己的商品,而無需再實(shí)際的商城中擺放。3)不收地理位置的影響。不管客戶離店有多遠(yuǎn),在網(wǎng)上,客戶一樣可以很方便地找到并購買商品,這令消費(fèi)群體突破了地域的限制。4)24小時(shí)營業(yè)。網(wǎng)上商店無需專人值班看點(diǎn),都可照常營業(yè)。2 系統(tǒng)分析 2.1 系統(tǒng)需求分析 網(wǎng)上商城最大好處是要能給用戶帶來最大的便捷,這種便捷不僅體現(xiàn)在網(wǎng)絡(luò)之外的物流、商品的折扣等,更要體現(xiàn)在進(jìn)行網(wǎng)絡(luò)操作時(shí)的易用性,能夠模擬用戶的購物行為,營造一種盡量真實(shí)、貼切的用戶購物過程。本系統(tǒng)可分為前臺和后臺兩大功能模塊,前臺使用戶能夠舒心購物,放心付款。后臺使管理員能夠方便快捷的對商城進(jìn)行管理。2.1.1前臺功能分析 前臺功能主要是針對用戶的操作,它主要的功能包括用戶注冊、登錄,找回密碼,查看商品,生成購物車,生成訂單,在線留言等: 1 )用戶注冊:對于非會員用戶,需要先注冊才可登錄。 2 )用戶登錄:對于會員用戶,可通過注冊時(shí)的用戶名和密碼登錄。3 )找回密碼:如果忘記密碼,可通過用戶名和注冊時(shí)的郵箱找回。4 )查看商品:可通過不同類別查詢,也可查看一個(gè)商品的詳細(xì)信息。5 )生成購物車:用于暫時(shí)緩存用戶選中的商品。 6 )生成訂單:當(dāng)用戶確定選購商品時(shí),需生成訂單,完成交易。7 )在線留言:登錄用戶可在在線留言區(qū)域填寫自己的意見。 2.1.2后臺功能分析 對網(wǎng)站的管理者來說,商品的入庫,用戶信息的管理,商品信息的管理以及商品類別信息的管理是必不可少的,因此,本設(shè)計(jì)的后臺功能包括商品管理,類別管理,系統(tǒng)管理,訂單管理,留言管理等。 1)商品管理:需要將商品名、價(jià)格、商品描述等錄入到數(shù)據(jù)庫中,查看所有商品或者單個(gè)商品的基本信息,刪除和修改某一個(gè)商品等。 2)類別管理:統(tǒng)計(jì)類別之間的比例,添加新類別等。3)訂單管理:管理者應(yīng)該可以每天清晰的查閱有多少訂單生成,對于不需要的訂單可刪除,對于有變動的訂單可修改。4)留言管理:對留言的管理,對不需要的留言可刪除。5)系統(tǒng)管理:對于整個(gè)網(wǎng)上商城系統(tǒng)的管理,包括退出,對用戶信息的查詢,刪除等。2.2系統(tǒng)可行性分析 2.2.1 技術(shù)可行性分析 JSP是Java在Internet/Intranet Web上的重要應(yīng)用技術(shù),可以和各種Java技術(shù)完好的結(jié)合在一起從而實(shí)現(xiàn)非常復(fù)雜的應(yīng)用。因此得到了廣泛的支持和承認(rèn),成為一種非常流行的網(wǎng)站開發(fā)技術(shù)。鑒于JSP技術(shù)的成熟與廣泛的使用,加以指導(dǎo)老師的幫助可以得到很多的技術(shù)支持。Oracle數(shù)據(jù)庫作為目前最主流的數(shù)據(jù)庫已被大多數(shù)企業(yè)所采用,它安全性高,存儲數(shù)據(jù)量大,并且檢索方便。使用SSH框架整合后臺控制層,使代碼更加簡介,大大提高設(shè)計(jì)效率。 2.2.2 操作可行性分析 因?yàn)橛?jì)算機(jī)硬件的發(fā)展已經(jīng)越來越快,現(xiàn)在PC機(jī)的性能已經(jīng)可以勝任普通網(wǎng)站的web服務(wù)器。購買一臺高性能PC機(jī)作為企業(yè)的網(wǎng)站對于這個(gè)營銷商來說并不是問題。2.2.3 經(jīng)濟(jì)可行性分析 根據(jù)調(diào)查的資料,現(xiàn)在聘用一支團(tuán)隊(duì)設(shè)計(jì)并建設(shè)企業(yè)商務(wù)型網(wǎng)站的費(fèi)用為7000元左右,另外每年交納700元占用網(wǎng)站空間和網(wǎng)站維護(hù)費(fèi)。為了使網(wǎng)站建成后能達(dá)到增加企業(yè)經(jīng)濟(jì)效益的效果,尋找一支創(chuàng)新與技術(shù)優(yōu)秀的團(tuán)隊(duì)最多需要增加2000元的一次性投資。這樣看來一個(gè)成功的網(wǎng)站建成后為這個(gè)營銷商帶來的效益將會遠(yuǎn)大于成本。但架設(shè)好一個(gè)網(wǎng)絡(luò)中的服務(wù)器,以滿足互聯(lián)網(wǎng)中瀏覽者對速度的需求,這樣每年服務(wù)器與網(wǎng)絡(luò)線路和設(shè)備的維護(hù)費(fèi)用將是企業(yè)不得不重點(diǎn)考慮的因素。如何做好經(jīng)濟(jì)可行性分析,需要通過仔細(xì)的調(diào)查與投資和行業(yè)方面的專業(yè)人士分析。3 開發(fā)環(huán)境及相關(guān)技術(shù)3.1 SSH框架簡介集成SSH框架的系統(tǒng)從職責(zé)上分為四層:視圖層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層和數(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.3.2 JSP技術(shù)簡介本系統(tǒng)采用JSP技術(shù)開發(fā)。因?yàn)镴SP與同類的CGI、ASP、PHP相比有著獨(dú)特的優(yōu)勢。JSP是Sun屬下Javasoft公司推出的技術(shù),使用的Java語言是ASP、PHP和JSP三者中最新的技術(shù)。它以JavaServlet技術(shù)為基礎(chǔ),又在許多方面作了改進(jìn),并且充分借鑒了ASP和PHP一些合理的地方。它的平臺無關(guān)性勝過ASP技術(shù),而強(qiáng)大的JDBC數(shù)據(jù)庫接口規(guī)范又優(yōu)于PHP技術(shù),而且JSP技術(shù)是以JAVA語言為基礎(chǔ)的,可以使用JavaBeans組件和自定義標(biāo)簽,因此具有良好的擴(kuò)展性??偟膩碚f,JSP業(yè)已成為目前主流的動態(tài)網(wǎng)頁開發(fā)技術(shù)之一。JSP的優(yōu)點(diǎn)如下:1)借助JSP技術(shù),Web網(wǎng)頁設(shè)計(jì)人員可以使用HTML或者XML標(biāo)記來設(shè)計(jì)和風(fēng)格化Web頁面,使用JSP標(biāo)記來生成動態(tài)Web頁面。在服務(wù)器端,JSP引擎負(fù)責(zé)解釋JSP標(biāo)記和腳本,生產(chǎn)請求的內(nèi)容,然后將結(jié)果以HTML頁面等形式發(fā)送回瀏覽器。這樣開發(fā)者可以保護(hù)自己的核心代碼,同時(shí)可以保證任何Web瀏覽器的高度兼容性。2)JSP頁面可借助可重用的、跨平臺的組件(JavaBean),來執(zhí)行Web應(yīng)用所要求的極為復(fù)雜的業(yè)務(wù)處理。能夠共享和交換調(diào)用一般操作的組件,或者讓這些組件被別的開發(fā)人員或者開發(fā)團(tuán)隊(duì)所使用。3)通過開發(fā)定制化的標(biāo)簽庫等方法,JSP技術(shù)可以支持動態(tài)擴(kuò)展技術(shù)。4)作為Java2的一個(gè)重要組成部分,JSP技術(shù)能夠支持高度復(fù)雜的、基于Web的企業(yè)級應(yīng)用。JSP技術(shù)可以輕松地與現(xiàn)有多種應(yīng)用體系架構(gòu)整合,可以充分利用已有開發(fā)工具和技巧,并擴(kuò)展到企業(yè)級分布式應(yīng)用環(huán)境。此外,JSP技術(shù)無論是在跨平臺特性、運(yùn)行效率、企業(yè)級軟件開發(fā)還是商業(yè)支持方面都具有優(yōu)勢,從而使其成為目前和未來進(jìn)行動態(tài)網(wǎng)頁開發(fā)的最佳工具之一。3.3 數(shù)據(jù)庫系統(tǒng)簡介ORACLE數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個(gè)通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫,它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了分布式處理功能。ORACLE數(shù)據(jù)庫具有以下優(yōu)點(diǎn):安全性高,存儲數(shù)據(jù)量大,檢索方便等。3.4 服務(wù)器系統(tǒng)簡介Tomcat是Apache公司組織開發(fā)飛一種JSP引擎,由于自身具有Web服務(wù)器,可以作為獨(dú)立的Web服務(wù)器使用。在 Tomcat中,應(yīng)用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個(gè)文件,并將其解壓。你在瀏覽器中訪問這個(gè)應(yīng)用的Jsp時(shí),通常第一次會很慢,因?yàn)門omcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會很快。另外 Tomcat也提供了一個(gè)應(yīng)用:manager,訪問這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲在一個(gè)xml文件中。通過這個(gè)應(yīng)用,輔助于Ftp,你可以在遠(yuǎn)程通過Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓 Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet.這種集成只需要修改一下Apache和Tomcat的配置文件即可。3.5 CSS層CSS層疊樣式表 (Cascading Style Sheet) 是一系列格式規(guī)則,它們控制網(wǎng)頁內(nèi)容的外觀。使用 CSS 可以非常靈活并更好地控制具體的頁面外觀,從精確的布局定位到特定的字體和樣式。并能極大的方便網(wǎng)頁制作的工作4。這次設(shè)計(jì)中就學(xué)習(xí)使用了CSS層疊樣式表,在HTML文文檔外部將一系列CSS規(guī)則存儲到一個(gè).CSS文件中。例如創(chuàng)建了一個(gè)名為body的選擇器。利用它來統(tǒng)一設(shè)計(jì)網(wǎng)站內(nèi)網(wǎng)頁背景及外部框架的樣式。在聲明中規(guī)定了頁面的背景、滾動條的顏色樣式等。還用.br和.wenbenkuang兩個(gè)選擇器確定輸出文本框時(shí)的樣式。由于CSS已經(jīng)規(guī)定聲明部分中的屬性及其取值范圍,所以對于我這樣初學(xué)者的難點(diǎn)就是如何找到合適的屬性來實(shí)現(xiàn)頁面設(shè)計(jì)。3.6 平臺選擇Microsoft軟件是日常生活中使用最為廣泛的軟件,基于這一特點(diǎn),我們選用的平臺是Java Server Page(簡稱JSP)+oracle數(shù)據(jù)庫,它適應(yīng)于Windows操作系統(tǒng)并能很好的與其應(yīng)用程序結(jié)合,而且oracle數(shù)據(jù)庫也易操作,從而大大降低了編程難度。具體如下:1)采用了Internet架構(gòu),Bowser/Server模式。2)Web服務(wù)器采用Tomcat6.0服務(wù)器,數(shù)據(jù)庫管理系統(tǒng)為oracle。3)開發(fā)工具使用Dreamweaver搭建系統(tǒng)頁面框架,再用MyEclipse在其中插入JSP語句,JavaBean使用MyElipse編寫。4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)4.1系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)采用B/S(Browser/Server,瀏覽器/服務(wù)器)架構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過IE瀏覽器來實(shí)現(xiàn)的。B/S模式最大的好處是運(yùn)行維護(hù)比較簡便,能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數(shù)據(jù)。B/S結(jié)構(gòu)最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個(gè)用戶名和密碼,就可以使用。在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進(jìn)行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡化了客戶機(jī)的工作,客戶機(jī)上只需配置少量的客戶端軟件。服務(wù)器將擔(dān)負(fù)更多的工作,對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成等工作全部由Apache Server完成。實(shí)際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機(jī)的任務(wù)中分離出來,由Apache服務(wù)器單獨(dú)組成一層來負(fù)擔(dān)其任務(wù),這樣客戶機(jī)的壓力減輕了,把負(fù)荷分配給了Apache服務(wù)器。這種三層體系結(jié)構(gòu)如圖4.2所示。這種結(jié)構(gòu)不僅把客戶機(jī)從沉重的負(fù)擔(dān)和不斷對其提高的性能的要求中解放出來,也把技術(shù)維護(hù)人員從繁重的維護(hù)升級工作中解脫出來。由于客戶機(jī)把事務(wù)處理邏輯部分分給了功能服務(wù)器,不再負(fù)責(zé)處理復(fù)雜計(jì)算和數(shù)據(jù)訪問等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,所以維護(hù)人員不再為程序的維護(hù)工作奔波于每個(gè)客戶機(jī)之間,而把主要精力放在功能服務(wù)器上程序的更新工作。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會影響其它層的功能。圖4.1 系統(tǒng)體系結(jié)構(gòu)圖4.2系統(tǒng)流程4.2.1總體流程層次模塊結(jié)構(gòu)是將系統(tǒng)劃分為若干子系統(tǒng),子系統(tǒng)下再劃分為若干的模塊。而模塊是指具備有輸入輸出、邏輯功能、運(yùn)行程序和內(nèi)部數(shù)據(jù)四種屬性的一組程序。在結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)中,模塊一般都是按功能劃分的,通常稱為功能模塊。合理的功能模塊的劃分能夠極大限度地減少重復(fù)勞動、提高開發(fā)工作的效率并增大系統(tǒng)的可維護(hù)性。以前面的系統(tǒng)分析為基礎(chǔ),將系統(tǒng)分為兩大模塊,即前臺模塊和后臺模塊。網(wǎng)上商城系統(tǒng)的功能結(jié)構(gòu)如圖4.2所示。圖 4.2 系統(tǒng)總體流程結(jié)構(gòu)圖4.2.2系統(tǒng)前臺流程 網(wǎng)上商城前臺的主要對象是顧客,操作步驟說明如下:1)顧客在進(jìn)行第一次購物之前要進(jìn)行會員驗(yàn)證,如果不是會員需要注冊一個(gè)。注冊時(shí)需要填寫自己的用戶名,密碼,電子郵件等; 2)進(jìn)入網(wǎng)上商店,顧客可根據(jù)不同的鏈接,查詢不同類別的商品,可單擊商品的圖片查看到該商品的具體信息;3)選中商品后,并點(diǎn)擊“加入購物車”按鈕,將商品放入購物車; 4)選購結(jié)束,檢查購物車,核實(shí)商品和數(shù)量是否正確,如有出入,可以重新調(diào)整商品和數(shù)量,如無誤,則可以提交訂單;5)提交訂單需要填寫送貨的信息,確認(rèn)無誤點(diǎn)擊提交,完成操作。 后臺操作流程圖如下圖4.3所示:圖4.3 網(wǎng)上商城系統(tǒng)前臺流程圖4.2.3系統(tǒng)后臺流程 本商城的后臺設(shè)計(jì)中,管理員完成對網(wǎng)站的維護(hù)與管理的工作。操作步驟說明如下:1)管理員通過唯一的用戶名和密碼登錄到后臺界面,通過下拉框列表可看到不同的操作模塊;2) 系統(tǒng)管理:可查看所有注冊的用戶,可對用戶進(jìn)行刪除。3) 商品管理:可查看所有商品信息,查看一件商品信息,可刪除和修改商品,并添加一件商品。4) 類別管理:可添加一個(gè)類別,查看不同類別的比例圖。5) 留言管理:可查看所有留言,刪除留言。6) 訂單管理:可修改訂單,刪除訂單。后臺管理的流程如圖4.4所示:圖4.4 網(wǎng)上商城系統(tǒng)后臺業(yè)務(wù)流程圖4.3 系統(tǒng)功能模塊實(shí)現(xiàn)4.3.1前臺模塊的功能模塊設(shè)計(jì)前臺模塊主要為登陸網(wǎng)站的用戶提供商品和服務(wù)的信息,填寫并提交訂單的服務(wù)。這樣,將前臺模塊再細(xì)分為用戶管理模塊、訂單查詢模塊、購物車模塊、留言板模塊、商品模塊。顧名思義,這些模塊的名稱基本概括了它們的功能。下面詳細(xì)說明一下這些功能模塊的設(shè)計(jì):1)用戶管理模塊為了方便于網(wǎng)站的管理,必須由一套完整的用戶管理體系。本網(wǎng)站用戶管理模塊主要實(shí)現(xiàn)用戶的注冊、登錄、找回密碼三方面功能,對于非會員用戶必須先進(jìn)行注冊才能進(jìn)入商城,如果忘記密碼,可通過輸入注冊時(shí)的用戶名和郵箱地址找回密碼。登錄流程圖如圖4.5所示:圖4.5 登錄流程圖 部分實(shí)現(xiàn)代碼如下: 用戶登錄 用戶名: 密 碼: Class.forName(oracle.jdbc.OracleDriver);String url=jdbc:oracle:thin::1521:orcl;conn=DriverManager.getConnection(url,ledushop,ledushop);conn = new DBUtil().getConn();String sql =”select * from userinfo where username=? And userpwd=?”登錄模塊頁面login.jsp如圖4.6所示:圖4.6登錄頁面圖對于非會員用戶需要先進(jìn)行注冊,用戶需要輸入自己的基本信息,確認(rèn)密碼無誤后完成注冊,注冊流程圖如圖4.7所示:圖4.7 用戶注冊流程圖 部分實(shí)現(xiàn)代碼如下:String sql = insert into Userinfo(id,username,userpwd,email,createtime) values(SEQ_USERINFO.NEXTVAL,?,?,?,?);/添加用戶request.setCharacterEncoding(gb2312);response.setContentType(text/html;charset=gb2312);PrintWriter out = response.getWriter();String username = request.getParameter(ld_userID);String userpwd = request.getParameter(ld_pass1);String email = request.getParameter(ld_mail);if(new UserinfoDao().addUserinfo(u)out.println(alert(注冊成功!);response.setHeader(refresh, 0;url=login1.jsp);elseout.println(alert(注冊失?。?;response.setHeader(refresh, 0;url=new.jsp);注冊頁面new.jsp如圖4.8所示:圖4.8注冊頁面圖對于忘記密碼的用戶,可通過輸入自己的用戶名和郵箱地址,找回自己的密碼,找回密碼流程圖如圖4.9所示:圖4.9找回密碼流程圖部分實(shí)現(xiàn)代碼如下:request.setCharacterEncoding(gb2312);response.setContentType(text/html;charset=gb2312);PrintWriter out = response.getWriter();String username = request.getParameter(username);String userpwd = request.getParameter(email);if(u!=null)out.println(alert(您的密碼為:+u.getUserpwd()+);response.setHeader(refresh, 0;url=show.jsp);elseout.println(alert(您輸入的用戶名或郵箱有誤!);response.setHeader(refresh, 0;url=new.jsp);找回密碼頁面findPassword.jsp如圖4.10所示:圖4.10 找回密碼頁面圖2)購物車模塊在超市購物,可以根據(jù)自己的需要將很多種商品挑選至購物車或購物籃中,然后到收銀臺結(jié)款。而在網(wǎng)上虛擬的商城中,當(dāng)然沒有辦法使用真正的購物工具,因此,通常都會采用一種被稱為“購物車”的技術(shù)來模擬現(xiàn)實(shí)生活,即現(xiàn)將商品信息存入一個(gè)集合中,這個(gè)集合就是購物車。在網(wǎng)上商城中,所選商品須通過購物車進(jìn)行暫存,然后生產(chǎn)訂單。這種技術(shù)使用起來十分方便,不但可以隨時(shí)添加、查看、修改、清空購物車中的內(nèi)容,還可以隨時(shí)去收銀臺結(jié)款。購物車模塊流程圖如圖4.11所示。圖 4.11購物車模塊流程圖部分實(shí)現(xiàn)代碼如下:HashMap map=new HashMap();public boolean addGoodCartItme(GoodCartItme gc) map.put(gc.getGo().getId()+,gc);return true;public boolean deleteGoodCartItme(String Goodid)map.remove(Goodid);return true;public void clearCartItme()map.clear();public int getAllsum()int sum=0;for(GoodCartItme gc : this.getAllGoodCartItme()sum+=gc.getgoodinfosum();return sum;public void modify(String Goodid,int count) GoodCartItme gc=map.get(Goodid);gc.setCount(count);public Collection getAllGoodCartItme()Collection c=map.values(); return c;public boolean isExists(int Goodid)if(map.containsKey(Goodid)return true;elsereturn false;購物車頁面gouwuche.jsp如圖4.12所示:圖4.12 購物車頁面圖3)訂單管理模塊用戶將商品添加入購物車后可點(diǎn)擊”提交訂單”按鈕,填寫訂單信息生成訂單,點(diǎn)擊提交后將訂單信息入庫,生成訂單后用戶可通過頁面上的“訂單查詢”按鈕,通過輸入訂單號查詢訂單,如果沒有,這返回錯誤,重新輸入。訂單查詢模塊流程圖如圖4.13所示。圖 4.13 訂單查詢模塊流程圖部分實(shí)現(xiàn)代碼如下:request.setCharacterEncoding(gb2312);response.setContentType(text/html;charset=gb2312);PrintWriter out = response.getWriter();String name = request.getParameter(name);String telphone = request.getParameter(telphone);String address = request.getParameter(address);String dcode = request.getParameter(dcode);int userid = Integer.parseInt(request.getParameter(userid); if(new DetailDao().addDetail(u)out.println(alert(訂單已提交,請付款!);response.setHeader(refresh, 0;url=show.jsp);elseout.println(alert(您操作有誤!);response.setHeader(refresh, 0;url=cart.jsp);訂單頁面cart.jsp如圖4.14所示:圖4.14 生成訂單圖4)留言板管理模塊: 留言板是一個(gè)商務(wù)網(wǎng)站中不可缺少的組成部分,它可以增進(jìn)用戶與網(wǎng)站之間的交流。在現(xiàn)實(shí)網(wǎng)絡(luò)開發(fā)中存在著各種各樣的留言板,本設(shè)計(jì)中用戶只要登錄到了本系統(tǒng),就可直接在“在線留言”欄中添加自己想說的話,系統(tǒng)會自動將存入數(shù)據(jù)庫中并在頁面顯示出來,發(fā)表留言流程圖如圖4.15所示:圖4.15 發(fā)表留言流程圖部分實(shí)現(xiàn)代碼如下:String sql = insert into SPEAK(id,DESCRI,createtime,USERID) values(SEQ_SPEAK.NEXTVAL,?,?,?);您的姓名input name=”Mname” type=”text”Value=”id=”Mname”留言板頁面liuyan.jsp如圖4.16所示:圖4.16 留言頁面圖 發(fā)表留言頁面addnew.jsp如圖4.17所示:圖4.17 發(fā)表留言圖4.3.2后臺管理模塊的功能模塊設(shè)計(jì)后臺管理模塊的功能是對站內(nèi)的資源進(jìn)行管理和維護(hù)。以后臺的業(yè)務(wù)流程分析和前臺各個(gè)模塊的設(shè)計(jì)為基礎(chǔ)、根據(jù)用戶的需求分析來確定后臺管理模塊應(yīng)具有的功能。后臺管理模塊的各個(gè)子功能模塊如下:1)管理員登錄模塊 為合法用戶提供一個(gè)后臺入口。該模塊的功能是對管理員身份進(jìn)行能夠驗(yàn)證。用戶輸入登錄名和密碼后,系統(tǒng)將判斷登錄名及密碼的有效性,如果通過驗(yàn)證則狀態(tài)后臺主頁,反之則提示錯誤,本次設(shè)計(jì)只設(shè)定一個(gè)唯一的后臺管理員,不可注冊新的管理員以確保后臺的穩(wěn)定,防止信息泄露。登錄流程圖如圖4.18所示:圖4.18 網(wǎng)上商城系統(tǒng)后臺登錄流程圖部分實(shí)現(xiàn)代碼如下:private String hql=null;public Admin findAdminByProperties(final Admin admin) throws Exception hql = from Admin as u where u.adminname=? and u.adminpwd=?; Return (Admin)this.getHibernateTemplate().execute(new HibernateCallback public Object doInHibernate(Session session)throws HibernateExceptionQuery query = session.createQuery(hql);query.setString(0,admin.getAdminname();query.setString(1,admin.getAdminpwd(););登錄模塊頁面login1.jsp如圖4.18所示:圖4.18網(wǎng)上商城系統(tǒng)后臺登錄圖 2)商品管理模塊 向商品表插入前臺首頁展示的商品信息,也就是添加商品信息的功能,點(diǎn)擊“查看商品”可查看到所有商品的信息,點(diǎn)擊刪除可刪除單個(gè)商品,點(diǎn)擊修改可修改商品的信息,點(diǎn)擊添加商品可添加一類商品,點(diǎn)擊進(jìn)貨可添加一個(gè)商品的庫存數(shù)量。添加商品流程圖如圖4.19所示:圖 4.19添加商品信息模塊流程圖部分實(shí)現(xiàn)代碼如下:public List getAll() throws Exception hql=from Shop as s;return this.getHibernateTemplate().find(hql);public Shop getShopById(Byte id) throws Exception return this.getHibernateTemplate().get(Shop.class, id);public void delete(Shop shop) throws Exception this.getHibernateTemplate().delete(shop);public void update(Shop shop) throws Exception this.getHibernateTemplate().saveOrUpdate(shop);商品管理頁面med_list.jsp如圖4.20所示:圖4.20 商品管理頁面圖3)類別管理每一個(gè)商品都有自己所屬的類別,因此對商品管理之前,都需要對類別進(jìn)行管理,類別管理可查看所有類別的信息,可添加一個(gè)商品類別,點(diǎn)擊類別統(tǒng)計(jì)可查看到類別的餅狀圖。部分實(shí)現(xiàn)代碼如下:JFreeChart chart = null;if(list != null & list.size() 0)DefaultPieDataset dataset = new DefaultPieDataset();for (int i = 0; i list.size(); i+) Object objs = (Object)list.get(i);dataset.setValue(objs0.toString(), (Number)objs1);chart = ChartFactory.createPieChart3D(ledushop商品類別統(tǒng)計(jì), dataset, true, true, false); chart.getTitle().setFont(new Font(隸書,Font.BOLD,25);chart.getLegend().setItemFont(new Font(宋體,Font.BOLD,15);PiePlot plot = (PiePlot) chart.getPlot(); plot.setForegroundAlpha(0.5f); plot.setLabelFont(new Font(宋體,Font.PLAIN,12);plot.setCircular(true); plot.setLabelGenerator(new StandardPieSectionLabelGenerator(0=2,NumberFormat.getNumberInstance(),NumberFormat.getPercentInstance();return chart;類別管理頁面category.jsp如圖4.21所示:圖4.21 類別管理頁面圖4)訂單管理模塊前臺用戶確認(rèn)購買后會生成相應(yīng)訂單,訂單永久存在于數(shù)據(jù)庫中,因此對于網(wǎng)站管理者可對用戶過期的訂單進(jìn)行刪除,同時(shí)也可查看到所有訂單那,部分實(shí)現(xiàn)代碼如下: $detail.id $ $detail.telphone $detail.address $detail.dcode $detail.createtime 訂單管理如圖4.22所示:圖4.22 訂單管理頁面圖5)留言管理模塊 前臺設(shè)置的在線留言功能,方便及時(shí)反饋用戶對網(wǎng)站的滿意度,管理員可對用戶的留言進(jìn)行操作,對于不友好的留言可刪除。部分實(shí)現(xiàn)代碼如下:public String list() throws ExceptiontryList list = speakService.getAll();getRequest().setAttribute(speakList,list);catch(Exception ex)ex.printStackTrace();return to_speak;留言管理如圖4.23所示:圖4.23 留言管理頁面圖6)系統(tǒng)管理模塊用戶注冊后會將自己的所有信息錄入數(shù)據(jù)庫中,管理員可對用戶的信息進(jìn)行操作,對于經(jīng)常不登錄的用戶可刪除,點(diǎn)擊退出系統(tǒng)可退出。部分實(shí)現(xiàn)代碼如下:public void save(Userinfo userinfo) throws Exception this.getHibernateTemplate().save(userinfo);public List getAll() throws Exception hql=from Userinfo as u;return this.getHibernateTemplate().find(hql);public void update(Userinfo userinfo) throws Exception this.getHibernateTemplate().update(userinfo);public void delete(Userinfo userinfo) throws Exception this.getHibernateTemplate().delete(userinfo);public Userinfo get(Byte id) throws Exception return this.getHibernateTemplate().load(Userinfo.class,id);用戶管理頁面userinfo.jsp如圖4.24所示:圖4.24用戶管理圖4.4 數(shù)據(jù)庫表設(shè)計(jì)數(shù)據(jù)庫是數(shù)據(jù)庫應(yīng)用程序的重要組成部分。一個(gè)設(shè)計(jì)結(jié)構(gòu)合理的數(shù)據(jù)庫對于應(yīng)用程序的開發(fā)效率和程序的性能都是非常重要的。數(shù)據(jù)庫的設(shè)計(jì)過程大致如下:根據(jù)用戶需求,確定數(shù)據(jù)庫中要保存的數(shù)據(jù)信息。對用戶需求進(jìn)行分析時(shí)數(shù)據(jù)庫設(shè)計(jì)的第一個(gè)階段。不斷的調(diào)查與研究用戶需求,了解企業(yè)運(yùn)作流程等系統(tǒng)需求,使設(shè)計(jì)概念模型的基礎(chǔ)。設(shè)計(jì)數(shù)據(jù)庫的概念模型。概念模型是按用戶的觀點(diǎn)來對數(shù)據(jù)建模,使用與進(jìn)行信息世界建模的工具。它對整個(gè)數(shù)據(jù)庫的設(shè)計(jì)具有深刻的影響。邏輯結(jié)構(gòu)設(shè)計(jì)。邏輯結(jié)構(gòu)是把概念結(jié)構(gòu)轉(zhuǎn)化為與所采用的數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型相符合的過程。數(shù)據(jù)庫的實(shí)施和維護(hù)。 在設(shè)計(jì)好前臺與后臺的功能模塊后,就開始進(jìn)行數(shù)據(jù)庫的設(shè)計(jì)了。根據(jù)網(wǎng)站系統(tǒng)的分析,數(shù)據(jù)庫是整個(gè)網(wǎng)站的核心。從前臺顯示的信息到后臺操作的對象,都是圍繞數(shù)據(jù)庫展開的。4.4.1 E-R圖E-R圖是一種概念模型。概念模型實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。概念模型用于信息世界的建模,是顯示世界到信息世界的第一層抽象,使數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的有利工具,也是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言,因此概念模型一方面應(yīng)該具有較強(qiáng)的語義表達(dá)能力,能夠方便、直接的表達(dá)應(yīng)該用眾的各種語義知識,另一方面他還應(yīng)該簡單、清晰并且易于用戶理解4。以下是各個(gè)數(shù)據(jù)表的實(shí)體圖。1)商品信息表SHOP的實(shí)體圖圖 4.25商品信息表SHOP的實(shí)體圖2)用戶信息表USERINFO的實(shí)體圖圖 4.26 用戶信息表USERINFO的實(shí)體圖3)留言信息表SPEAK的實(shí)體圖圖 4.27 留言信息表SPEAK的實(shí)體圖4) 訂單生成表DETAIL的實(shí)體圖圖 4.28 訂單生成表DETAIL的實(shí)體圖5)商品類別表SHOPTYPE的實(shí)體圖圖 4.29 訂單商品表SHOPTYPE的實(shí)體圖6)管理員信息表ADMIN的實(shí)體圖圖 4.30 管理員信息表ADMIN的實(shí)體圖7)總體E-R圖圖 4.31 總體E-R圖4.4.2基本表設(shè)計(jì)表的設(shè)計(jì)是這次設(shè)計(jì)的一個(gè)核心內(nèi)容。根據(jù)前面對網(wǎng)站前臺與后臺功能模塊的分析和對數(shù)據(jù)庫中實(shí)體關(guān)系的設(shè)計(jì),可以看到網(wǎng)站中所用到的數(shù)據(jù)信息基本包括:商品信息、用戶信息、留言信息、訂單信息、管理員信息、留言信息等。下面是為數(shù)據(jù)庫設(shè)計(jì)的表:1)商品信息表tb_Shop商品信息表tb_Shop用來保存商品的基礎(chǔ)信息。結(jié)構(gòu)如表4.1所示。表4.1 tb_Shop的結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述IDInt2否是商品IDShopnameVarchar210否否商品名稱Pricenumber10否否商品價(jià)格ShopsizeVarchar220否否商品尺碼DmadeVarchar210否否布料構(gòu)成Medcountnumber10否否庫存數(shù)量Regcountnumber10否否需求數(shù)量MinimageVarchar210否否小圖片路徑MaximageVarchar210否否大圖片路徑TypeidInt2否否類別ID2)用戶信息表tb_Userinfo用戶信息表tb_Userinfo用來保存用戶信息。表tb_Userinfo的結(jié)構(gòu)如表4.2所示。表4.2 tb_Userinfo的結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述UseridInt2否是用戶IDUsernameVarchar220否否用戶名userpwdVarchar220否否用戶密碼createtimeDate否否生成時(shí)間EmailVarchar220否否Email3)留言信息表tb_Speak留言信息表tb_Speak用來記錄留言信息。表tb_Speak的結(jié)構(gòu)如表4.3所示。表4.3 tb_Speak的結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述IDInt2否是主題IDUsernameVarchar220否否作者姓名EmailVarchar250否否EmailCreatetimeDate否否發(fā)布時(shí)間TextnameVarchar250否否主題名稱TextgutVarchar216否否留言內(nèi)容4)商品類別表tb_Shoptype商品類別表tb_Shoptype用來記錄某一類商品的信息。表tb_Shoptype的結(jié)構(gòu)如表4.4所示。表4.4 tb_Shoptype的結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述IdInt2否是類別idTypenameVarchar210否否類別名稱DescriVarcahr220否否類別介紹CreatetimeDate否否創(chuàng)建時(shí)間5)管理員信息表tb_Admin管理員信息表tb_Admin主要用于記錄管理員的信息。表tb_Admin的結(jié)構(gòu)如表4.5所示。 表4.5 tb_Admin的結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年行政管理師考試模擬試題及答案分享
- 室內(nèi)電纜拆改施工方案
- 2024微生物檢驗(yàn)技師考試試題及答案的合理化探討
- 2024年項(xiàng)目管理復(fù)習(xí)攻略試題及答案
- 焦點(diǎn)地方2025年證券從業(yè)資格證考試試題及答案
- 2024年項(xiàng)目管理考試獨(dú)特觀點(diǎn)試題及答案
- 項(xiàng)目管理在數(shù)字化時(shí)代的應(yīng)用趨勢試題及答案
- 2024年微生物技術(shù)前沿分析試題及答案
- 微生物生態(tài)學(xué)與人類健康的關(guān)系試題及答案
- 紡前麻纖維預(yù)處理技術(shù)考核試卷
- 房屋征拆合同協(xié)議
- Unit 1 Growing up (Period 1)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年滬教牛津版(深圳用)英語六年級上冊
- 湖南湘潭高新集團(tuán)有限公司招聘考試真題2024
- 2025春季學(xué)期國開電大本科《政府經(jīng)濟(jì)學(xué)》一平臺在線形考(形考任務(wù)1至4)試題及答案
- 2025年中小學(xué)教師資格考試進(jìn)階試題及答案
- 2025年03月四川成都農(nóng)業(yè)科技中心公開招聘筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2024年北京體育大學(xué)招聘考試真題
- 防災(zāi)減災(zāi)應(yīng)急知識培訓(xùn)
- 2025年志愿者服務(wù)日知識競賽考試指導(dǎo)題庫150題(含答案)
- 2025-2030年中國玄武巖纖維行業(yè)未來發(fā)展趨勢及投資戰(zhàn)略研究報(bào)告
- 初中學(xué)生成長評價(jià)方案
評論
0/150
提交評論