SSH框架下基于JSP網上商城系統的設計與實現畢業論文.doc_第1頁
SSH框架下基于JSP網上商城系統的設計與實現畢業論文.doc_第2頁
SSH框架下基于JSP網上商城系統的設計與實現畢業論文.doc_第3頁
SSH框架下基于JSP網上商城系統的設計與實現畢業論文.doc_第4頁
SSH框架下基于JSP網上商城系統的設計與實現畢業論文.doc_第5頁
已閱讀5頁,還剩71頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論