基于Java的商城網(wǎng)站系統(tǒng)的設計與實現(xiàn)_第1頁
基于Java的商城網(wǎng)站系統(tǒng)的設計與實現(xiàn)_第2頁
基于Java的商城網(wǎng)站系統(tǒng)的設計與實現(xiàn)_第3頁
基于Java的商城網(wǎng)站系統(tǒng)的設計與實現(xiàn)_第4頁
基于Java的商城網(wǎng)站系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上 2016屆畢業(yè)生畢業(yè)論文題目:基于JAVA的商城網(wǎng)站系統(tǒng)的設計與實現(xiàn)院(系)別 經(jīng)濟與管理學院 專 業(yè) 電子商務 班 級 電商121 學 號 姓 名 許榮倩 指導教師 張啟徽 二一五年十一月專心-專注-專業(yè)摘 要隨著互聯(lián)網(wǎng)技術的迅速發(fā)展,Internet的普及,以及IT技術的迅猛發(fā)展,我們的社會已經(jīng)進入了一個信息化時代。隨著信息化時代的到來,電子商務隨之產(chǎn)生。電子商務指利用簡單、快捷、低成本的電子網(wǎng)絡通訊方式,買賣雙方通過互聯(lián)網(wǎng)進行各種服務、產(chǎn)品等有形或無形商品交換的的一種商業(yè)交易模式。隨著信息時代的到來,以及互聯(lián)網(wǎng)的迅速發(fā)展和普及,人們消費觀念和生活方式也逐漸發(fā)生

2、了改變,電子商務這種新型的商業(yè)模式逐漸融入了人們的生活中。本網(wǎng)站的設計和開發(fā)是基于web的一個網(wǎng)上商城交易系統(tǒng)。系統(tǒng)主要以J2EE 5.0作為開發(fā)基礎,使用了struts2+spring+hibernate等多種協(xié)議或技術,用My Eclipse作為開發(fā)工具,以JSP和CSS技術進行頁面的布局和美化。基本實現(xiàn)了網(wǎng)上商城交易系統(tǒng)應有的基本功能和主要模塊,該系統(tǒng)界面簡單、操作方便,容易維護。關鍵字:電子商務,J2EE,struts2 + spring + hibernate,商城網(wǎng)站AbstractWith the rapid development of Internet technology,

3、 the popularity of Internet, as well as the rapid development of IT technology, our society has entered an era of information technology. With the advent of the information age, electronic commerce will be produced. Electronic commerce refers to the use of simple, fast, low-cost electronic network c

4、ommunication, the seller and the buyer through the Internet to carry out a variety of services, products, such as tangible or intangible commodity exchange of a business model. With the advent of the information age, and the rapid development and popularization of the Internet, people's consumpt

5、ion concept and way of life also gradually changed, electronic commerce as a new business model gradually integrated into the people's lives.The design and development of this website is an online shopping mall system based on Web. System mainly to J2EE 5 as the basis for development, using a va

6、riety of protocols such as struts2+spring+hibernate or technology, using Eclipse My as a development tool to JSP and CSS technology for the layout and beautification of the page. Basically realized the basic functions and main modules of the online shopping mall transaction system, the system interf

7、ace is simple, easy to operate, easy to maintain.  Key words: E-commerce ,J2EE  ,struts2 + spring + hibernate ,Mall website目 錄 前 言隨著我國互聯(lián)網(wǎng)的普及以及IT技術的迅速發(fā)展,電子商務應運而生,出現(xiàn)在人們的視線中。隨著社會的發(fā)展,人們的享受欲望也在逐漸增加,傳統(tǒng)的購物方式已經(jīng)不再能夠滿足人們對購物的欲望,而電子商務的產(chǎn)生給人們帶來了新的曙光。電子商務的經(jīng)典模式就是網(wǎng)上電子商城。網(wǎng)上電子商城它向顧客展現(xiàn)了一種新的新的消費理念。網(wǎng)絡

8、的特性也在電子商城上充分的體現(xiàn)出來。在網(wǎng)絡商城的出現(xiàn)打破了商品在空間,時間上的限定。網(wǎng)絡電子商城24小時對客戶開放。如果用戶需要,只要登錄商城系統(tǒng),世界各地的數(shù)以千計商品就可以通過網(wǎng)絡展現(xiàn)在用戶眼前,用戶就可以根據(jù)自己的需求進行選購。這種購物方式。節(jié)省時間,節(jié)約成本。消費者不用舟車勞頓趕往各地選購商品,在商城選購之后,只需坐等家中,商品就可以到達消費者手中。商家負責將商品送達消費者手中,大大節(jié)省了時間成本和費用。網(wǎng)絡商城還大大加強了用戶與用戶間、用戶與商家間的交流,用戶可以通過網(wǎng)絡了解商品的各中信息,商家可以通過網(wǎng)絡了解消費者的需求。商家可以根據(jù)獲得的信息及時調整商業(yè)策略,獲得更大的利益。消費

