SSH框架下基于JSP網(wǎng)上商城系統(tǒng)的設計與實現(xiàn)畢業(yè)論文.doc_第1頁
SSH框架下基于JSP網(wǎng)上商城系統(tǒng)的設計與實現(xiàn)畢業(yè)論文.doc_第2頁
SSH框架下基于JSP網(wǎng)上商城系統(tǒng)的設計與實現(xiàn)畢業(yè)論文.doc_第3頁
SSH框架下基于JSP網(wǎng)上商城系統(tǒng)的設計與實現(xiàn)畢業(yè)論文.doc_第4頁
SSH框架下基于JSP網(wǎng)上商城系統(tǒng)的設計與實現(xiàn)畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

SSH框架下基于JSP網(wǎng)上商城系統(tǒng)的設計與實現(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 技術可行性分析72.2.2 操作可行性分析72.2.3 經(jīng)濟可行性分析73 開發(fā)環(huán)境及相關技術83.1 SSH框架簡介83.2 JSP技術簡介83.3 數(shù)據(jù)庫系統(tǒng)簡介93.4 服務器系統(tǒng)簡介93.5 CSS層103.6 平臺選擇104 系統(tǒng)設計與實現(xiàn)104.1系統(tǒng)總體結(jié)構設計104.2系統(tǒng)流程114.2.1總體流程114.2.2系統(tǒng)前臺流程124.2.3系統(tǒng)后臺流程134.3 系統(tǒng)功能模塊實現(xiàn)134.3.1前臺模塊的功能模塊設計134.3.2后臺管理模塊的功能模塊設計224.4 數(shù)據(jù)庫表設計284.4.1 E-R圖294.4.2基本表設計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參考文獻46致 謝47附錄:源程序清單471 引言1.1 開發(fā)背景計算機網(wǎng)絡的出現(xiàn)和快速發(fā)展給世界帶來了翻天覆地的變化,從過去只面向?qū)I(yè)部門的信息傳送擴展到現(xiàn)代生活的各個角落,它為世界的發(fā)展和變革做出了無可估量的貢獻。特別是在二十世紀九十年代,美國政府提出“信息高速公路”計劃并付諸于實施以后,網(wǎng)絡漸漸的從人們極少了解的領域來到了全世界平常人的生活中。因此,為了方便廣大群眾,滿足商家的需求,需要專門構建網(wǎng)上商城系統(tǒng)。1.2 開發(fā)現(xiàn)狀傳統(tǒng)的網(wǎng)站開發(fā)一般采用的是ASP和PHP等腳本站點技術,將整個站點的業(yè)務邏輯和表現(xiàn)邏輯都混雜在ASP或PHP 頁面里,從而導致頁面的可讀性相當差,可維護性非常低。即使需要簡單改變頁面的按鈕,也不得不打開頁面文件,冒著系統(tǒng)被破壞風險。1.3 開發(fā)意義從開發(fā)背景來看,網(wǎng)上購物系統(tǒng)具有以下幾點重大意義:1)投資少,回收快。網(wǎng)上開店不許租門面,不許囤積貨品,不用去辦營業(yè)執(zhí)照,投資者 不用為延長營業(yè)時間而增加額外費用。2)不收店面空間的限制。商家只需在網(wǎng)上列出自己的商品,而無需再實際的商城中擺放。3)不收地理位置的影響。不管客戶離店有多遠,在網(wǎng)上,客戶一樣可以很方便地找到并購買商品,這令消費群體突破了地域的限制。4)24小時營業(yè)。網(wǎng)上商店無需專人值班看點,都可照常營業(yè)。2 系統(tǒng)分析 2.1 系統(tǒng)需求分析 網(wǎng)上商城最大好處是要能給用戶帶來最大的便捷,這種便捷不僅體現(xiàn)在網(wǎng)絡之外的物流、商品的折扣等,更要體現(xiàn)在進行網(wǎng)絡操作時的易用性,能夠模擬用戶的購物行為,營造一種盡量真實、貼切的用戶購物過程。本系統(tǒng)可分為前臺和后臺兩大功能模塊,前臺使用戶能夠舒心購物,放心付款。后臺使管理員能夠方便快捷的對商城進行管理。2.1.1前臺功能分析 前臺功能主要是針對用戶的操作,它主要的功能包括用戶注冊、登錄,找回密碼,查看商品,生成購物車,生成訂單,在線留言等: 1 )用戶注冊:對于非會員用戶,需要先注冊才可登錄。 2 )用戶登錄:對于會員用戶,可通過注冊時的用戶名和密碼登錄。3 )找回密碼:如果忘記密碼,可通過用戶名和注冊時的郵箱找回。4 )查看商品:可通過不同類別查詢,也可查看一個商品的詳細信息。5 )生成購物車:用于暫時緩存用戶選中的商品。 6 )生成訂單:當用戶確定選購商品時,需生成訂單,完成交易。7 )在線留言:登錄用戶可在在線留言區(qū)域填寫自己的意見。 2.1.2后臺功能分析 對網(wǎng)站的管理者來說,商品的入庫,用戶信息的管理,商品信息的管理以及商品類別信息的管理是必不可少的,因此,本設計的后臺功能包括商品管理,類別管理,系統(tǒng)管理,訂單管理,留言管理等。 1)商品管理:需要將商品名、價格、商品描述等錄入到數(shù)據(jù)庫中,查看所有商品或者單個商品的基本信息,刪除和修改某一個商品等。 2)類別管理:統(tǒng)計類別之間的比例,添加新類別等。3)訂單管理:管理者應該可以每天清晰的查閱有多少訂單生成,對于不需要的訂單可刪除,對于有變動的訂單可修改。4)留言管理:對留言的管理,對不需要的留言可刪除。5)系統(tǒng)管理:對于整個網(wǎng)上商城系統(tǒng)的管理,包括退出,對用戶信息的查詢,刪除等。2.2系統(tǒng)可行性分析 2.2.1 技術可行性分析 JSP是Java在Internet/Intranet Web上的重要應用技術,可以和各種Java技術完好的結(jié)合在一起從而實現(xiàn)非常復雜的應用。因此得到了廣泛的支持和承認,成為一種非常流行的網(wǎng)站開發(fā)技術。鑒于JSP技術的成熟與廣泛的使用,加以指導老師的幫助可以得到很多的技術支持。Oracle數(shù)據(jù)庫作為目前最主流的數(shù)據(jù)庫已被大多數(shù)企業(yè)所采用,它安全性高,存儲數(shù)據(jù)量大,并且檢索方便。使用SSH框架整合后臺控制層,使代碼更加簡介,大大提高設計效率。 2.2.2 操作可行性分析 因為計算機硬件的發(fā)展已經(jīng)越來越快,現(xiàn)在PC機的性能已經(jīng)可以勝任普通網(wǎng)站的web服務器。購買一臺高性能PC機作為企業(yè)的網(wǎng)站對于這個營銷商來說并不是問題。2.2.3 經(jīng)濟可行性分析 根據(jù)調(diào)查的資料,現(xiàn)在聘用一支團隊設計并建設企業(yè)商務型網(wǎng)站的費用為7000元左右,另外每年交納700元占用網(wǎng)站空間和網(wǎng)站維護費。為了使網(wǎng)站建成后能達到增加企業(yè)經(jīng)濟效益的效果,尋找一支創(chuàng)新與技術優(yōu)秀的團隊最多需要增加2000元的一次性投資。這樣看來一個成功的網(wǎng)站建成后為這個營銷商帶來的效益將會遠大于成本。但架設好一個網(wǎng)絡中的服務器,以滿足互聯(lián)網(wǎng)中瀏覽者對速度的需求,這樣每年服務器與網(wǎng)絡線路和設備的維護費用將是企業(yè)不得不重點考慮的因素。如何做好經(jīng)濟可行性分析,需要通過仔細的調(diào)查與投資和行業(yè)方面的專業(yè)人士分析。3 開發(fā)環(huán)境及相關技術3.1 SSH框架簡介集成SSH框架的系統(tǒng)從職責上分為四層:視圖層、業(yè)務邏輯層、數(shù)據(jù)訪問層和數(shù)據(jù)層,以幫助開發(fā)人員在短期內(nèi)搭建結(jié)構清晰、可復用性好、維護方便的Web應用程序。其中使用Struts作為系統(tǒng)的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業(yè)務跳轉(zhuǎn),利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate.3.2 JSP技術簡介本系統(tǒng)采用JSP技術開發(fā)。因為JSP與同類的CGI、ASP、PHP相比有著獨特的優(yōu)勢。JSP是Sun屬下Javasoft公司推出的技術,使用的Java語言是ASP、PHP和JSP三者中最新的技術。它以JavaServlet技術為基礎,又在許多方面作了改進,并且充分借鑒了ASP和PHP一些合理的地方。它的平臺無關性勝過ASP技術,而強大的JDBC數(shù)據(jù)庫接口規(guī)范又優(yōu)于PHP技術,而且JSP技術是以JAVA語言為基礎的,可以使用JavaBeans組件和自定義標簽,因此具有良好的擴展性??偟膩碚f,JSP業(yè)已成為目前主流的動態(tài)網(wǎng)頁開發(fā)技術之一。JSP的優(yōu)點如下:1)借助JSP技術,Web網(wǎng)頁設計人員可以使用HTML或者XML標記來設計和風格化Web頁面,使用JSP標記來生成動態(tài)Web頁面。在服務器端,JSP引擎負責解釋JSP標記和腳本,生產(chǎn)請求的內(nèi)容,然后將結(jié)果以HTML頁面等形式發(fā)送回瀏覽器。這樣開發(fā)者可以保護自己的核心代碼,同時可以保證任何Web瀏覽器的高度兼容性。2)JSP頁面可借助可重用的、跨平臺的組件(JavaBean),來執(zhí)行Web應用所要求的極為復雜的業(yè)務處理。能夠共享和交換調(diào)用一般操作的組件,或者讓這些組件被別的開發(fā)人員或者開發(fā)團隊所使用。3)通過開發(fā)定制化的標簽庫等方法,JSP技術可以支持動態(tài)擴展技術。4)作為Java2的一個重要組成部分,JSP技術能夠支持高度復雜的、基于Web的企業(yè)級應用。JSP技術可以輕松地與現(xiàn)有多種應用體系架構整合,可以充分利用已有開發(fā)工具和技巧,并擴展到企業(yè)級分布式應用環(huán)境。此外,JSP技術無論是在跨平臺特性、運行效率、企業(yè)級軟件開發(fā)還是商業(yè)支持方面都具有優(yōu)勢,從而使其成為目前和未來進行動態(tài)網(wǎng)頁開發(fā)的最佳工具之一。3.3 數(shù)據(jù)庫系統(tǒng)簡介ORACLE數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務器(CLIENT/SERVER)或B/S體系結(jié)構的數(shù)據(jù)庫之一。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個關系數(shù)據(jù)庫,它是一個完備關系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實現(xiàn)了分布式處理功能。ORACLE數(shù)據(jù)庫具有以下優(yōu)點:安全性高,存儲數(shù)據(jù)量大,檢索方便等。3.4 服務器系統(tǒng)簡介Tomcat是Apache公司組織開發(fā)飛一種JSP引擎,由于自身具有Web服務器,可以作為獨立的Web服務器使用。在 Tomcat中,應用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會很快。另外 Tomcat也提供了一個應用:manager,訪問這個應用需要用戶名和密碼,用戶名和密碼存儲在一個xml文件中。通過這個應用,輔助于Ftp,你可以在遠程通過Web部署和撤銷應用。當然本地也可以。Tomcat不僅僅是一個Servlet容器,它也具有傳統(tǒng)的Web服務器的功能:處理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。這次設計中就學習使用了CSS層疊樣式表,在HTML文文檔外部將一系列CSS規(guī)則存儲到一個.CSS文件中。例如創(chuàng)建了一個名為body的選擇器。利用它來統(tǒng)一設計網(wǎng)站內(nèi)網(wǎng)頁背景及外部框架的樣式。在聲明中規(guī)定了頁面的背景、滾動條的顏色樣式等。還用.br和.wenbenkuang兩個選擇器確定輸出文本框時的樣式。由于CSS已經(jīng)規(guī)定聲明部分中的屬性及其取值范圍,所以對于我這樣初學者的難點就是如何找到合適的屬性來實現(xiàn)頁面設計。3.6 平臺選擇Microsoft軟件是日常生活中使用最為廣泛的軟件,基于這一特點,我們選用的平臺是Java Server Page(簡稱JSP)+oracle數(shù)據(jù)庫,它適應于Windows操作系統(tǒng)并能很好的與其應用程序結(jié)合,而且oracle數(shù)據(jù)庫也易操作,從而大大降低了編程難度。具體如下:1)采用了Internet架構,Bowser/Server模式。2)Web服務器采用Tomcat6.0服務器,數(shù)據(jù)庫管理系統(tǒng)為oracle。3)開發(fā)工具使用Dreamweaver搭建系統(tǒng)頁面框架,再用MyEclipse在其中插入JSP語句,JavaBean使用MyElipse編寫。4 系統(tǒng)設計與實現(xiàn)4.1系統(tǒng)總體結(jié)構設計本系統(tǒng)采用B/S(Browser/Server,瀏覽器/服務器)架構。在這種結(jié)構下,用戶工作界面是通過IE瀏覽器來實現(xiàn)的。B/S模式最大的好處是運行維護比較簡便,能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數(shù)據(jù)。B/S結(jié)構最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護。系統(tǒng)的擴展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用。在B/S體系結(jié)構系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡上的許多服務器發(fā)出請求,服務器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構簡化了客戶機的工作,客戶機上只需配置少量的客戶端軟件。服務器將擔負更多的工作,對數(shù)據(jù)庫的訪問和應用程序的執(zhí)行將在服務器上完成。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成等工作全部由Apache Server完成。實際上B/S體系結(jié)構是把二層C/S結(jié)構的事務處理邏輯模塊從客戶機的任務中分離出來,由Apache服務器單獨組成一層來負擔其任務,這樣客戶機的壓力減輕了,把負荷分配給了Apache服務器。這種三層體系結(jié)構如圖4.2所示。這種結(jié)構不僅把客戶機從沉重的負擔和不斷對其提高的性能的要求中解放出來,也把技術維護人員從繁重的維護升級工作中解脫出來。由于客戶機把事務處理邏輯部分分給了功能服務器,不再負責處理復雜計算和數(shù)據(jù)訪問等關鍵事務,只負責顯示部分,所以維護人員不再為程序的維護工作奔波于每個客戶機之間,而把主要精力放在功能服務器上程序的更新工作。這種三層結(jié)構在層與層之間相互獨立,任何一層的改變不會影響其它層的功能。圖4.1 系統(tǒng)體系結(jié)構圖4.2系統(tǒng)流程4.2.1總體流程層次模塊結(jié)構是將系統(tǒng)劃分為若干子系統(tǒng),子系統(tǒng)下再劃分為若干的模塊。而模塊是指具備有輸入輸出、邏輯功能、運行程序和內(nèi)部數(shù)據(jù)四種屬性的一組程序。在結(jié)構化系統(tǒng)設計中,模塊一般都是按功能劃分的,通常稱為功能模塊。合理的功能模塊的劃分能夠極大限度地減少重復勞動、提高開發(fā)工作的效率并增大系統(tǒng)的可維護性。以前面的系統(tǒng)分析為基礎,將系統(tǒng)分為兩大模塊,即前臺模塊和后臺模塊。網(wǎng)上商城系統(tǒng)的功能結(jié)構如圖4.2所示。圖 4.2 系統(tǒng)總體流程結(jié)構圖4.2.2系統(tǒng)前臺流程 網(wǎng)上商城前臺的主要對象是顧客,操作步驟說明如下:1)顧客在進行第一次購物之前要進行會員驗證,如果不是會員需要注冊一個。注冊時需要填寫自己的用戶名,密碼,電子郵件等; 2)進入網(wǎng)上商店,顧客可根據(jù)不同的鏈接,查詢不同類別的商品,可單擊商品的圖片查看到該商品的具體信息;3)選中商品后,并點擊“加入購物車”按鈕,將商品放入購物車; 4)選購結(jié)束,檢查購物車,核實商品和數(shù)量是否正確,如有出入,可以重新調(diào)整商品和數(shù)量,如無誤,則可以提交訂單;5)提交訂單需要填寫送貨的信息,確認無誤點擊提交,完成操作。 后臺操作流程圖如下圖4.3所示:圖4.3 網(wǎng)上商城系統(tǒng)前臺流程圖4.2.3系統(tǒng)后臺流程 本商城的后臺設計中,管理員完成對網(wǎng)站的維護與管理的工作。操作步驟說明如下:1)管理員通過唯一的用戶名和密碼登錄到后臺界面,通過下拉框列表可看到不同的操作模塊;2) 系統(tǒng)管理:可查看所有注冊的用戶,可對用戶進行刪除。3) 商品管理:可查看所有商品信息,查看一件商品信息,可刪除和修改商品,并添加一件商品。4) 類別管理:可添加一個類別,查看不同類別的比例圖。5) 留言管理:可查看所有留言,刪除留言。6) 訂單管理:可修改訂單,刪除訂單。后臺管理的流程如圖4.4所示:圖4.4 網(wǎng)上商城系統(tǒng)后臺業(yè)務流程圖4.3 系統(tǒng)功能模塊實現(xiàn)4.3.1前臺模塊的功能模塊設計前臺模塊主要為登陸網(wǎng)站的用戶提供商品和服務的信息,填寫并提交訂單的服務。這樣,將前臺模塊再細分為用戶管理模塊、訂單查詢模塊、購物車模塊、留言板模塊、商品模塊。顧名思義,這些模塊的名稱基本概括了它們的功能。下面詳細說明一下這些功能模塊的設計:1)用戶管理模塊為了方便于網(wǎng)站的管理,必須由一套完整的用戶管理體系。本網(wǎng)站用戶管理模塊主要實現(xiàn)用戶的注冊、登錄、找回密碼三方面功能,對于非會員用戶必須先進行注冊才能進入商城,如果忘記密碼,可通過輸入注冊時的用戶名和郵箱地址找回密碼。登錄流程圖如圖4.5所示:圖4.5 登錄流程圖 部分實現(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登錄頁面圖對于非會員用戶需要先進行注冊,用戶需要輸入自己的基本信息,確認密碼無誤后完成注冊,注冊流程圖如圖4.7所示:圖4.7 用戶注冊流程圖 部分實現(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找回密碼流程圖部分實現(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)上虛擬的商城中,當然沒有辦法使用真正的購物工具,因此,通常都會采用一種被稱為“購物車”的技術來模擬現(xiàn)實生活,即現(xiàn)將商品信息存入一個集合中,這個集合就是購物車。在網(wǎng)上商城中,所選商品須通過購物車進行暫存,然后生產(chǎn)訂單。這種技術使用起來十分方便,不但可以隨時添加、查看、修改、清空購物車中的內(nèi)容,還可以隨時去收銀臺結(jié)款。購物車模塊流程圖如圖4.11所示。圖 4.11購物車模塊流程圖部分實現(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)訂單管理模塊用戶將商品添加入購物車后可點擊”提交訂單”按鈕,填寫訂單信息生成訂單,點擊提交后將訂單信息入庫,生成訂單后用戶可通過頁面上的“訂單查詢”按鈕,通過輸入訂單號查詢訂單,如果沒有,這返回錯誤,重新輸入。訂單查詢模塊流程圖如圖4.13所示。圖 4.13 訂單查詢模塊流程圖部分實現(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)留言板管理模塊: 留言板是一個商務網(wǎng)站中不可缺少的組成部分,它可以增進用戶與網(wǎng)站之間的交流。在現(xiàn)實網(wǎng)絡開發(fā)中存在著各種各樣的留言板,本設計中用戶只要登錄到了本系統(tǒng),就可直接在“在線留言”欄中添加自己想說的話,系統(tǒng)會自動將存入數(shù)據(jù)庫中并在頁面顯示出來,發(fā)表留言流程圖如圖4.15所示:圖4.15 發(fā)表留言流程圖部分實現(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后臺管理模塊的功能模塊設計后臺管理模塊的功能是對站內(nèi)的資源進行管理和維護。以后臺的業(yè)務流程分析和前臺各個模塊的設計為基礎、根據(jù)用戶的需求分析來確定后臺管理模塊應具有的功能。后臺管理模塊的各個子功能模塊如下:1)管理員登錄模塊 為合法用戶提供一個后臺入口。該模塊的功能是對管理員身份進行能夠驗證。用戶輸入登錄名和密碼后,系統(tǒng)將判斷登錄名及密碼的有效性,如果通過驗證則狀態(tài)后臺主頁,反之則提示錯誤,本次設計只設定一個唯一的后臺管理員,不可注冊新的管理員以確保后臺的穩(wěn)定,防止信息泄露。登錄流程圖如圖4.18所示:圖4.18 網(wǎng)上商城系統(tǒng)后臺登錄流程圖部分實現(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)商品管理模塊 向商品表插入前臺首頁展示的商品信息,也就是添加商品信息的功能,點擊“查看商品”可查看到所有商品的信息,點擊刪除可刪除單個商品,點擊修改可修改商品的信息,點擊添加商品可添加一類商品,點擊進貨可添加一個商品的庫存數(shù)量。添加商品流程圖如圖4.19所示:圖 4.19添加商品信息模塊流程圖部分實現(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)類別管理每一個商品都有自己所屬的類別,因此對商品管理之前,都需要對類別進行管理,類別管理可查看所有類別的信息,可添加一個商品類別,點擊類別統(tǒng)計可查看到類別的餅狀圖。部分實現(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)計, 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)訂單管理模塊前臺用戶確認購買后會生成相應訂單,訂單永久存在于數(shù)據(jù)庫中,因此對于網(wǎng)站管理者可對用戶過期的訂單進行刪除,同時也可查看到所有訂單那,部分實現(xiàn)代碼如下: $detail.id $ $detail.telphone $detail.address $detail.dcode $detail.createtime 訂單管理如圖4.22所示:圖4.22 訂單管理頁面圖5)留言管理模塊 前臺設置的在線留言功能,方便及時反饋用戶對網(wǎng)站的滿意度,管理員可對用戶的留言進行操作,對于不友好的留言可刪除。部分實現(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īng)常不登錄的用戶可刪除,點擊退出系統(tǒng)可退出。部分實現(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ù)庫應用程序的重要組成部分。一個設計結(jié)構合理的數(shù)據(jù)庫對于應用程序的開發(fā)效率和程序的性能都是非常重要的。數(shù)據(jù)庫的設計過程大致如下:根據(jù)用戶需求,確定數(shù)據(jù)庫中要保存的數(shù)據(jù)信息。對用戶需求進行分析時數(shù)據(jù)庫設計的第一個階段。不斷的調(diào)查與研究用戶需求,了解企業(yè)運作流程等系統(tǒng)需求,使設計概念模型的基礎。設計數(shù)據(jù)庫的概念模型。概念模型是按用戶的觀點來對數(shù)據(jù)建模,使用與進行信息世界建模的工具。它對整個數(shù)據(jù)庫的設計具有深刻的影響。邏輯結(jié)構設計。邏輯結(jié)構是把概念結(jié)構轉(zhuǎn)化為與所采用的數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型相符合的過程。數(shù)據(jù)庫的實施和維護。 在設計好前臺與后臺的功能模塊后,就開始進行數(shù)據(jù)庫的設計了。根據(jù)網(wǎng)站系統(tǒng)的分析,數(shù)據(jù)庫是整個網(wǎng)站的核心。從前臺顯示的信息到后臺操作的對象,都是圍繞數(shù)據(jù)庫展開的。4.4.1 E-R圖E-R圖是一種概念模型。概念模型實際上是現(xiàn)實世界到機器世界的一個中間層次。概念模型用于信息世界的建模,是顯示世界到信息世界的第一層抽象,使數(shù)據(jù)庫設計人員進行數(shù)據(jù)庫設計的有利工具,也是數(shù)據(jù)庫設計人員和用戶之間進行交流的語言,因此概念模型一方面應該具有較強的語義表達能力,能夠方便、直接的表達應該用眾的各種語義知識,另一方面他還應該簡單、清晰并且易于用戶理解4。以下是各個數(shù)據(jù)表的實體圖。1)商品信息表SHOP的實體圖圖 4.25商品信息表SHOP的實體圖2)用戶信息表USERINFO的實體圖圖 4.26 用戶信息表USERINFO的實體圖3)留言信息表SPEAK的實體圖圖 4.27 留言信息表SPEAK的實體圖4) 訂單生成表DETAIL的實體圖圖 4.28 訂單生成表DETAIL的實體圖5)商品類別表SHOPTYPE的實體圖圖 4.29 訂單商品表SHOPTYPE的實體圖6)管理員信息表ADMIN的實體圖圖 4.30 管理員信息表ADMIN的實體圖7)總體E-R圖圖 4.31 總體E-R圖4.4.2基本表設計表的設計是這次設計的一個核心內(nèi)容。根據(jù)前面對網(wǎng)站前臺與后臺功能模塊的分析和對數(shù)據(jù)庫中實體關系的設計,可以看到網(wǎng)站中所用到的數(shù)據(jù)信息基本包括:商品信息、用戶信息、留言信息、訂單信息、管理員信息、留言信息等。下面是為數(shù)據(jù)庫設計的表:1)商品信息表tb_Shop商品信息表tb_Shop用來保存商品的基礎信息。結(jié)構如表4.1所示。表4.1 tb_Shop的結(jié)構字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述IDInt2否是商品IDShopnameVarchar210否否商品名稱Pricenumber10否否商品價格ShopsizeVarchar220否否商品尺碼DmadeVarchar210否否布料構成Medcountnumber10否否庫存數(shù)量Regcountnumber10否否需求數(shù)量MinimageVarchar210否否小圖片路徑MaximageVarchar210否否大圖片路徑TypeidInt2否否類別ID2)用戶信息表tb_Userinfo用戶信息表tb_Userinfo用來保存用戶信息。表tb_Userinfo的結(jié)構如表4.2所示。表4.2 tb_Userinfo的結(jié)構字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述UseridInt2否是用戶IDUsernameVarchar220否否用戶名userpwdVarchar220否否用戶密碼createtimeDate否否生成時間EmailVarchar220否否Email3)留言信息表tb_Speak留言信息表tb_Speak用來記錄留言信息。表tb_Speak的結(jié)構如表4.3所示。表4.3 tb_Speak的結(jié)構字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述IDInt2否是主題IDUsernameVarchar220否否作者姓名EmailVarchar250否否EmailCreatetimeDate否否發(fā)布時間TextnameVarchar250否否主題名稱TextgutVarchar216否否留言內(nèi)容4)商品類別表tb_Shoptype商品類別表tb_Shoptype用來記錄某一類商品的信息。表tb_Shoptype的結(jié)構如表4.4所示。表4.4 tb_Shoptype的結(jié)構字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述IdInt2否是類別idTypenameVarchar210否否類別名稱DescriVarcahr220否否類別介紹CreatetimeDate否否創(chuàng)建時間5)管理員信息表tb_Admin管理員信息表tb_Admin主要用于記錄管理員的信息。表tb_Admin的結(jié)構如表4.5所示。 表4.5 tb_Admin的結(jié)構字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論