版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGE論文畢業(yè)設計(論文)設計(論文)題目:基于java的購物網(wǎng)站的設計與開發(fā)設計與實現(xiàn)PAGEIV摘要隨著科技的迅速發(fā)展,計算機技術已應用到社會的各個領域。隨著計算機技術和通信技術的迅速發(fā)展,網(wǎng)絡的規(guī)模也逐漸增大,網(wǎng)絡的元素也隨之不斷增加,有的利用其通信,有的利用其商業(yè)用途,在網(wǎng)絡上進行出售、收購、宣傳等操作,從而使得網(wǎng)絡越來越成為現(xiàn)今社會上必不可少的元素,而網(wǎng)站就是這個網(wǎng)絡里很龐大的元素。通過購物網(wǎng)站這個平臺,可以使用戶足不出戶就可以了解豐富的商品信息,極大的方便了用戶,系統(tǒng)的主要功能包括:商品類別管理、商品信息管理、訂單管理、會員管理、系統(tǒng)公告管理等。分為管理員用戶、會員用戶這二種用戶平臺。結合這次設計的意義對Internet在商業(yè)中的應用與發(fā)展做一下介紹;然后針對整個系統(tǒng)進行分析,其中包括可行性分析、需求分析、系統(tǒng)的業(yè)務流程分析、數(shù)據(jù)分析等;在此基礎上確定網(wǎng)站的功能目標,將網(wǎng)站的功能逐次劃分,并細分出子功能模塊;接下來設計并實現(xiàn)各個模塊,在每個模塊都能完成其功能的結果下將其綜合成一個完整的系統(tǒng)。本系統(tǒng)前臺主要使用JAVA作為開發(fā)語言,后臺使用MySql作為數(shù)據(jù)庫管理系統(tǒng),開發(fā)環(huán)境是MyEclipse,服務器采用tomcat,開發(fā)出的一個基于Web技術的B/S結構的購物網(wǎng)站。關鍵詞:電子商務,JAVA,B/S結構
ABSTRACTWiththerapiddevelopmentofscienceandtechnology,thecomputertechnologyhasbeenappliedtoeachfieldofthesociety.Withtherapiddevelopmentofcomputertechnologyandcommunicationtechnology,thesizeofthenetworkincreases,networkelementsarealsoincreasing,someusetheircommunication,andsomeuseitforcommercialuse,sale,purchase,publicityandotheroperationsinthenetwork,sothatthenetworkisincreasinglybecominganessentialelementofmodernsociety,andthewebsiteisverylargeinthenetworkelements.Throughtheshoppingwebsiteofthisplatform,userscanremainwithindoorscanunderstandthewealthofinformationgoods,agreatconveniencetousers,themainfunctionsofthesysteminclude:categorymanagement,productinformationmanagement,ordermanagement,membershipmanagement,bulletinmanagementsystem.Asadministrator,membersoftheusertothetwouserplatform.CombinedwiththedesignofthesignificanceoftheapplicationanddevelopmentofInternetinbusinessoverview;theninviewoftheentiresystemanalysis,includingfeasibilityanalysis,demandanalysis,thesystembusinessprocessanalysis,dataanalysis;determinethefunctionaltargetsitesonthebasisofthis,thefunctionofsuccessivedivisionsite,andsubdividethefunctionmodule;thendesignandRealizationofeachmodule,cancompletethefunctionsofeachmoduleintheresultsoftheintegratedintoacompletesystem.ThefrontofthesystemusingJAVAasthedevelopmentlanguage,theuseofMySqlasadatabasemanagementsystem,thedevelopmentenvironmentisMyEclipse,theserverusingtomcat,developedaWebtechnologybasedonB/Sstructureoftheshoppingwebsite.Keywords:Electroniccommerce,JAVA,B/Sstructure
目錄TOC\o"1-2"\h\z\t"標題3,3,標題4,4"摘要 IABSTRACT II第一章緒論 11.1課題背景 11.2目的和意義 11.3開發(fā)工具及技術 11.3.1開發(fā)工具 11.3.2JAVA 21.3.3JavaScript 31.4軟硬件需求 4第二章需求分析 52.1可行性分析 52.1.1技術的可行性 52.2.2經(jīng)濟的可行性 52.2.3操作可行性 52.2.4法律的可行性 52.3系統(tǒng)用戶用例圖 62.3.1普通用戶用例圖 62.3.2管理員用例圖 62.4功能模塊需求分析 72.5設計的基本思想 82.6性能需求 82.6.1系統(tǒng)的安全性 82.6.2數(shù)據(jù)的完整性 92.7界面需求 9第三章系統(tǒng)分析與設計 113.1數(shù)據(jù)庫的分析與設計 113.1.1數(shù)據(jù)庫的概念結構設計 113.1.2數(shù)據(jù)庫的邏輯結構設計 143.1.3數(shù)據(jù)庫的連接原理 163.2中文亂碼問題處理 18第四章系統(tǒng)功能實現(xiàn) 194.1管理員登陸頁面 194.2管理員模塊 214.2.1商品類別管理 224.2.2商品信息管理 254.2.3會員信息管理 294.2.4訂單管理 304.2.5修改密碼 334.2.6退出系統(tǒng) 344.3普通用戶模塊 344.3.1系統(tǒng)主頁面實現(xiàn) 344.3.2商品類別查詢 344.3.3用戶注冊 354.3.4用戶購物 364.3.5購物車管理 374.3.6網(wǎng)站聊天室 39第五章系統(tǒng)測試 405.1系統(tǒng)測試目的與意義 405.2測試過程 405.2.1主頁面的登錄模塊測試 405.3其他錯誤 41結論 42參考文獻 43致謝 44設計與實現(xiàn)第一章緒論1.1課題背景互聯(lián)網(wǎng)的興起從本質上改變了整個社會的商品銷售方式,國內各大企業(yè)從上個世紀90年代互聯(lián)網(wǎng)興起之時,就產生了通過網(wǎng)絡進行銷售經(jīng)營商品的想法。但是由于在互聯(lián)網(wǎng)上企業(yè)的信譽難以認證、網(wǎng)絡的法規(guī)政策不健全、物流不發(fā)達等一系列的原因,限制了網(wǎng)上交易發(fā)展的步伐。進入21世紀以后,隨著整個社會的發(fā)展、進步,制約網(wǎng)上交易的各個瓶頸問題逐一被擊破,各企業(yè)也紛紛的加入到電子商務的洪潮之中。中國互聯(lián)網(wǎng)協(xié)會網(wǎng)絡營銷工作委員會調查顯示,隨著國內產業(yè)環(huán)境和消費市場的成熟,網(wǎng)絡購物將在今年實現(xiàn)更大發(fā)展。根據(jù)會員企業(yè)艾瑞咨詢集團的預測,2008年我國網(wǎng)絡購物交易將同比增長125.1%,交易總量將達1263億,形成了中國網(wǎng)絡購物的快速增長浪潮,網(wǎng)絡購物這一消費方式給人們生活帶來的變化,除了購物場所的改變以外,更重要的是大大改變了傳統(tǒng)的消費行為習慣,無論是否在網(wǎng)上購物,上網(wǎng)查看產品的相關信息,已經(jīng)成為購物決策環(huán)節(jié)的重要組成部分,這一環(huán)節(jié)對購物行為的實際發(fā)生起到了至關重要的指導作用。1.2目的和意義與傳統(tǒng)方式銷售相比在線銷售有很多的優(yōu)點如:1.檢索便捷在線銷售提供了多種檢索途徑,可以從分類、新品、特價等途徑進行檢索,快捷準確。2.信息量大與傳統(tǒng)銷售方式相比,在線銷售能夠提供海量產品信息。3.成本低,風險小,無地域限制網(wǎng)絡銷售最突出的優(yōu)點是:不再限制消費者的購買時段,擴大和鞏固了客戶群,從而增加了企業(yè)的核心競爭力,節(jié)省實際開店時需要投入的成本和租用費用。1.3開發(fā)工具及技術1.3.1開發(fā)工具此次設計主要采用MyEclipse加Tomcat后臺服務器進行,設計過程中頁面主要使用JAVA技術完成,下面對MyEclipse、Tomcat和MySql數(shù)據(jù)庫進行簡要介紹。MyEclipseMyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產品的支持十分不錯。MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML,Struts,JAVA,CSS,Javascript,SQL,Hibernate。TomcatTomcat是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試JAVA程序的首選??梢赃@樣認為,當在一臺機器上配置好Apahce服務器,可利用它響應對HTML頁面的訪問請求。實際上Tomcat部分是Apache服務器的擴展,但它是獨立運行的,所以當運行tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的。MySqlMySql使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性;支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng);為多種編程語言提供了API;支持多線程,充分利用CPU資源;提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑;可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。對于一般的個人使用者和中小型企業(yè)來說,MySql提供的功能已經(jīng)綽綽有余,而且由于MySql是開放源碼軟件,因此可以大大降低總體擁有成本。1.3.2JAVAJAVA技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JAVA將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。Web服務器在遇到訪問JAVA網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同JAVA文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JAVA與Servlet一樣,是在服務器端執(zhí)行的,通常返回給客戶端就是一個HTML文本,因此客戶端只要有瀏覽器能瀏覽。JAVA頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JAVA的技術基礎,而且大型的Web應用程序的開發(fā)需要JavaServlet和JAVA配合才能完成。JAVA具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。JAVA技術的優(yōu)點:(1)一次編寫,到處運行。除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺支持。基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/.net的局限性是顯而易見的。(3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JAVA,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數(shù)臺服務器,Java顯示了一個巨大的生命力。(4)多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下(5)支持服務器端組件。web應用需要強大的服務器端組件來支持,開發(fā)人員需要利用其他工具設計實現(xiàn)復雜功能的組件供web頁面調用,以增強系統(tǒng)性能。JAVA可以使用成熟的JAVABEANS組件來實現(xiàn)復雜商務功能。內部對象說明:request客戶端請求,此請求會包含來自GET/POST請求的參數(shù);response網(wǎng)頁傳回客戶端的響應;pageContext網(wǎng)頁的屬性是在這里管理;session與請求有關的會話;applicationservlet正在執(zhí)行的內容;out用來傳送響應的輸出流;config代碼片段配置對象;pageJAVA網(wǎng)頁本身;exception針對錯誤網(wǎng)頁,未捕捉的例外1.3.3JavaScriptJavaScript是一種基于對象和事件驅動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應用戶的各種操作。JavaScript的一個重要功能就是面向對象的功能,通過基于對象的程序設計,可以用更直觀、模塊化和可重復使用的方式進行程序開發(fā)。在HTML基礎上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁。Javascript的出現(xiàn)使得網(wǎng)頁和用戶之間實現(xiàn)了一種實時性的、動態(tài)的、交互性的關系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內容。在本系統(tǒng)中很多地方使用了javascript技術,比如說,檢驗用戶輸入數(shù)據(jù)的有效性,是否重復,是否為空等等。1.4軟硬件需求硬件需求:CPU:Pentium以上計算機內存:512M以上軟件需求:操作系統(tǒng)版本:WindowsXP/vista/Win7開發(fā)工具:MyEclipse6.0.1后臺服務器:ApacheTomcat6.0開發(fā)語言:Java瀏覽器:IE6.0第二章需求分析2.1可行性分析開發(fā)任何一個系統(tǒng),都會受到時間和資源上的限制。因此,在每一個項目開發(fā)之前,都要進行可行性分析,可以減少項目的開發(fā)風險,避免人力、物力和財力的浪費。下面就技術、經(jīng)濟、操作和法律四個方面來介紹。2.1.1技術的可行性本系統(tǒng)開發(fā)工具是MyEclipse和MySql數(shù)據(jù)庫,開發(fā)語言是Java,主要使用了J2EE的技術,java是一種面向對象編程語言,簡單易學而且靈活方便。大三時就學習了java課程,大四期間也系統(tǒng)的了解了J2EE的知識,本系統(tǒng)總體上開發(fā)難度不高,數(shù)據(jù)庫的設計和操作是本系統(tǒng)設計的核心。在大學期間學習過軟件工程,軟件測試,UML統(tǒng)一建模語言等課程,每個學期也會完成對應的課程設計,具備一定的系統(tǒng)分析、設計和測試能力。因此,完成系統(tǒng)實現(xiàn)在技術上完全具有可行性。2.2.2經(jīng)濟的可行性本系統(tǒng)所用的軟件都是開源的,為開發(fā)軟件節(jié)省了大量的金錢和時間,達到降低成本,提高開發(fā)效率的目的,本系統(tǒng)對計算機配置的要求不高,甚至網(wǎng)吧更換下來的低配置電腦都可以完全滿足需要,所以在經(jīng)濟上具有完全的可行性。2.2.3操作可行性本系統(tǒng)操作簡單,輸入信息頁面大多數(shù)都是下拉框的選擇形式,在某些頁面,信息可以自動生成,無需輸入,時間的輸入也是用的日歷控件,操作簡便,對操作人員的要求很低,只需對WINDOWS操作熟練,加之對本系統(tǒng)的操作稍加培訓即可工作,而且本系統(tǒng)可視性非常好,所以在技術上不會有很大難度。2.2.4法律的可行性本購物網(wǎng)站是自行開發(fā)的管理系統(tǒng),是很有實際意義的系統(tǒng),開發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫都是開源代碼,開發(fā)這個系統(tǒng)不同于開發(fā)普通的系統(tǒng)軟件,不存在侵權等問題,即法律上是可行的。2.3系統(tǒng)用戶用例圖2.3.1普通用戶用例圖出于安全性的考慮,普通用戶只有瀏覽商品和商品查詢、商品購買等功能,其他的刪除修改功能都沒有設計,因為普通用戶最主要關心的就是商品信息的更新和查詢等功能,普通用戶用例圖如圖2.1所示:圖2.1普通用戶用例圖2.3.2管理員用例圖管理員是系統(tǒng)的核心用戶,涉及到七大功能模塊,管理員對系統(tǒng)的所有信息有著操作的權限,能夠及時動態(tài)的更新系統(tǒng)的各項信息。圖2.2管理員用例圖2.4功能模塊需求分析本系統(tǒng)最大的特點是使用操作簡單、友好的提示信息。本系統(tǒng)將實現(xiàn)以下基本功能:(1)系統(tǒng)具有簡潔大方的頁面,使用簡便,友好的錯誤操作提示(2)管理員用戶具有商品類別管理、商品信息管理、商品信息更新管理、訂單管理、會員信息管理、公告管理、系統(tǒng)管理功能(3)普通用戶用戶具有瀏覽商品、商品查詢、購買商品、修改個人信息等功能(4)具有較強的安全性,避免用戶的惡意操作系統(tǒng)的功能結構圖,分普通用戶平臺,管理員平臺。普通用戶功能模塊圖說明:普通用戶可以在線瀏覽商品,查詢商品,瀏覽公告信息,如果要購買、下訂單操作,首先需要注冊一個個人賬號,然后登陸到系統(tǒng)中,如功能圖2.3所示:2.3普通用戶用戶功能模塊圖管理員功能模塊圖說明:管理員是功能最多的一種用戶角色。(1)商品類別信息管理模塊:在該模塊中完成對商品類別信息的管理,包括類別錄入、查詢、修改、增加和刪除等功能操作。其中類別信息包括類別名稱、類別介紹等信息。(2)商品信息管理模塊:在該模塊中定義了商品信息的管理,其功能包括商品錄入、查詢、刪除等操作。(3)會員管理模塊:該模塊中包括瀏覽會員信息和刪除會員信息2個功能。(4)系統(tǒng)管理模塊:在該模塊中定義了系統(tǒng)日常維護的功能,包括公告信息的添加和查詢,修改功能,以及系統(tǒng)用戶管理和修改密碼等功能。管理員用戶功能模塊圖如圖2.4。圖2.4管理員用戶功能模塊圖2.5設計的基本思想設計思想遵循以下幾點:1.采用B/S模式進行開發(fā),其優(yōu)點是后臺與前臺處理層次分明,而且符合眾多已經(jīng)習慣網(wǎng)頁搜索方式的用戶。2.采用面向對象的開發(fā)與設計理念。運用面向對象技術的前提是對整體系統(tǒng)的高度和準確抽象,通過它可以保證系統(tǒng)良好的框架,進而帶來產品較強的穩(wěn)定性和運行效率。3.采用模塊化設計。模塊化設計要求將整個系統(tǒng)劃分成基于小的模塊,有利于代碼的重載,簡化設計和實現(xiàn)過程。4.簡單方便的系統(tǒng)界面。設計簡單友好的系統(tǒng)界面,方便用戶較快的適應系統(tǒng)的操作。5.速度優(yōu)先原則。由于此工具最重要的評測標準就是速度,因此在設計過程中,具體過程盡量做到資源占用少,速度快。6.設計既要突出重點,又要細致周到。要符合設計需求,在有可能改進的地方進行擴充,使系統(tǒng)更適應用戶的需要。2.6性能需求2.6.1系統(tǒng)的安全性本購物網(wǎng)站在管理權限上要嚴格進行控制,具體要求如下:1.要想管理本系統(tǒng)的商品信息,必須先要憑用戶名和密碼登陸到系統(tǒng)中,沒有權限的用戶不能通過任何方式登錄系統(tǒng)查看系統(tǒng)的任何信息和數(shù)據(jù),以確保系統(tǒng)的嚴密性和安全性。2.在具體實現(xiàn)中設定不同權限,不同權限用戶登錄到系統(tǒng)后,不能越級操作,管理員可以使使用所有模塊;普通用戶用戶只能在線瀏覽信息,比如,查詢商品信息、在線購買、下訂單等功能。2.6.2數(shù)據(jù)的完整性1.各種記錄信息的完整性,信息記錄內容不能為空2.各種數(shù)據(jù)間相互聯(lián)系的正確性3.相同數(shù)據(jù)在不同記錄中的一致性2.7界面需求界面設計目前已經(jīng)成為評價軟件質量的一條重要指標,一個好的用戶界面可以增加用戶使用系統(tǒng)的信心和興趣,提高工作效率,JAVA技術是用JAVA語言作為腳本語言的,JAVA網(wǎng)頁為整個服務器端的JAVA庫單元提供了一個接口來服務于HTTP的應用程序。創(chuàng)建動態(tài)頁面非常方便。用戶界面是指軟件系統(tǒng)與用戶交互的接口,通常包括輸出、輸入、人-機對話的界面格式等。1.輸出設計輸出是由計算機對輸入的原始信息進行加工處理,形成高質量的有效信息,并使之具有一定的格式,提供管理者使用,這是輸出設計的主要職責和目標。系統(tǒng)設計的過程正好和實施過程相反,并不是從輸入設計到輸出設計,而是從輸出設計到輸入設計,這是因為輸出表格直接與使用者相聯(lián)系,設計的出發(fā)點應當是保證輸出表格方便地為使用者服務,正確及時反映和組成用于各部門的有用信息。輸出設計的原則是考慮既要全面反映不同管理層的各項需要,又要言簡意賅,不要將用戶需要和不需要的都提供給用戶。2.輸入設計輸入數(shù)據(jù)的收集和錄入是比較費事的,需要大量的人力和一定設備,并且容易出錯。如果輸入系統(tǒng)的數(shù)據(jù)有錯誤,則處理后的輸出將擴大這些錯誤,因此輸入數(shù)據(jù)的正確性對于整個系統(tǒng)質量的好壞是具有決定性意義的。輸入設計的原則有如下幾點:1)輸入量應保持在能滿足處理要求的最低限度。設計中可采用設置字段初值,下拉式數(shù)據(jù)窗口等方式盡量減少用戶鍵盤輸入量。輸入量越少,錯誤率就越少,數(shù)據(jù)準備時間也減少。2)輸入的準備及輸入過程應盡量容易進行,從而減少錯誤的發(fā)生。3)應盡量早對輸入數(shù)據(jù)進行檢查(盡量接近原數(shù)據(jù)發(fā)生點),以便使錯誤及時得到更正。4)輸入數(shù)據(jù)盡早地用其處理所需的形式被記錄,以避免數(shù)據(jù)由一種介質轉移到另一種介質時需要轉錄而可能發(fā)生的錯誤第三章系統(tǒng)分析與設計3.1數(shù)據(jù)庫的分析與設計計算機信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。數(shù)據(jù)庫已經(jīng)成為現(xiàn)在信息系統(tǒng)等計算機系統(tǒng)的基礎與核心部分。數(shù)據(jù)庫設計的好壞直接影響到整個系統(tǒng)的質量和效率。數(shù)據(jù)庫的設計一般經(jīng)過規(guī)劃。需求分析、概念設計、邏輯設計、物理設計5個步驟。3.1.1數(shù)據(jù)庫的概念結構設計概念設計是指在數(shù)據(jù)分析的基礎上自底向上的建立整個系統(tǒng)的數(shù)據(jù)庫概念結構,從用戶的角度進行視圖設計,然后將視圖集成,最后對集成的結構分析優(yōu)化得到最后結果。數(shù)據(jù)庫的概念結構設計采用實體—聯(lián)系(E-R)模型設計方法。E-R模型法的組成元素有:實體、屬性、聯(lián)系,E-R模型用E-R圖表示,是提示用戶工作環(huán)境中所涉及的事物,屬性則是對實體特性的描述。概念設計的目標是產生反映企業(yè)組織信息要求的數(shù)據(jù)庫概念結構,即概念模式。概念模式是獨立于數(shù)據(jù)庫邏輯結構,獨立于支持數(shù)據(jù)庫的DBMS,不依賴于計算機系統(tǒng)的,根據(jù)以上對數(shù)據(jù)庫的需求分析,并結合系統(tǒng)概念模型的特點及建立方法,建立E-R模型圖。實體間關系屬性實體實體間關系屬性實體(1)普通用戶實體E-R圖如圖3.5所示:性別姓名年齡性別姓名年齡密碼密碼聯(lián)系方式用戶名聯(lián)系方式用戶名普通用戶普通用戶圖3.5普通用戶E-R圖(2)商品類別實體E-R圖類別介紹類別介紹是否刪除是否刪除類別名稱類別名稱商品類別商品類別圖3.6商品類別信息實體E-R圖(3)商品信息E-R圖商品介紹商品圖片商品價格商品介紹商品圖片商品價格商品類別商品類別商品名稱類別ID商品名稱類別ID商品信息商品信息圖3.6商品信息實體E-R圖(4)公告信息E-R圖公告內容公告內容發(fā)布時間發(fā)布時間公告標題公告標題公告信息公告信息圖3.6公告信息實體E-R圖(5)管理員信息E-R圖登陸賬號登陸賬號登陸密碼用戶ID登陸密碼用戶ID管理員管理員圖3.6管理員信息實體E-R圖(6)訂單信息E-R圖送貨地址付款方式圖片總金額送貨地址付款方式圖片總金額下單時間紹下單時間紹訂單編號會員ID訂單編號會員ID訂單信息訂單信息圖3.7訂單信息實體E-R圖3.1.2數(shù)據(jù)庫的邏輯結構設計我們知道,數(shù)據(jù)庫概念模型獨立于任何特定的數(shù)據(jù)庫管理系統(tǒng),因此,需要根據(jù)具體使用的數(shù)據(jù)庫管理系統(tǒng)的特點進行轉換。即轉化為按計算機觀點處理的邏輯關系模型,E-R模型向關系數(shù)據(jù)庫模型轉換應遵循下列原則:*每一個實體要轉換成一個關系*所有的主鍵必須定義非空(NOTNULL)*對于二元聯(lián)系應按照一對多、弱對實、一對一、多對多等聯(lián)系來定義外鍵。根據(jù)E-R模型,普通用戶公寓管理系統(tǒng)建立了以下邏輯數(shù)據(jù)結構,下面是各數(shù)據(jù)表的詳細說明。(1)普通用戶表主要是記錄了普通用戶基本信息。表結構如表3.1所示。表3.1普通用戶表(t_user)列名數(shù)據(jù)類型長度允許空是否主鍵說明user_idint4否是用戶IDuser_namevarchar50否否用戶名user_pwvarchar50否否用戶密碼user_realnamevarchar50否否姓名user_sexvarchar50否否性別user_telvarchar20否否聯(lián)系方式user_addressvarchar20否否住址(2)商品類別信息表主要是記錄了商品類別的基本信息,表結構如表3.2所示。表3.2商品類別信息表(t_catelog)列名數(shù)據(jù)類型長度允許空是否主鍵說明catelog_idint4否是類別IDcatelog_namevarchar50否否類別名稱catelog_miaoshuvarchar50否否類別介紹(3)商品信息表主要是商品的相關信息,其中ID是主鍵,表結構如圖3.3所示。表3.3商品信息表(t_goods)列名數(shù)據(jù)類型長度允許空是否主鍵說明goods_idInt4否是商品IDcatelog_idInt4否否類別IDgoods_namevarchar50否否名稱goods_miaoshuvarchar50否否介紹goods_picvarchar50否否商品封皮shichangjiaDate50否否商品價格goods_tejiavarchar50否否商品特價(4)公告信息表記錄了管理員發(fā)布的系統(tǒng)公告基本信息,表如圖3.4所示。表3.4公告信息表(t_gonggao)列名數(shù)據(jù)類型長度允許空是否主鍵說明idint4否是公告IDtitlevarchar50否否公告標題contentvarchar50否否公告內容shijianvarchar50否否發(fā)布日期(5)管理員信息表主要記錄了管理員的賬號信息,包括用戶名和密碼,表結構如表3.7所示。表3.5管理員信息表(t_admin)列名數(shù)據(jù)類型長度允許空是否主鍵說明userIdint4否是編號userNamevarchar50否否用戶名userPwvarchar50否否密碼(6)訂單信息表主要記錄的會員的訂單的信息,包括訂單編號、下單時間等,表結構如表3.7所示。表3.6訂單信息表(t_order)列名數(shù)據(jù)類型長度允許空是否主鍵說明order_idint4否是編號order_datevarchar50否否下單時間order_zhuangtaivarchar50否否訂單狀態(tài)songhuodizhivarchar50否否送貨地址fukuanfangshivarchar50否否X款方式jinevarchar50否否總金額user_idint4否否會員ID(7)留言信息表主要記錄了會員的留言的信息,包括留言標題、留言內容等,表結構如表3.7所示。表3.7留言信息表(t_liuyan)列名數(shù)據(jù)類型長度允許空是否主鍵說明idint4否是編號titlevarchar50否否留言標題contentvarchar50否否留言內容shijianvarchar50否否留言時間3.1.3數(shù)據(jù)庫的連接原理采用JDBC連接數(shù)據(jù)庫的方式,只需在工程中導入對應數(shù)據(jù)庫的jar包,就可以方便的對數(shù)據(jù)庫進行連接,在程序中,用Class.forName()方法來加載驅動程序,在用DriverManager的getConnection()方法就可以創(chuàng)建一個數(shù)據(jù)庫連接。程序采用的是DAO模式來操作數(shù)據(jù)庫,DAO(DataAccessObject,數(shù)據(jù)訪問對象),是Java編程中的一種經(jīng)典模式,已被廣泛應用,也是J2EE架構中持久層框架的基礎知識,基于分層次式的軟件架構來實現(xiàn)對數(shù)據(jù)庫的訪問操作。DAO模式的主要思想就是從抽象數(shù)據(jù)源獲取與操縱數(shù)據(jù)的方法。抽象數(shù)據(jù)的含義就是編寫應用程序的程序員不必關心數(shù)據(jù)庫的物理位置,已經(jīng)是何種數(shù)據(jù)庫,只需使用封裝數(shù)據(jù)庫中表示記錄的數(shù)據(jù)對象即可。其思想如圖3.10所示:封裝使用封裝使用DataSourceDataAccessObjectBusinessObjectDataSourceDataAccessObjectBusinessObject創(chuàng)建/使用獲取/修改創(chuàng)建/使用獲取/修改DataTransferObjectDataTransferObject圖3.10DAO模式類圖圖中BussinessObject是業(yè)務對象,是使用DAO模式的客戶端;DataTransferObject數(shù)據(jù)傳輸對象,在應用程序不同層次之間傳輸對象,在一個分布式應用程序中,通??梢蕴岣哒淼男阅?;DataObjectAcces數(shù)據(jù)輸入/輸出對象封裝了對數(shù)據(jù)源的一些基本操作;DataSource指的是數(shù)據(jù)源??梢詮膱D中看出,DAO模式分離了業(yè)務邏輯和數(shù)據(jù)羅即將,是的編寫的軟件具有良好的層次式體系結構。本系統(tǒng)為了方便數(shù)據(jù)庫的操作,主要使用DBContent的對象來接一個數(shù)據(jù)庫(建立一個類DBContent),代碼如下:publicDBContent(){ StringCLASSFORNAME="com.mysql.jdbc.Driver";//連接數(shù)據(jù)庫的驅動 Stringurl="jdbc:mysql://localhost:3306/db_wlgw?characterEncoding=utf-8"; Stringuser="root";//連接數(shù)據(jù)庫的用戶名 Stringpassword="root";//連接數(shù)據(jù)庫的密碼 try{ Class.forName(CLASSFORNAME); con=DriverManager.getConnection(url,user,password);//加載數(shù)據(jù)庫的驅動 stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); } catch(Exceptionex){ ex.printStackTrace(); } } 在程序需要連接數(shù)據(jù)庫的地方,只需要生成一個DBConnet的對象,就可以對數(shù)據(jù)庫進行連接并操作。3.2中文亂碼問題處理在程序中經(jīng)常會遇到中文亂碼的情況,如果手動的在servlet和java頁面進行設置,相當麻煩。因此,在程序的開始就寫了一個過濾器SetCharacterEncodingFilter。在web.xml中配置:<filter><filter-name>SetCharacterEncodingFilter</filter-name><filter-class>myweb.util.filter.SetCharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>gb2312</param-value></init-param></filter><filter-mapping><filter-name>SetCharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern>//*表示工程下所有的頁面都會有此過濾器的處理</filter-mapping>對應的SetCharacterEncodingFilter.java文件中的重要代碼,在初始化init()方法中定義:publicvoidinit(FilterConfigfilterConfig)throwsServletException{ this.filterConfig=filterConfig;this.encoding=filterConfig.getInitParameter("encoding");Stringvalue=filterConfig.getInitParameter("ignore");}在工具包util包中同樣定義了DataFormate類來處理字符轉換:publicstaticStringtoUni(StringgbStr){StringuniStr="";/*把字符串轉換成uincode編碼*/if(gbStr==null){gbStr="";}try{byte[]tempByte=gbStr.getBytes("GB2312");uniStr=newString(tempByte,"ISO8859_1");}catch(Exceptionex){}returnuniStr;}/*把字符串轉換成Utf8編碼*/publicstaticStringtoUtf8String(Strings){StringBuffersb=newStringBuffer();for(inti=0;i<s.length();i++){charc=s.charAt(i);if(c>=0&&c<=255){sb.append(c);}else{byte[]b;try{b=Character.toString(c).getBytes("utf-8");}catch(Exceptionex){System.out.println(ex);b=newbyte[0];}for(intj=0;j<b.length;j++){intk=b[j];if(k<0){k+=256;}sb.append("%"+Integer.toHexString(k).toUpperCase());}} returnsb.toString();}第四章系統(tǒng)功能實現(xiàn)在管理信息系統(tǒng)的生命周期中,僅過了需求分析、系統(tǒng)設計等階段之后,便開始了系統(tǒng)實施階段。在系統(tǒng)分析和設計階段,系統(tǒng)開發(fā)工作主要是集中在邏輯、功能和技術設計上,系統(tǒng)實施階段要繼承此前面各個階段的工作成果,將技術設計轉化為物理實現(xiàn),因此系統(tǒng)實施的成果是系統(tǒng)分析和設計階段的結晶。4.1管理員登陸頁面1.描述:為了保證系統(tǒng)的安全性,要使用本系統(tǒng)必須先登陸到系統(tǒng)中。2.程序運行效果圖如圖4.1所示:圖4.1管理員登陸頁面設計3.在登陸頁面輸入用戶名和密碼以,點擊提交按鈕,跳轉到登陸的service中,在該service中會對用戶名,密碼進行判斷,如果正確提示“通過驗證”,進入到管理界面,如果錯誤則提示“用戶名和密碼不正確”,頁面調轉到登陸頁。loginservice關鍵代碼:publicStringlogin(StringuserName,StringuserPw,intuserType) { try { Thread.sleep(700); }catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } Stringresult="no"; if(userType==0)//系統(tǒng)管理員登陸 { Stringsql="fromTAdminwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; ListadminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } } if(userType==2) { } returnresult; }4.2管理員模塊1.描述:管理員主頁面:左方頁面展示了管理員可操作的七大功能,進入相關的管理頁面可以鏈接到子菜單,并且高亮顯示,每個管理模塊下面都有相應的子菜單。2.程序運行效果圖如圖4.2所示:圖4.2管理員主頁面在每個java頁面將會對相關用戶進行攔截操作,這樣可以提高安全性,防止用戶不經(jīng)過登陸頁面而進入任何子菜單頁面:if(session.getAttribute("user")==null){out.print("<script>alert('請先登錄!');window.open('../index.java','_self')</script>"); }4.2.1商品類別管理類別信息錄入描述:管理員輸入類別相關正確信息后點擊錄入按鈕,如果是沒有輸入完整的普通用戶信息,比如沒有輸入類別名稱,都會給出相應的錯誤提示,不能錄入成功。輸入數(shù)據(jù)都通過form表單中定義的方法onsubmit="returncheckForm()"來檢查,checkForm()函數(shù)中是各種的校驗輸入數(shù)據(jù)的方式。程序效果圖如下圖4.3所示:圖4.3類別信息錄入3.流程圖如下圖4.4所示:登陸系統(tǒng)登陸系統(tǒng)管理員錄入管理員錄入商品類別信息系統(tǒng)驗證錄入類別信息錄入成功結束通過未通過 圖4.4商品類別信息錄入流程圖類別信息管理1.描述:管理員點擊左側的菜單“商品類別管理”,頁面跳轉到類別管理界面,調用后臺的action類查詢所有商品類別信息。2.程序效果圖如下圖4.5所示圖4.5商品類別管理類別管理關鍵代碼:publicStringcatelogMana(){ Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS;} publicStringcatelogAll() { Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS; } publicStringcatelogAdd() { TCatelogcatelog=newTCatelog(); catelog.setCatelogName(catelogName); catelog.setCatelogMiaoshu(catelogMiaoshu); catelog.setCatelogDel("no"); catelogDAO.save(catelog); this.setMessage("操作成功"); this.setPath("catelogMana.action"); return"succeed"; } publicStringcatelogDel() { Stringsql="fromTGoodswheregoodsDel='no'andgoodsCatelogId="+catelogId; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql); if(goodsList.size()>0) { this.setMessage("請先刪除此類別下的商品"); this.setPath("catelogMana.action"); } else { TCatelogcatelog=catelogDAO.findById(catelogId); catelog.setCatelogDel("yes"); catelogDAO.attachDirty(catelog); this.setMessage("操作成功"); this.setPath("catelogMana.action"); } return"succeed"; }類別信息刪除1.描述:先是點擊類別信息管理,頁面跳轉到類別管理界面,瀏覽所有的類別信息,點擊要刪除的類別,彈出的確定對話框,即可刪除該類別信息。2.程序效果圖如下圖4.6所示圖4.6類別信息刪除4.2.2商品信息管理商品信息錄入1.描述:在此頁面主要是輸入商品信息,包括商品編號、名稱、商品介紹、商品圖片、商品價格等,其中商品介紹這個地方,使用的是開源的在線文本編輯器fckEditor這個富文本框實現(xiàn)。是否為空也是通過form表單中的onsubmit="returncheckForm()來檢查。2.程序效果圖如圖4.7所示:圖4.7商品信息錄入3.在整個系統(tǒng)中所有涉及輸入日期的地方都是采用的mydata97這個日歷控件的方式來實現(xiàn),要在工程中導入Calendar.js文件,在java頁面開始引入<scripttype="text/javascript"src="../js/calendar.js"></script>該js文件,在文本框的屬性定義中定義方法onclick="newCalendar().show(this);"即可。商品信息1.描述:管理員點擊左側的菜單“商品管理”,頁面跳轉到商品管理界面,調用后臺的商品Action類查詢出所有的商品信息,并把這些信息封轉到數(shù)據(jù)集合List中,綁定到request對象,然后頁面跳轉到相應的java,顯示出商品信息。2.程序效果圖如下圖4.8所示圖4.8商品信息管理頁面商品管理關鍵代碼:publicStringgoodsNoTejiaAdd(){ TGoodsgoods=newTGoods(); goods.setGoodsCatelogId(goodsCatelogId); goods.setGoodsName(goodsName); goods.setGoodsYanse(goodsYanse); goods.setGoodsMiaoshu(goodsMiaoshu); goods.setGoodsPic(fujian); goods.setGoodsShichangjia(goodsShichangjia); if(goodsTejia==0)// { goods.setGoodsTejia(goodsShichangjia);// goods.setGoodsIsnottejia("no"); } else { goods.setGoodsTejia(goodsTejia); goods.setGoodsIsnottejia("yes"); } goods.setGoodsKucun(goodsKucun); goods.setGoodsDel("no"); goodsDAO.save(goods); this.setMessage("操作成功"); this.setPath("goodsManaNoTejia.action"); return"succeed"; } publicStringgoodsNoTejiaDel() { TGoodsgoods=goodsDAO.findById(goodsId); goods.setGoodsDel("yes"); goodsDAO.attachDirty(goods); this.setMessage("操作成功"); this.setPath("goodsManaNoTejia.action"); return"succeed"; } publicStringgoodsManaNoTejia() { Stringsql="fromTGoodswheregoodsDel='no'orderbygoodsIsnottejia"; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql); for(inti=0;i<goodsList.size();i++) { TGoodsgoods=(TGoods)goodsList.get(i); System.out.println(goods.getGoodsCatelogId()); goods.setGoodsCatelogName(catelogDAO.findById(goods.getGoodsCatelogId()).getCatelogName()); } Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("goodsList",goodsList); returnActionSupport.SUCCESS; } publicStringgoodsShezhiTejia() { TGoodsgoods=goodsDAO.findById(goodsId); goods.setGoodsIsnottejia("yes"); goods.setGoodsTejia(goodsTejia); goodsDAO.attachDirty(goods); returnActionSupport.SUCCESS; } publicStringgoodsKucun() { Stringsql="fromTGoodswheregoodsDel='no'orderbygoodsIsnottejia"; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("goodsList",goodsList); returnActionSupport.SUCCESS; } publicStringgoodsRuku() { TGoodsgoods=goodsDAO.findById(goodsId); goods.setGoodsKucun(goods.getGoodsKucun()+rukushuliang); goods.setGoodsTejia(goodsTejia); goodsDAO.attachDirty(goods); returnActionSupport.SUCCESS; } publicStringgoodsDetailHou() { Maprequest=(Map)ServletActionContext.getContext().get("request"); TGoodsgoods=goodsDAO.findById(goodsId); request.put("goods",goods); returnActionSupport.SUCCESS; } publicStringgoodsDetail() { Maprequest=(Map)ServletActionContext.getContext().get("request"); TGoodsgoods=goodsDAO.findById(goodsId); request.put("goods",goods); returnActionSupport.SUCCESS; } 4.2.3會員信息管理會員信息管理1.描述:游客訪問該站點的時候,可以注冊成為會員,管理員登陸后可以管理會員信息,點擊左側的“會員管理“,頁面調轉中后臺的是java類userAction,在此類中,讀取數(shù)據(jù)庫中,提取會員的信息,綁定到request對象,再輸出到相應的java顯示頁面頁面。2.程序效果圖如圖4.9所示:圖4.9會員信息管理會員管理核心代碼:publicStringuserDel(){ TUseruser=userDAO.findById(userId); user.setUserDel("yes"); userDAO.attachDirty(user); this.setMessage("刪除成功"); this.setPath("userMana.action"); return"succeed";} publicStringuserXinxi() { TUseruser=userDAO.findById(userId); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("user",user); returnActionSupport.SUCCESS; } publicStringuserMana() { ListuserList=userDAO.findAll(); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("userList",userList); returnActionSupport.SUCCESS; }4.2.4訂單管理查詢1.描述:管理員點擊左側的菜單“訂單管理”,頁面跳轉到訂單管理界面,調用后臺的訂單Action類查詢出所有的訂單信息,并把這些信息封轉到數(shù)據(jù)集合List中,綁定到request對象,然后頁面跳轉到相應的java,顯示出訂單信息。2.程序效果圖如圖4.12所示:圖4.12查詢訂單信息1.描述:管理員點擊左側的菜單“訂單管理”,頁面跳轉到訂單管理界面,調用后臺的訂單Action類查詢出所有的訂單信息,并把這些信息封轉到數(shù)據(jù)集合List中,綁定到request對象,然后頁面跳轉到相應的java,顯示出訂單信息。點擊要查看的訂單信息,彈出訂單名細查看窗口,查看該訂單的詳細內容。2.程序效果圖如圖4.13所示:圖4.13訂單名細.描述:管理員點擊左側的菜單“訂單管理”,頁面跳轉到訂單管理界面,調用后臺的訂單Action類查詢出所有的訂單信息,并把這些信息封轉到數(shù)據(jù)集合List中,綁定到request對象,然后頁面跳轉到相應的java,顯示出訂單信息。點擊未受理的訂單信息,點擊確定對話框,完成訂單受理操作。2.程序效果圖如圖4.14所示:圖4.14訂單受理訂單管理關鍵代碼publicStringmyOrder() { Mapsession=ServletActionContext.getContext().getSession(); TUseruser=(TUser)session.get("user"); Stringsql="fromTOrderwhereorderUserId="+user.getUserId(); ListorderList=orderDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("orderList",orderList); returnActionSupport.SUCCESS; } publicStringorderMana() { Stringsql="fromTOrderorderbyorderUserId"; ListorderList=orderDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("orderList",orderList); returnActionSupport.SUCCESS; } publicStringorderDel()//用戶自己刪除訂單 { TOrderorder=orderDAO.findById(orderId); orderDAO.delete(order); Mapsession=ServletActionContext.getContext().getSession(); TUseruser=(TUser)session.get("user"); this.setMessage("刪除成功"); this.setPath("myOrder.action?userId="+user.getUserId()); return"succeed"; } publicStringorderDelByAd()//管理員刪除訂單 { TOrderorder=orderDAO.findById(orderId); orderDAO.delete(order); Stringsql="deletefromTOrderItemwhereorderId="+orderId; orderItemDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("刪除成功"); this.setPath("orderMana.action"); return"succeed"; } publicStringorderShouli() { TOrderorder=orderDAO.findById(orderId); order.setOrderZhuangtai("yes");//已經(jīng)受理訂單 orderDAO.attachDirty(order); this.setMessage("受理訂單成功"); this.setPath("orderMana.action"); return"succeed"; } publicStringorderDetail() { Stringsql="fromTOrderItemwhereorderId="+orderId; ListorderItemList=orderItemDAO.getHibernateTemplate().find(sql); for(inti=0;i<orderItemList.size();i++) { TOrderItemorderItem=(TOrderItem)orderItemList.get(i); orderItem.setGoods(goodsDAO.findById(orderItem.getGoodsId())); } Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("orderItemList",orderItemList); returnActionSupport.SUCCESS; } 4.2.5修改密碼1.描述:輸入用戶名和用戶的原有密碼,輸入新密碼以后點擊修改按鈕即可修改密碼成功。2.程序效果圖如圖4.14所示:圖4.14修改密碼4.2.6退出系統(tǒng)1.描述:點此按鈕回到系統(tǒng)的主頁面。2.關鍵代碼:主要是通過javascript語句來實現(xiàn),item_word[8][4]="退出系統(tǒng)";item_link[8][4]="javascript:window.open('../index.java','_self')";4.3普通用戶模塊4.3.1系統(tǒng)主頁面實現(xiàn)1.描述:頁面的上方顯示的是該網(wǎng)站的logo和當前的時間,下方主要部分是信息顯示區(qū)域,左側部分是通知公告,管理員發(fā)布的信息公告都可以在此點擊后鏈接到相應的信息頁面查看具體通知公告,左上方是登陸模塊,用戶必須輸入正確的用戶名、密碼和驗證碼后才能進入系統(tǒng),做下方方是一個商品類別信息。2.程序運行效果圖如圖4.15所示:圖4.15系統(tǒng)主頁面設計4.3.2商品類別查詢1.描述:普通用戶點擊導航欄的“類別查詢”。調用后臺的java類catelogAction查詢所有的類別信息,并綁定這些信息到request對象中,在顯示層java展示出來,然后用戶點擊類別名稱,即可顯示該類別的信息。2.程序效果圖如圖4.16所示:圖4.16類別查詢界面設計4.3.3用戶注冊1.描述:對于游客,至于瀏覽的功能,如果想進一步使用本系統(tǒng),比如說購買商品、在線下訂單等,首先需要注冊一個合法的賬號,然后登陸后,方能使用,點擊導航欄菜單“免費注冊”,調用js的open()方法,彈出注冊頁面,輸入相關正確信息后點擊注冊按鈕即可完成注冊,如果是沒有輸入完整的信息,或都會給出相應的錯誤提示,不能錄入成功。輸入數(shù)據(jù)都通過form表單中定義的方法onsubmit="returncheckForm()"來檢查,checkForm()函數(shù)中是各種的校驗輸入數(shù)據(jù)的方式。2.程序效果圖如圖4.17所示:圖4.17用戶注冊界面設計4.3.4用戶購物1.描述:用戶注冊賬號并成功登錄商城后,通過主頁的商品展示或按商品類別找到想要購買的商品,點擊商品圖片,打開商品詳細信息界面,瀏覽商品的具體信息,如果想要購買該商品,輸入購買數(shù)量,點擊購買按鈕,完成商品購買操作。2.程序效果圖如圖4.19所示:圖4.20購買商品購買商品關鍵代碼publicStringaddToCart() { TGoodsgoods=goodsDAO.findById(goodsId); TOrderItemorderItem=newTOrderItem(); orderItem.setGoods(goods); orderItem.setGoodsQuantity(quantity); Mapsession=ServletActionContext.getContext().getSession(); Cartcart=(Cart)session.get("cart"); cart.addGoods(goodsId,orderItem); session.put("cart",cart); //this.setMessage(""); this.setPath("myCart.action"); return"succeed"; }4.3.5購物車管理1.描述:和超市購物一樣,用戶購買的商品暫時存放在購物車中,點擊菜單中的“我的購車”,即可查看當用戶購物車中的內容,用戶可以實現(xiàn)商品數(shù)量的增加、減少,刪除某一件商品和清空購物車操作。購物車管理采用AJAX技術實現(xiàn),即上述所說操作,均通過AJAX方式異步處理,頁面無任何刷新,后臺處理完成后,前臺只顯示最終的操作結果。2.程序效果圖如圖4.21、圖4.22所示,原本購買兩件商品,總金額是1萬元,將數(shù)量改為1后,由AJAX異步處理,前臺顯示一張正在處理的動態(tài)圖片,處理完成后,前臺購物車內的總金額自動變?yōu)?000。圖4.21修改購買數(shù)量購物車管理關鍵代碼publicStringmodiNum(intgoodsId,intquantity) { try { Thread.sleep(1000); }catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); Cartcart=(Cart)session.getAttribute("cart"); cart.updateCart(goodsId,quantity); session.setAttribute("cart",cart); return"yes"; } publicStringdelGoodsFromCart(intgoodsId) { try { Thread.sleep(1000); }catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSessio
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年網(wǎng)店營銷工作計劃范文
- 全國粵教版信息技術七年級下冊第三章第一節(jié)《設計能走迷宮的機器人》說課稿
- 嬰幼兒用紙行業(yè)相關投資計劃提議范本
- 2025年普法依法治市工作計劃
- 玻璃布增強塑料相關行業(yè)投資方案
- 子宮收縮藥行業(yè)相關投資計劃提議范本
- 2025年大班保育老師工作計劃示例
- 2025年幼兒園中班學期計劃
- 財務風險防控機制計劃
- 建設工程產業(yè)營銷總結建設工程推廣打造企業(yè)形象
- 綿陽小升初數(shù)學試題-(綿中英才學校)
- 數(shù)據(jù)中心數(shù)據(jù)中心建設項目電氣工程設計方案
- 廣東省深圳市2022年中考英語真題(含答案)
- 四川省瀘州市(2024年-2025年小學四年級語文)統(tǒng)編版期末考試(上學期)試卷及答案
- 4 地表流水的力量 (教學設計)-2023-2024學年 六年級下冊科學人教版
- 臨床彌漫性特發(fā)性骨肥厚癥(DISH)影像表現(xiàn)
- 【會議系統(tǒng)的設計與實現(xiàn)7300字(論文)】
- 中國慢性冠脈綜合征患者診斷及管理指南2024版解讀
- 2023三常規(guī)學校管理心得體會3篇
- 2024年全球有機硅行業(yè)總體規(guī)模、主要企業(yè)國內外市場占有率及排名
- 2024年湖南信息職業(yè)技術學院單招職業(yè)適應性測試題庫帶答案
評論
0/150
提交評論