9、者則可以貨比三家,買到更實惠的商品,一定程度上避免了商業(yè)欺騙的行為。這種信息的交流提高了交易的透明度,也加強了商業(yè)競爭。網(wǎng)絡商城不僅擁有信息交互的作用,他還需要簡介漂亮的頁面。本商城系統(tǒng)使用JSP技術編寫頁面。JSP技術可以解決了商城需要向用戶提供靜態(tài)消息和動態(tài)消息的需求。本系統(tǒng)分為前臺和后臺兩個小系統(tǒng),共用一個數(shù)據(jù)庫,后臺是商城管理人員的天地,實現(xiàn)了對商城商品、顧客和公開消息的管理。前臺是針對消費者開發(fā)的空間,消費者可以在這個電子構筑的空間里購買商品,獲取信息。商城還應用了struts2 + spring + hibernate整合框架技術,使得編碼更加簡單方便,大大提高了代碼的復用,簡化了

10、編碼的過程。將hibernate整合進spring中,進行分層編碼,提高了編碼的效率,簡化了對數(shù)據(jù)庫的操作。本商城系統(tǒng)實現(xiàn)了用戶對商城系統(tǒng)的基本需求的實現(xiàn),但還存在許多的不足之處。在對商城的設計和開發(fā)過程中,讓我加深了對電子商城的了解,對項目開發(fā)過程的了解,更發(fā)現(xiàn)了自身在技術層面的欠缺并進行補漏,還對以前所學的技術進行了鞏固和提高。1 課題研究綜述1.1 論文框架本文共分四個章節(jié),系統(tǒng)的闡述了網(wǎng)站系統(tǒng)開發(fā)和設計的全過程。第1章 ,主要介紹了系統(tǒng)開發(fā)的背景、目的和意義。第2章 ,主要介紹了商城網(wǎng)站系統(tǒng)開發(fā)用到的開發(fā)工具和關鍵技術。第3章 ,主要對網(wǎng)站系統(tǒng)的需求和功能進行分析以及設計。分析了網(wǎng)站系

11、統(tǒng)需要提供的角色,以及角色的各種功能。還對各功能進行模塊劃分,對各功能模塊進行分析設計。對數(shù)據(jù)庫、過濾器、監(jiān)聽器和實體類的設計,并進行解析描述。第四章,主要對各個功能模塊的實現(xiàn)及實現(xiàn)的方法進行解析描述。并給出關鍵源代碼和最終效果圖。1.2 課題背景隨著當今社會進入互聯(lián)網(wǎng)信息時代,互聯(lián)網(wǎng)的飛速發(fā)展和普及給人類生活帶來巨大的改變。Internet將傳統(tǒng)意義的社會空間轉變成了一個用電子構造的虛擬空間,把人們帶入了一個網(wǎng)絡虛擬社會中。網(wǎng)絡時代的到來,帶給人們的不只是快捷、方便,它帶來的是劃時代的進步。在網(wǎng)絡大家族中,電子商務則是一個熱點,它的發(fā)展速度之快遠遠超過我們的想象,普及速度之快令人難以置信。我

12、們完全有理由相信,全球性的電子商務熱潮必將一浪高于一浪。電子商務將信息、網(wǎng)絡、生物工程和其他高科技產(chǎn)業(yè)聯(lián)系起來,孕育了巨大的市場和無限的商機?;ヂ?lián)網(wǎng)的迅速發(fā)展使市場突破了空間的限制,使企業(yè)或商家可以用網(wǎng)絡將遙遙相隔的人們聚集在同一個商業(yè)營銷網(wǎng)中,獲得全球性的無界限的商務空間。企業(yè)利用電子商務,實施全球性的商務經(jīng)營戰(zhàn)略,加強全球范圍內商家的合作,增強全球性的商業(yè)競爭能力,特別是對于剛剛起步的小企業(yè),通過電子商務了解世界市場的需求,促進與全球經(jīng)濟的接軌,可以使企業(yè)更具有競爭力。1.3 課題目的和意義電子商務是現(xiàn)代化產(chǎn)業(yè)的重要產(chǎn)業(yè),自從出現(xiàn)在人們的生活中就備受關注和歡迎,并且在近年來得到了迅速的發(fā)展

13、。電子商務產(chǎn)業(yè)就有“三高”、“三新”的特點。電子商務還具有人流、物流、資金流和信息流“四流合一”的核心價值鏈。電子商務產(chǎn)業(yè)具有市場全球化、交易連續(xù)化、成本低廉化、資源集約化等優(yōu)勢。隨著電子商務發(fā)展環(huán)境的不斷完善,電子商務將被廣泛應用于生產(chǎn)、流通、消費等各領域和社會生活的各個層面。電子商務將覆蓋我們生活的每個方面,影響著我們的生活,給我們的生活帶來了很多方便。網(wǎng)上商城作為B to C(Business to Customer,企業(yè)對消費者)、C to C(Customer to Customer,消費者對消費者)電子商務的前端商務平臺,在其商務活動全過程中起著舉足輕重的作用。

14、本商城網(wǎng)站系統(tǒng)的目的和意義是旨在建立一個操作簡單,界面簡潔,用戶關系簡單,商品統(tǒng)一管理的一個B to C 的電子商務網(wǎng)上商城。它包括后臺和前臺兩個系統(tǒng),兩個部分操作完全分開,公用一個數(shù)據(jù)庫。實現(xiàn)后臺對商品和各種信息的管理和前臺用戶對商品查看,購買等功能。2 系統(tǒng)應用的關鍵技術2.1 JSP技術介紹2.1.1 JSP的概述JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準。JSP技術是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。用JSP開

15、發(fā)的Web應用是跨平臺的,可以在不同的系統(tǒng)平臺下運行。JSP技術使用Java編程語言編寫類XML的JSP標記和Java程序代碼,來封裝產(chǎn)生動態(tài)網(wǎng)頁的代碼。網(wǎng)頁還能通過JSP標記和Java程序代碼訪問服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。2.1.2 JSP技術的特點JSP技術所開發(fā)基于java的web應用程序具有跨平臺、業(yè)務代碼分離、組件重用和預編譯的特點。(1)跨平臺JSP是基于Java語言的,所以它可以使用Java API,所以JSP也具有了Java的跨平臺特性。正因為他的跨平臺特性,使得用JSP

16、技術開發(fā)的項目可以不加修改的應用到不同的平臺上。另外,JSP還可以用于不同的數(shù)據(jù)庫,JSP使用JDBC技術操作數(shù)據(jù)庫,可以避免代碼移植導致更換數(shù)據(jù)庫時的代碼修改問題。(2)業(yè)務代碼分離用JSP技術開發(fā)的項目,通常用HTML語言和CSS來進行頁面的布局和美化,使用EL標簽和js片段來動態(tài)加載數(shù)據(jù)。程序開發(fā)人員可以將業(yè)務處理代碼全部放到JavaBean中,或者把業(yè)務處理代碼交給Servlet、Struts等其他業(yè)務控制層來處理,這樣JSP頁面只負責顯示數(shù)據(jù)即可從而實現(xiàn)業(yè)務代和頁面顯示代碼的分離。當需要修改業(yè)務代碼時,只需修改業(yè)務控制層的Java代碼即可,不會影響JSP頁面的代碼。(3)組件重用JS

17、P中可以使用Java文件編寫業(yè)務邏輯,也就是使用一個Java類封裝處理業(yè)務邏輯代碼或者一個bean實體類,在JSP頁面甚至整個項目中都可以重復使用這個java程序。JavaBean也可以應用到其他Java應用程序中,包括桌面應用程序。(4)預編譯預編譯就是在用戶第一次通過瀏覽器訪問JSP頁面時,服務器將對JSP頁面代碼進行編譯,并且僅執(zhí)行一次編譯。編譯好的代碼將被保存,在用戶下一次訪問時,直接執(zhí)行編譯好的代碼。這樣不僅節(jié)約了服務器的CPU資源,還大大提升了客戶端的訪問速度。2.2 JAVA組件JavaBeans2.2.1 什么是JavaBeansJavaBeans事實上有三層含義。首先,Jav

18、aBeans是一種規(guī)范,一種在Java(包括JSP)中使用可重復使用的Java組件的技術規(guī)范,也可以說成我們常說的接口。其次,JavaBeans是一個Java的類,一般來說,這樣的Java類將對應于一個獨立的 .java文件 ,在絕大多數(shù)情況下,這應該是一個public類型的類。最后,當JavaBeans這樣的一個Java類在我們的具體的Java程序中被實例之后,這就是我們面向對象的對象,我們有時也會將這樣的一個JavaBeans的實例稱之為JavaBeans??傊褪荍ava中的接口、類和對象。2.2.2 JavaBeans與JSP的關系使用JSP技術,Web頁面開發(fā)人員可以使用HTML和

19、XML的進行頁面的設計和控制頁面的格式。頁面上的動態(tài)內容利用JSP標識或小腳本語言動態(tài)加載。被在JSP和JavaBeans組件中封裝生成內容的邏輯,并且捆綁在小腳本中,所有的腳本在服務器上運行。在標識和JavaBeans中封裝的核心邏輯,可以方便的網(wǎng)頁設計師編輯和使用JSP頁面。在服務器端,JSP引擎編譯JSP標識生成所請求的內容,并結果以HTML頁面的形式發(fā)送回瀏覽器。絕大多數(shù)JSP頁面依賴于可重用并且可跨平臺的組件(如JavaBeans)來執(zhí)行程序所要求的復雜的處理。有利于開發(fā)人員共享或交換實現(xiàn)普通操作的組件,從而加速團隊開發(fā)過程。因此,對于較為復雜的應用程序,JSP的復雜架構就只有由Ja

20、vaBeans達成,才可有效的執(zhí)行操作。2.3 J2EE概述J2EE是一套技術架構,它不同于傳統(tǒng)應用框架,它包含多個組件,可簡化應用系統(tǒng)的開發(fā)與部署,提高程序的可移植性、實現(xiàn)程序的復用。J2EE由一組技術規(guī)范和指南,其中所包括的各類組件、服務結構及技術層次,為其提供標準及規(guī)格,讓其適用于J2EE架構的不同平臺之間,存在較好的兼容性,解決之前企業(yè)后臺使用的信息產(chǎn)品之間沒法兼容,解決企業(yè)內部或外部溝通問題。J2EE各種組件和“一般” Java類的不同點在于:它被使用在一個J2EE程序中,具有規(guī)定的格式并遵循J2EE規(guī)范,由J2EE的服務器對它們進行約束。J2EE規(guī)范:客戶端應用程序和applet是

21、屬于客戶端的組件;Servlet和jsp 屬于服務器端的組件;Enterprise Java Bean (EJB )屬于服務器端的業(yè)務組件。2.4 Struts2概述2.4.1 Struts2簡介Struts2是一個基于MVC設計模式的Web應用框架,它本質上相當于一個servlet,在MVC設計模式中,Struts2作為控制器 (Controller)來建立模型與視圖的數(shù)據(jù)交互。Struts 2是Struts的二代產(chǎn)品,是在 struts 1和WebWork的基礎上進行了合并優(yōu)化的全新的框架。Struts 2的與Struts 1的體系結構差別巨大。Struts 2是以WebWork為核心,通

22、過攔截器來處理用戶請求,這樣的設計有效的分離了業(yè)務層與API,所以Struts 2是WebWork后更好的框架。雖然從Struts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2的變化很小。2.4.2 Sturus2的主要功能(1)包含一個controllerServlet,它處理用戶的請求并發(fā)送到被請求的action對象。(2)controllerservlet 還可以為JSP tag庫提供關聯(lián)支持,從而有效的協(xié)助開發(fā)人員創(chuàng)建使用交互式表單。(3)提供了一些實用對象:處理 XML、JavaBeans屬性、國際化的實現(xiàn)等技術。Struts項目的目標是為創(chuàng)建Jav

23、a web應用提供一個開放源代framework。Struts framework的內核是基于控制層。(例如JavaBeans,Java Servlets,XML, ResourceBundles,和各種Jakarta Commons包等)。Struts2由于提供自身的控制器組件和整合了其他技術,所以以能提供模型和視圖。Struts2運用于各種商業(yè)軟件或操作系統(tǒng),是一個非常優(yōu)秀servlet框架。2.4.3 Sturus2的工作原理在web應用啟動時就會加載初始化ActionServlet,ActionServlet從struts-config.xml文件中讀取配置信息,把它們存放到各種配置對

24、象當ActionServlet接收到一個客戶請求時,將執(zhí)行如下流程.(1)檢索和用戶請求匹配的ActionMapping實例,如果不存在,就返回請求路徑無效信息;(2)如果ActionForm實例不存在,就創(chuàng)建一個ActionForm對象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對象中;(3)根據(jù)配置信息決定是否需要表單驗證.如果需要驗證,就調用ActionForm的validate()方法;(4)如果ActionForm的validate()方法返回null或返回一個不包含ActionMessage的ActuibErrors對象, 就表示表單驗證成功;(5)ActionServlet根

25、據(jù)ActionMapping所包含的映射信息決定將請求轉發(fā)給哪個Action,如果相應的Action實例不存在,就先創(chuàng)建這個實例,然后調用Action的execute()方法;(6)Action的execute()方法返回一個ActionForward對象,ActionServlet在把客戶請求轉發(fā)給ActionForward對象指向的JSP組件;(7)ActionForward對象指向JSP組件生成動態(tài)網(wǎng)頁,返回給客戶;如圖2-1所示:圖2-1:Struts2原理圖2.5 Spring概述2.5.1 Spring簡介Spring是分層的JavaSE/EE full-stack(一站式) 輕量

26、級開源框架(1)分層:SUN提供的EE的三層結構:web層、業(yè)務層、數(shù)據(jù)訪問層(持久層,集成層) Struts2是web層基于MVC設計模式框架. Hibernate是持久的一個ORM的框架.(2) 一站式:Spring框架有對三層的每層解決方案:web層:Spring MVC. 持久層:JDBC Template 業(yè)務層:Spring的Bean管理.(3)Spring的核心:IOC:(Inverse of Control 反轉控制) 控制反轉:將對象的創(chuàng)建權,交由Spring完成。 AOP:Aspect Oriented Programming 是 面向對象的功能延伸.不是替換面向對象,是用

27、來解決OO中一些問題。 IOC:控制反轉。2.5.2 Spring的工作機制、優(yōu)點及功能(1)spring的工作機制 spring mvc請所有的請求都提交給DispatcherServlet,它會委托應用系統(tǒng)的其他模塊負責負責對請求進行真正的處理工作。 DispatcherServlet查詢一個或多個HandlerMapping,找到處理請求的Controller。 DispatcherServlet請請求提交到目標Controller。 Controller進行業(yè)務邏輯處理后,會返回一個ModelAndView。 Dispathcher查詢一個或多個ViewResolver視圖解析器,找到

28、ModelAndView對象指定的視圖對象。 視圖對象負責渲染返回給客戶端。 (2)Spring的優(yōu)點如下: Spring就是一個大工廠,可以將所有對象創(chuàng)建和依賴關系維護,交給Spring管理AOP編程的支持。 Spring是POJO編程,POJO編程使得可持續(xù)構建和可測試能力提高依賴注入和IoC使得JDBC操作簡單化。 Spring提供面向切面編程,可以方便的實現(xiàn)對程序進行權限攔截、運行監(jiān)控等功能聲明式事務的支持。 Spring不排斥各種優(yōu)秀的開源框架,其內部提供了對各種優(yōu)秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持降低JavaEE API的使用難

29、度。(3)spring的功能Spring即使一個AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替換對象。有了 Spring,只要用 JavaBean 屬性和配置文件加入依賴性(協(xié)作對象)。然后可以很容易地在需要時替換具有類似接口的協(xié)作對象。IOC 允許創(chuàng)建一個可以構造對象的應用環(huán)境,然后向這些對象傳遞它們的協(xié)作對象。正如單詞 倒置 所表明的,IOC 就像反過來的 JNDI。沒有使用一堆抽象工廠、服務定位器、單元素(singleton)和直接構造(straight construction),每一個對象都是用其協(xié)作對象構造的。因此是由容器管理協(xié)作對象(collaborato

30、r)。2.6 Hibernate概述2.6.1 Hibernate簡介是一個開放源代碼的關系映射,它對JDBC進行了非常輕量級的對象封裝,使得Java可以隨心所欲的使用對象思維來操縱。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的架構中取代CMP,完成的重任。Hibernate是輕量級JavaEE應用的持久層解決方案,是一個關系數(shù)據(jù)庫ORM框架.* ORM:Object Relational Mapping;* 傳統(tǒng)方式開發(fā);* 持久層;* 編寫SQL.

31、執(zhí)行SQL. String sql = “insert into 表 values (?,?,?.)”;* 開發(fā)語言Java:面向對象;* 數(shù)據(jù)庫:MySQL(關系型的數(shù)據(jù)庫);* 將Java中的實體類與數(shù)據(jù)庫的關系表建立一個映射.就可以操作Java中對象,從而操作數(shù)據(jù)庫。2.6.2 Hibernate的優(yōu)點(1) 對象/關系數(shù)據(jù)庫映射(ORM)它使用時只需要操縱對象,使開發(fā)更對象化,拋棄了數(shù)據(jù)庫中心的思想,完全的面向對象思想。hibernate的性能非常好,因為它是個輕量級框架。映射的靈活性很出色。它支持各種關系數(shù)據(jù)庫,從一對一到多對多的各種復雜關系。(2) 透明持久化(persistent

32、)hibernate使用Java反射機制,而不是字節(jié)碼增強程序來實現(xiàn)透明性。實現(xiàn)對實體類的持久化,持久化的類會與session相關聯(lián), 當session關閉,持久化對象將處于游離狀態(tài),被別的程序使用。而session打開和關閉的過程很短,所以持久化類的生命周期也很短暫。 (3) 事務Transaction(org.hibernate.Transaction)Hibernate對事務進行管理。事務是單線程的,它油hibernate將具體的JDBC、JTA抽象出來進行事務隔離,存在一個session中,每次使用事務都必須開啟事務和提交事務。 (4) 它沒有侵入性,即所謂的輕量級框架(5) 移植性會

33、很好(6) 緩存機制,提供一級緩存和二級緩存(7) 簡潔的HQL編程2.6.3 Hibernate的工作原理Hibernate得工作原理:首先配置好hibernate的配置文件和與類對應的配置文件后,啟動服務器。服務器啟動后通過實例化Configeration對象,讀取hibernate.cfg.xml文件的配置內容,并根據(jù)相關的需求建好表或者和表建立好映射關系;hibernate通過實例化的Configeration對象就可以建立sessionFactory實例,進一步,通過sessionFactory實例可以創(chuàng)建session對象;hibernate打開session之后,便可以創(chuàng)建事務T

34、ransation,進行持久化類操作,然后提交事務關閉session,關閉SesstionFactory。這是hibernate的工作原理及過程。除此外,hibernate還可以通過事物管理,表的關聯(lián)來實現(xiàn)較為復雜的數(shù)據(jù)庫設計。2.7 MySql概述2.7.1 MySql簡介MySQL是一種的關系型系統(tǒng)(RDBMS),MySQL使用最常用的數(shù)據(jù)庫管理語言-(SQL)進行數(shù)據(jù)庫管理。由于MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個性化的需要對其進行修改。MySQL因為其速度、可靠性和適應性而備受關注。大多數(shù)人都認為在不需要化處理的情

35、況下,MySQL是管理內容最好的選擇。MySQL,雖然功能未必很強大,但因為它的開源、廣泛傳播,導致很多人都了解到這個數(shù)據(jù)庫。它的歷史也富有傳奇性。2.7.2 MySql的特點(1)完全開源MySQL的數(shù)據(jù)庫管理系統(tǒng)(DBMS,Database Management System)是一個開源系統(tǒng)這是他的最大優(yōu)勢之一。開源意味著用戶可以免費下載,當然,并不是完全免費免費,它還是有許多付費功能。但是開源的特點使用戶可以根據(jù)自己的需求修改DBMS。 MySQL采用了GPL(General Public License),這意味著授權給用戶可以閱讀,修改和優(yōu)化源代碼,這樣即使是免費版的MySQL的功能

36、也足夠強大。(2)快速更新和用戶友好MySQL的更新很快,MySQL的新版本不斷增加新功能,新特性。每當新的版本出來之后,MySQL都會成為大多數(shù)服務器的主要數(shù)據(jù)庫。Linux web服務器已經(jīng)成為現(xiàn)在web服務器的主流,MySQL在linux服務器上面也得到了廣泛的應用。(3)WebsitePanel,phpMyAdmin 和MySQl的黃金組合對于初學者來說,通過虛擬主機商提供的websitePanel控制面板學習MySQL是一個很不錯的方法。用戶不僅可以觀看很多視頻教程來學習使用 MySQL,還可以使用PhpMyAdmin通過web方式管理數(shù)據(jù)庫。 2.8 Tomcat服務器概述2.8.

37、1 Tomcat簡介Tomcat服務器是開源的免費的web應用服務器。Tomcat是一個由基金會(Apache Software Foundation)開發(fā)的項目中的核心項目之一,由Apache軟件基金會、Sun公司和其他一些公司及個人合作開發(fā)而成。由于有了Sun公司的參與和支持,Tomcat中總能體現(xiàn)出最新的Servlet技術 和JSP技術規(guī)范,Tomcat 5支持最新的Servlet 2.4和JSP 2.0規(guī)范。由于Tomcat先進的技術、穩(wěn)定的性能,還有免費使用,所以深受廣大編程人員的喜愛,成為目前比較流行的Web應用服務器。2.8.2 Tomcat的優(yōu)勢(1)Tomcat是Apache

38、的核心項目之一,也被 SUN 視作 Servlet/JSP 容器的一個重要參考實現(xiàn)而加以支持。因此 SUN 最新的Servlet/JSP規(guī)范,往往能夠很快地在Tomcat的新版本中得到體現(xiàn)。(2)Tomcat是一個小巧精致的web應用服務器,配置、安裝、運行、部署web應用都很簡單,這讓用戶能夠很快地上手使用。(3)開源軟件的生命力,往往與其社區(qū)的狀況有緊密的聯(lián)系。Tomcat所擁有的優(yōu)秀社區(qū),對開發(fā)者而言,疑問和反饋能夠及時解決和有效的處理。這樣會吸引更多的人加入這個社區(qū)。不斷擴大的用戶群,也會促進社區(qū)的發(fā)展,使得社區(qū)更加充滿活力。(4)編寫良好的文檔,是開發(fā)者在開發(fā)中最好的幫手之一。Apa

39、che在開源社區(qū)中,無疑是撰寫文檔方面的佼佼者。(5)由于Tomact開源和免費的特性,使用戶無障礙自由地下載、安裝、使用Tomcat。這也是 Tomcat 能夠被廣泛使用的重要原因之一。3 系統(tǒng)的需求分析和總體設計3.1 系統(tǒng)的功能需求分析3.1.1 系統(tǒng)前臺功能需求分析(1)簡潔美觀的界面,保證操作的簡易性。(2)嚴格、規(guī)范的會員信息注冊。(3)會員的注冊,登陸,退出,修改。(4)嚴格分類商品,按類別查詢商品。(5)商品的分類查詢和按名稱查詢。(6)會員可以進行網(wǎng)上商品的選購。(7)查看新上架商品和特價商品。(8)按照商品的銷售數(shù)量進行排行。 3.1.2 系統(tǒng)后臺功能需求分析(1) 簡單明

40、了的界面,能保證系統(tǒng)的易用性(2) 管理員的登錄。(3) 對商品信息的添加、查看、修改。(4) 對網(wǎng)站前臺公告、信息的發(fā)布,刪除等管理。(5) 對網(wǎng)站會員的管理。3.2 系統(tǒng)的角色及其功能分析3.2.1 系統(tǒng)的三種角色根據(jù)對系統(tǒng)前臺和后臺的分析,系統(tǒng)的使用者總共有三種角色:(6) 前臺普通網(wǎng)站瀏覽者,即游客(7) 前臺網(wǎng)站會員用戶(8) 后臺網(wǎng)站管理者3.2.2 系統(tǒng)的角色功能分析(1)普通用戶網(wǎng)站的普通瀏覽者(即游客)只能瀏覽商品。(2)會員用戶普通瀏覽者只要注冊為網(wǎng)站會員用戶后,獲得自己的帳號,設置自己的密碼就具有以下功能:登錄,退出,向購物車中添加商品,清空購物車,刪除購物車內商品,生成

41、并提交訂單,查看個人訂單,添加或修改個人資料等。(3)管理員后臺管理員必須登錄后才能瀏覽網(wǎng)頁和查看后臺信息。后臺管理員具有對商品、商品分類、訂單、公告、會員用戶的查看,修改,刪除,添加功能和退出系統(tǒng)的功能。3.3 網(wǎng)站總體設計3.3.1 項目規(guī)劃電子商務系統(tǒng)是一個典型的JSP數(shù)據(jù)庫開發(fā)應用程序,由前臺的商品展示、搜索及購買和后臺管理2部分組成。(1)前臺商品展示、搜索及購買該部分主要包括新品上架、銷售排行、特價商品、購物車管理、會員管理、商品公告及訂單查詢、商品查詢等。(2)后臺管理該部分主要對商城內的一些基礎數(shù)據(jù)進行有效管理,包括商品管理、會員管理、訂單管理、公告管理等。3.3.2 系統(tǒng)功能

42、結構圖電子商務系統(tǒng)前臺功能結構如圖3-1所示:圖3-1 系統(tǒng)前臺功能結構圖電子商務系統(tǒng)后臺功能結構如圖3-2所示:圖3-2 系統(tǒng)后臺功能結構圖3.3.3 設計目標本系統(tǒng)在設計時應該滿足以下幾個目標:友好的界面,良好的用戶體驗,與用戶進行良好的溝通全面展示商城內所有商品,并可展示最新商品及特價商品為顧客提供一個方便、快捷的商品信息查詢功能。采用模糊查詢查詢數(shù)據(jù)。會員可以隨時修改自己的會員資料。 實現(xiàn)網(wǎng)上購物。商品銷售排行,幫助顧客了解商城商品的銷售熱點,和方便公司管理者制定銷售策略。方便用戶查看商城的公告信息。用戶登錄網(wǎng)站可以查看所有的訂單。會員注冊,進行數(shù)據(jù)驗證,保證數(shù)據(jù)的準確性。系統(tǒng)最大限度

43、地實現(xiàn)了易維護性和易操作性,系統(tǒng)運行穩(wěn)定、安全可靠。3.3.4 開發(fā)及運行環(huán)境(1)硬件平臺:* CPU:Intel(R) Celeron(R);* 內存:1G以上。(2)軟件平臺:* 操作系統(tǒng):Windows XP;* 數(shù)據(jù)庫:MySQL;* 開發(fā)工具包:JDK Version 1.6;* JSP服務器:Tomcat 7.0;* 瀏覽器:IE6.0 以上;* 分辨率:最佳效果1024×768。3.4 系統(tǒng)的數(shù)據(jù)庫設計(1)users(會員信息表)會員信息表主要用來存儲所注冊的會員的信息。表users的結構如表3-1所示:表3-1:會員信息表字段名數(shù)據(jù)類型長度是否主鍵描述uidbig

44、int11是會員IDunamevarchar100會員名upasswordvarchar100會員密碼uemailvarchar100會員Emailamoneydouble8消費額arankchar10會員等級utruenamevarchar100會員真實姓名ustatechar1會員狀態(tài)createtimevarchar100創(chuàng)建時間updatetimetimestamp0修改時間 (2)usersbook(會員地址簿表)會員地址簿表主要存儲會員的收貨地址和通訊等信息,usersbook表結構如表3-2所示:表3-2:會員地址簿表字段名數(shù)據(jù)類型長度是否主鍵描述ubidbigint4是地址薄I

45、Duidbigint4外鍵會員IDuaddressvarchar80收貨地址unamevarchar20收貨人姓名upostcodevarchar6郵政編碼utelephonevarchar20聯(lián)系電話createtimetimestamp8創(chuàng)建時間updatetimetimestamp8修改時間 (3)goods(商品信息表)商品信息表主要用來保存商品信息,goods表結構如表3-3所示:表3-3:商品信息表字段名數(shù)據(jù)類型長度是否主鍵描述gidbigint8是商品IDsupidbigint8大分類IDsubidbigint8外鍵小分類IDgnamevarchar30商品名稱goutprice

46、double8市場價格ginpricedouble8商城價格gisspecialchar1是否特價gnumstoreint4商品數(shù)量gnumsoldint4已出售商品數(shù)量gcontentvarchar100商品簡介gpicturevarchar100商品圖片ncreatenamevarchar100創(chuàng)建人ncreatetimevarchar100創(chuàng)建時間nupdatenamevarchar100修改人nupdatenametimestamp0修改時間 (4)suptl(大分類表)大分類表主要存放商品的大分類,suptl表結構如表3-4所示:表3-4:大分類表字段名數(shù)據(jù)類型長度是否主鍵描述sup

47、idbigint4是大分類IDsupnamevarchar20大分類名稱supdescribevarchar200大分類描述 (5)subtl(小分類表)小分類表主要存儲商品的小分類,subtl表結構如表3-5所示:表3-5:小分類表字段名數(shù)據(jù)類型長度是否主鍵描述subidbigint4是小分類IDsubnamevarchar20小分類名稱supidbigint4外鍵大分類IDsubdescribevarchar200小分類描述 (6)favourite(商品收藏表)商品收藏表用來保存用戶收藏的商品,表favourite的表結構如表3-6所示:表3-6:商品收藏表字段名數(shù)據(jù)類型長度是否主鍵描述

48、IDbigint11是收藏IDuidbigint8外鍵會員IDgidbigint11外鍵商品ID (7)orderl(訂單信息主表)訂單信息主表用來保存訂單的概要信息。表orderL的結構如表3-7所示:表3-7:訂單信息主表字段名數(shù)據(jù)類型長度是否主鍵描述oidbigint11是訂單IDonumbervarchar100訂單編號uidbigint11外鍵會員IDubidint11外鍵地址薄idocaccountdouble8訂單總金額pidbigint11外鍵付款方式ocidbigint100外鍵開具發(fā)票obillchar1是否開具發(fā)票ocontentvarchar15發(fā)票抬頭didint11

49、外鍵送貨方式ortidint11外鍵送貨時間IDoremarkvarchar200訂單備注ostatechar1訂單狀態(tài)ocreatetimevarchar100創(chuàng)建時間oupdatetimedatetime11修改時間 (8)orderDetail(訂單明細表)訂單明細表用來保存訂單的詳細信息。表orderDetail的結構如表3-8所示:表3-8:訂單明細表字段名數(shù)據(jù)類型長度是否主鍵描述odidbigint是訂單明細IDoidbigint8外鍵訂單IDgidbigint8外鍵商品IDgnamevarchar4商品名稱gpricedouble8商品單價gnumberint11商品數(shù)量ocre

50、atetimevarchar100創(chuàng)建時間oupdatetimetimestamp0修改時間(9) paytype(訂單付款方式表)訂單付款方式表存儲訂單的付款方式,paytype表的表結構如表3-9所示:字段名數(shù)據(jù)類型長度是否主鍵描述pidint4是支付方式IDpcontentvarchar50支付方式內容pdescribevarchar150描述表3-9:訂單付款方式表(10)delivertype(送貨方式表)送貨方式表存儲的是訂單商品的送貨方式,delivertype表結構如表3-10所示:表3-10:送貨方式表字段名數(shù)據(jù)類型長度是否主鍵描述didint4是送貨方式IDdcontent

51、varchar50送貨方式內容ddaysint4送貨天數(shù)ddescribevarchar150描述 (11)ordercarrytime(送貨時間表)送貨時間表存放訂單的送貨時間,ordercarrytime表的表結構如表3-11所示:表3-11:送貨時間表字段名數(shù)據(jù)類型長度是否主鍵描述ortidint4是送貨時間IDortcontentvarchar100送貨時間內容 (12)Ordercheck(訂單發(fā)票表)訂單發(fā)票表存儲每一筆訂單的發(fā)票信息,ordercheck表結構如表3-12所示:表3-12:訂單發(fā)票表字段名數(shù)據(jù)類型長度是否主鍵描述ocidint4是發(fā)票IDoctitlevarcha

52、r100發(fā)票標題occontentvarchar100發(fā)票內容 (13)admin(后臺管理人員表)管理員信息表用來保存管理員信息。表admin的結構如表3-13所示:表3-13:后臺管理人員表字段名數(shù)據(jù)類型長度是否主鍵描述aidbigint4是管理員IDanamevarchar20管理員名atruenamevarchar10真實姓名apasswordvarchar16密碼aisvalidchar1是否有效createtimevarchar100創(chuàng)建時間updatetimedatetime0修改時間 (14)notice(公告信息表)公告信息表主要用來保存商城的公告信息。表notice的結構如

53、表3-14所示:表3-14:公告信息表字段名數(shù)據(jù)類型長度是否主鍵描述nidint4是公告IDntitlevarchar40公告標題ncontentvarchar450公告內容nstarttimevarchar100發(fā)布時間nendtimevarchar100失效時間ncreatenamevarchar20創(chuàng)建人ncreatetimevarchar8創(chuàng)建時間nupdatenamevarchar20修改人nupdatetimedatetime8修改時間 (15)comment(商品評論表)商品評論表用來保存用戶對商品的評論,表comment的表結構如表3-15所示:表3-15:商品評論表字段名數(shù)據(jù)

54、類型長度是否主鍵描述cidint11是評論的idgidint11外鍵商品idcontentvarchar100評論內容uidint11外鍵用戶idtimetimestamp0評論時間3.5 系統(tǒng)的類設計3.5.1 POJO類的設計數(shù)據(jù)庫中的每張表都設一個實體類,實體類與表的關系是一一對應關系,所有與表相對應的類都集中放在pojo包下,如圖3-3: 圖3-3:實體類設計圖3.5.2 DAO類的設計每個實體類都對應一個DAO,只要是對本實體類對應的表的所有操作都在相對的DAO類中進行實現(xiàn)。每個DAO都繼承同一個BaseDao,BaseDao是利用反射機制編寫的對數(shù)據(jù)庫的操作,提高了代碼的復用。BaseDao.Java的代碼見附錄BaseDao.Java程序清單。3.5.3 過濾器的設計本網(wǎng)站系統(tǒng)中由于應

溫馨提示

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

最新文檔

評論

0/150

提交評論