網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) (2)
《網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) (2)》由會(huì)員分享,可在線閱讀,更多相關(guān)《網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) (2)(46頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 畢業(yè)設(shè)計(jì)(論文) 網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 院 別 計(jì)算機(jī)與通信工程學(xué)院 專業(yè)名稱 計(jì)算機(jī)科學(xué)與技術(shù) 班級(jí)學(xué)號(hào) 學(xué)生姓名 指導(dǎo)教師 2013年6月 10 日 網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 摘 要 隨著互聯(lián)網(wǎng)絡(luò)的發(fā)展,網(wǎng)上購(gòu)物越來(lái)越為人們所關(guān)注。網(wǎng)上購(gòu)物給用戶提供方便的購(gòu)買(mǎi)途徑,只要簡(jiǎn)單的網(wǎng)絡(luò)操作,足不出戶,即可送貨上門(mén),種類齊全,并具有完善的售后服務(wù)。同時(shí),在像當(dāng)當(dāng)網(wǎng)這樣的地方購(gòu)買(mǎi)商品,都能實(shí)現(xiàn)送貨上門(mén),貨到付款,使網(wǎng)上購(gòu)物的安全性得到了保障。隨著網(wǎng)絡(luò)購(gòu)物安全性和售后服務(wù)的加強(qiáng),網(wǎng)上購(gòu)物系統(tǒng)的
2、發(fā)展對(duì)提高人們生活水平方面具有十分重要的意義。 本文闡述了網(wǎng)上購(gòu)物系統(tǒng)的開(kāi)發(fā)與設(shè)計(jì)。設(shè)計(jì)采用現(xiàn)在比較流行的JSP網(wǎng)站開(kāi)發(fā)技術(shù),并考慮到網(wǎng)站所處理的數(shù)據(jù)的結(jié)構(gòu)特點(diǎn)及所學(xué)到的知識(shí),應(yīng)用MySQL數(shù)據(jù)庫(kù)系統(tǒng)作為網(wǎng)站的后臺(tái)數(shù)據(jù)庫(kù)。系統(tǒng)實(shí)現(xiàn)了網(wǎng)站的基本功能,包括客戶的注冊(cè)登錄、瀏覽網(wǎng)站信息、信息查詢、購(gòu)物并填寫(xiě)訂單。在頁(yè)面設(shè)計(jì)與制作中,對(duì)于頁(yè)面的基本格式,使用HTML語(yǔ)言寫(xiě)出框架,然后用MyEclipse在框架里面做詳細(xì)的設(shè)計(jì)。制作出了前臺(tái)信息發(fā)布網(wǎng)站和后臺(tái)管理維護(hù)系統(tǒng)。 這個(gè)網(wǎng)上購(gòu)物系統(tǒng)能幫助用戶對(duì)前臺(tái)網(wǎng)站進(jìn)行日常管理和信息發(fā)布;并具有占用系統(tǒng)資源少、信息量大、站點(diǎn)維護(hù)方便、便于擴(kuò)充和更新、易于繼
3、承和保護(hù)歷史數(shù)據(jù)等優(yōu)點(diǎn),同時(shí)此系統(tǒng)可以克服傳統(tǒng)銷售中地域、廣告宣傳、人力資源不足等限制,能很好地適應(yīng)網(wǎng)上銷售需求。 關(guān)鍵詞:網(wǎng)上購(gòu)物;JSP;MyEclipse The design and implementation of online shopping system
4、 Abstract With the development of Internet, online shopping is more and more attention by people. Online shopping the purchase way to provide users with convenient, as long as the simple network operation, never leave home, can be door-to-door delivery, variety complete, and has perfect
5、after-sales service. At the same time, in places like dangdang to buy goods, can realize door-to-door delivery, delivery payment, to guarantee the security of online shopping. The strengthening of security and after-sales service as the network shopping, online shopping system development to improve
6、 people's living standard has the very vital significance. This article elaborated the on-line shopping system development and design. Design USES now more popular JSP web development technology, and processing of data by considering the site structure and learned knowledge, using MySQL database sy
7、stem as background database website. System has realized the basic function of website, including customer registered login, information query, browse the web site information, shopping, and fill in the order. In the page design and production, for the basic format of the page, use HTML language to
8、write framework, then use MyEclipse in framework to do detailed design. Made out of the front desk information release site and background management maintenance system. The online shopping system can help users to the front desk for daily management and information release; And occupy less system
9、resources, informative, site maintenance convenient, easy to expand and update, easy to inherit and protect the historical data, etc, at the same time, this system can overcome the traditional sales in the region, advertising, human resources, lack of restrictions, can well to meet the needs of onli
10、ne sales. Keywords: online shopping; JSP; MyEclipse 目 錄 1 緒 論 1 1.1 課題的背景、目的與意義 1 1.2 國(guó)內(nèi)外現(xiàn)狀 1 1.3 論文所做工作及結(jié)構(gòu) 2 2 系統(tǒng)相關(guān)技術(shù)簡(jiǎn)介 4 2.1 JSP技術(shù) 4 2.2 MySQL 6 2.3 Tomcat 7 2.4 連接數(shù)據(jù)庫(kù)與JavaScript 8 2.5 CSS層 8 3 系統(tǒng)分析 9 3.1功能需求分析 9 3.2 可行性分析 10 3.2.1技術(shù)可行性分析 10 3.2.2經(jīng)濟(jì)可行性分析 10 3.2.3 社會(huì)
11、因素可行性分析 10 3.3性能需求分析 11 3.4 運(yùn)行環(huán)境及開(kāi)發(fā)工具 11 4 系統(tǒng)總體設(shè)計(jì) 12 4.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 12 4.2 功能模塊設(shè)計(jì) 12 4.2.1用戶管理 12 4.2.2 管理員管理 13 4.2.3 購(gòu)物車管理 13 4.3 數(shù)據(jù)庫(kù)設(shè)計(jì) 14 4.3.1 E-R圖 14 4.3.2基本表設(shè)計(jì) 15 5 系統(tǒng)實(shí)現(xiàn) 18 5.1 系統(tǒng)頁(yè)面的實(shí)現(xiàn) 18 5.2 前臺(tái)功能模塊實(shí)現(xiàn) 18 5.2.1用戶管理模塊 19 5.2.2購(gòu)物車模塊 22 5.2.3 訂單查詢模塊 25 5.3 后臺(tái)功能模塊的實(shí)現(xiàn) 25 5.3.1用戶管理模
12、塊 26 5.3.2添加商品模塊 26 5.3.3訂單信息管理模塊 27 5.3.4查詢用戶信息模塊 28 6 系統(tǒng)調(diào)試與實(shí)施 30 6.1 系統(tǒng)測(cè)試原理及測(cè)試準(zhǔn)則 30 6.1.1系統(tǒng)測(cè)試原理 30 6.1.2系統(tǒng)測(cè)試原則 31 6.2 系統(tǒng)測(cè)試的方法 31 6.3 本系統(tǒng)的測(cè)試 32 結(jié) 論 34 致 謝 35 參考文獻(xiàn) 36 附 錄 37 1 緒 論 1.1 課題的背景、目的與意義 計(jì)算機(jī)網(wǎng)絡(luò)的出現(xiàn)帶給了世界巨大的變化,從過(guò)去只面向?qū)I(yè)部門(mén)的信息傳送擴(kuò)展到現(xiàn)代生活的各個(gè)角落,它為世界的發(fā)展和變革做出了無(wú)可估量的貢獻(xiàn)。特別是在二十世
13、紀(jì)九十年代,美國(guó)政府提出“信息高速公路”計(jì)劃并付諸于實(shí)施以后,網(wǎng)絡(luò)漸漸的從人們極少了解的領(lǐng)域來(lái)到了全世界平常人的生活中。隨著計(jì)算機(jī)網(wǎng)絡(luò)的日益普及,電子商務(wù)已然已經(jīng)成為了一種潮流,網(wǎng)上購(gòu)物也是人人皆知的一種購(gòu)物方式。網(wǎng)上購(gòu)物有很多優(yōu)點(diǎn),首先,不管是企業(yè)還是客戶都節(jié)約了時(shí)間和成本,另外也方便進(jìn)行跨區(qū)域性的交易,再加上自己身為當(dāng)代大學(xué)生,深知校園生活中網(wǎng)上購(gòu)物的普遍以及快捷,因此,我選擇了網(wǎng)上購(gòu)物這個(gè)課題作為自己的畢設(shè),此系統(tǒng)成本比較低,而且功能和視覺(jué)方面能夠讓客戶一目了然,很快得就能上手,在最短的時(shí)間內(nèi)完成選、購(gòu)、定的流程。 作為信息傳輸?shù)拿浇?,它的高速,海量,及時(shí)與可接受的可靠性滿足了現(xiàn)代人們
14、對(duì)于需求的渴望。現(xiàn)在的網(wǎng)絡(luò)對(duì)于人們來(lái)說(shuō),已經(jīng)可以不再是單單獲得信息的意義,更反應(yīng)了現(xiàn)代人生活的理念,更為重要的是成為企業(yè)與政府傳達(dá)思想,介紹自身的平臺(tái)。 1.2 國(guó)內(nèi)外現(xiàn)狀 伴隨著Internet的蓬勃發(fā)展,網(wǎng)絡(luò)購(gòu)物中心作為電子商務(wù)的一種形式正以其高效、低成本的優(yōu)勢(shì),逐步成為新興的經(jīng)營(yíng)模式和理念,人們已不再滿足于信息瀏覽和發(fā)布,而是渴望著能夠充分享受網(wǎng)絡(luò)所帶來(lái)的更多的便利。的確,客戶足不出戶便可以方便快捷的選購(gòu)自己喜歡的商品,這正是網(wǎng)絡(luò)購(gòu)物中心為客戶帶來(lái)的好處。 敏銳的網(wǎng)絡(luò)商家當(dāng)然不會(huì)錯(cuò)過(guò)這樣絕好的機(jī)會(huì),越來(lái)越多的網(wǎng)站投身到提供網(wǎng)絡(luò)購(gòu)物服務(wù)的行列中來(lái),一個(gè)基于Internet的全球電子商
15、務(wù)框架正在形成。 在美、日等信息化程度較高的國(guó)家和地區(qū),網(wǎng)絡(luò)商店發(fā)展速度迅猛,美國(guó)的世界級(jí)超一流的零售商,如沃爾瑪、家庭倉(cāng)儲(chǔ)、科羅格、J.C培尼等紛紛擠身于網(wǎng)絡(luò)經(jīng)商的行列。調(diào)查表明:美國(guó)的家庭已越來(lái)越習(xí)慣于在家中從網(wǎng)上購(gòu)物。 在我國(guó),網(wǎng)上購(gòu)物從無(wú)到有也不過(guò)短短幾年時(shí)間。我國(guó)第一家網(wǎng)上購(gòu)物發(fā)生在1996年,燕莎友誼商場(chǎng)首次通過(guò)網(wǎng)上商城售出一個(gè)景泰藍(lán),雖然貨款的支付不是在網(wǎng)上進(jìn)行的,但這畢竟為我國(guó)零售業(yè)奏出了網(wǎng)上購(gòu)物的先聲。根據(jù)CNNIC的統(tǒng)計(jì)結(jié)果,截止2004年1月中國(guó)有互聯(lián)網(wǎng)用戶7950萬(wàn)人,而又有40.7%以上的網(wǎng)民在過(guò)去的一年里有過(guò)網(wǎng)上購(gòu)物經(jīng)歷,這就說(shuō)明中國(guó)有網(wǎng)上購(gòu)物的用戶達(dá)是3235
16、.7萬(wàn)人,并且這一數(shù)字還在以17%左右的速度增長(zhǎng),到2006年中國(guó)網(wǎng)上購(gòu)物用戶將達(dá)到6962萬(wàn)人,這說(shuō)明在中國(guó)發(fā)展網(wǎng)上購(gòu)物具有良好的群眾基礎(chǔ),網(wǎng)上購(gòu)物方式日趨被大家所接受。 在最近一段時(shí)間里,我也查了一些關(guān)于網(wǎng)上購(gòu)物的信息。有60.4%的網(wǎng)站屬于企業(yè)網(wǎng)站,可見(jiàn)如今企業(yè)都將網(wǎng)站作為推廣自己的重要手段。其次是個(gè)人網(wǎng)站。而政府部門(mén)的網(wǎng)站占到4.4%。 但是,另有調(diào)查顯示,將近75%的企業(yè)的網(wǎng)站每天的點(diǎn)擊率在200次以下,更有51.5%的企業(yè)網(wǎng)站的點(diǎn)擊率不足50次,僅有8.6%的企業(yè)網(wǎng)站的點(diǎn)擊率每天超過(guò)1000次。這說(shuō)明,做好一個(gè)網(wǎng)站,做出網(wǎng)站的特色把信息與新聞相結(jié)合來(lái)吸引人觀看是一個(gè)非常重要的問(wèn)
17、題。 另外,作為信息、新聞傳播的傳統(tǒng)模式的報(bào)刊業(yè)也將目光和精力投入到網(wǎng)絡(luò)網(wǎng)站上來(lái)。毫無(wú)疑問(wèn),高速,海量的信息傳輸對(duì)報(bào)刊業(yè)也是巨大的刺激。2005第五屆中國(guó)網(wǎng)絡(luò)媒體論壇中提出到“順應(yīng)數(shù)字化潮流,地方報(bào)業(yè)踏上網(wǎng)上之路”。 因此,設(shè)計(jì)一個(gè)具有電子商務(wù)功能的企業(yè)網(wǎng)站具有非常好的開(kāi)發(fā)與應(yīng)用前景。 1.3 論文所做工作及結(jié)構(gòu) 這次設(shè)計(jì)實(shí)現(xiàn)了一個(gè)網(wǎng)上購(gòu)物網(wǎng)站。開(kāi)發(fā)出的網(wǎng)絡(luò)購(gòu)物中心系統(tǒng)基于MySQL數(shù)據(jù)庫(kù),采用國(guó)際先進(jìn)的JSP進(jìn)行開(kāi)發(fā),具有很高的穩(wěn)定性和安全性。這個(gè)網(wǎng)上購(gòu)物系統(tǒng)所需要的功能從用戶角度進(jìn)行劃分,可以分為前臺(tái)用戶功能和后臺(tái)管理功能。用戶功能主要提供給購(gòu)物的用戶使用,包括用戶的注冊(cè)、登錄,購(gòu)
18、物車,查看訂單等;后臺(tái)管理功能主要提供給系統(tǒng)的管理人員使用,包括對(duì)用戶、商品、訂單的管理。用戶注冊(cè)后,登陸網(wǎng)站的用戶可以在線查看、訂購(gòu)產(chǎn)品,并可在論壇中與其他用戶進(jìn)行交流及提出意見(jiàn)等。這些部分用JSP設(shè)計(jì)頁(yè)面及連接,使用數(shù)據(jù)庫(kù)來(lái)建立相關(guān)的表,以便于對(duì)其進(jìn)行查看、修改或刪除。在網(wǎng)站設(shè)計(jì)中,管理員完成對(duì)網(wǎng)站的維護(hù)與管理的工作。使用數(shù)據(jù)庫(kù)中權(quán)限的功能對(duì)管理員設(shè)置權(quán)限,管理員可以對(duì)商品信息進(jìn)行新增,修改及刪除,也可以對(duì)訂單信息進(jìn)行處理,同時(shí)管理員也可以對(duì)用戶信息進(jìn)行管理。 本文分為六章,通過(guò)對(duì)這個(gè)網(wǎng)站的分析、設(shè)計(jì)與實(shí)現(xiàn)的過(guò)程的全面介紹來(lái)展示系統(tǒng)的全部特性。第一章緒論描述了課題的背景、目的與意義,介紹
19、了國(guó)內(nèi)外現(xiàn)狀,進(jìn)而總結(jié)出此次研究工作的內(nèi)容。第二章是在系統(tǒng)設(shè)計(jì)中的一些相關(guān)技術(shù)簡(jiǎn)介。第三章系統(tǒng)分析首先從幾個(gè)角度分析了系統(tǒng)開(kāi)發(fā)的可行性。闡述了系統(tǒng)在實(shí)際應(yīng)用中的價(jià)值,然后進(jìn)行了需求分析。第四章的系統(tǒng)總體設(shè)計(jì)在明確了系統(tǒng)設(shè)計(jì)原則下,進(jìn)行了功能模塊設(shè)計(jì)。接著進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),首先針對(duì)系統(tǒng)中的數(shù)據(jù)設(shè)計(jì)出實(shí)體間的關(guān)系,然后描述了數(shù)據(jù)庫(kù)中基本表的設(shè)計(jì)。第五章的系統(tǒng)實(shí)現(xiàn)闡述了系統(tǒng)頁(yè)面及其邏輯功能的實(shí)現(xiàn),重點(diǎn)描述了前臺(tái)與后臺(tái)的各個(gè)功能模塊的實(shí)現(xiàn)過(guò)程,對(duì)主要的原理和技術(shù)進(jìn)行了詳細(xì)的說(shuō)明,并列出了一些典型的邏輯的程序流程圖進(jìn)行說(shuō)明。第六章系統(tǒng)調(diào)試與實(shí)施介紹了系統(tǒng)的各項(xiàng)調(diào)試指標(biāo),分析了調(diào)試的過(guò)程和結(jié)果。最后是參考文
20、獻(xiàn)和致謝。參考文獻(xiàn)中列出了本次畢業(yè)設(shè)計(jì)中所用到的參考資料和文中所引用到的定義與解釋的出處。致謝中對(duì)在本次畢業(yè)設(shè)計(jì)中給予指導(dǎo)和幫助的老師和同學(xué)表示由衷的感謝。 2 系統(tǒng)相關(guān)技術(shù)簡(jiǎn)介 2.1 JSP技術(shù) 本系統(tǒng)采用JSP技術(shù)開(kāi)發(fā),JSP是Sun屬下JavaSoft公司推出的技術(shù),使用的Java語(yǔ)言是ASP、PHP和JSP三者中最新的技術(shù)。它以JavaServlet技術(shù)為基礎(chǔ),又在許多方面作了改進(jìn),并且充分借鑒了ASP和PHP一些合理的地方。JSP技術(shù)是以JAVA語(yǔ)言為基礎(chǔ)的,可以使用Ja
21、vaBeans組件和自定義標(biāo)簽,因此具有良好的擴(kuò)展性。Jsp有九個(gè)內(nèi)置對(duì)象:request, response, session, application, out, page, config, exception, pagecontex, request 對(duì)象是 javax.servlet.httpServletRequest類型的對(duì)象。 該對(duì)象代表了客戶端的請(qǐng)求信息,主要用于接受通過(guò)HTTP協(xié)議傳送到服務(wù)器的數(shù)據(jù)。(包括頭信息、系統(tǒng)信息、請(qǐng)求方式以及請(qǐng)求參數(shù)等)。request對(duì)象的作用域?yàn)橐淮握?qǐng)求。 response 代表的是對(duì)客戶端的響應(yīng),主要是將JSP容器處理過(guò)的對(duì)象傳回到客戶端
22、。response對(duì)象也具有作用域,它只在JSP頁(yè)面內(nèi)有效。 Session:從一個(gè)客戶打開(kāi)瀏覽器并連接到服務(wù)器開(kāi)始,到客戶關(guān)閉瀏覽器離開(kāi)這個(gè)服務(wù)器結(jié)束,被稱為一個(gè)會(huì)話。當(dāng)一個(gè)客戶訪問(wèn)一個(gè)服務(wù)器時(shí),可能會(huì)在這個(gè)服務(wù)器的幾個(gè)頁(yè)面之間反復(fù)連接,反復(fù)刷新一個(gè)頁(yè)面,服務(wù)器應(yīng)當(dāng)通過(guò)某種辦法知道這是同一個(gè)客戶,這就需要session對(duì)象。session對(duì)象的ID:當(dāng)一個(gè)客戶首次訪問(wèn)服務(wù)器上的一個(gè)JSP頁(yè)面時(shí),JSP引擎產(chǎn)生一個(gè)session對(duì)象,同時(shí)分配一個(gè)String類型的ID號(hào),JSP引擎同時(shí)將這個(gè)ID號(hào)發(fā)送到客戶端,存放在Cookie中,這樣session對(duì)象和客戶之間就建立了一一對(duì)應(yīng)的關(guān)系。當(dāng)客
23、戶再訪問(wèn)連接該服務(wù)器的其他頁(yè)面時(shí),不再分配給客戶新的session對(duì)象,直到客戶關(guān)閉瀏覽器后,服務(wù)器端該客戶的session對(duì)象才取消,并且和客戶的會(huì)話對(duì)應(yīng)關(guān)系消失。當(dāng)客戶重新打開(kāi)瀏覽器再連接到該服務(wù)器時(shí),服務(wù)器為該客戶再創(chuàng)建一個(gè)新的session對(duì)象。session對(duì)象存在一定時(shí)間過(guò)期問(wèn)題,所以存在session中的名值對(duì)會(huì)在一定時(shí)間后失去,可以通過(guò)更改session有效時(shí)間來(lái)避免這種情況。同時(shí)編程時(shí)盡量避免將大量有效信息存儲(chǔ)在session中,request是一個(gè)不錯(cuò)的替代對(duì)象。 服務(wù)器啟動(dòng)后就產(chǎn)生了這個(gè)application對(duì)象,當(dāng)客戶在所訪問(wèn)的網(wǎng)站的各個(gè)頁(yè)面之間瀏覽時(shí),這個(gè)appli
24、cation對(duì)象都是同一個(gè),直到服務(wù)器關(guān)閉。但是與session不同的是,所有客戶的application對(duì)象都是同一個(gè),即所有客戶共享這個(gè)內(nèi)置的application對(duì)象。 application對(duì)象常用方法:(1)public void setAttribute(String key,Object obj): 將參數(shù)Object指定的對(duì)象obj添加到application對(duì)象中,并為添加的對(duì)象指定一個(gè)索引關(guān)鍵字。(2)public Object getAttribute(String key): 獲取application對(duì)象中含有關(guān)鍵字的對(duì)象。 out 對(duì)象用于在Web瀏覽器內(nèi)輸出信
25、息,并且管理應(yīng)用服務(wù)器上的輸出緩沖區(qū)。在使用 out 對(duì)象輸出數(shù)據(jù)時(shí),可以對(duì)數(shù)據(jù)緩沖區(qū)進(jìn)行操作,及時(shí)清除緩沖區(qū)中的殘余數(shù)據(jù),為其他的輸出讓出緩沖空間。待數(shù)據(jù)輸出完畢后,要及時(shí)關(guān)閉輸出流。 page 對(duì)象代表JSP本身,只有在JSP頁(yè)面內(nèi)才是合法的。 page隱含對(duì)象本質(zhì)上包含當(dāng)前 Servlet接口引用的變量,類似于Java編程中的 this 指針。 config 對(duì)象的主要作用是取得服務(wù)器的配置信息。通過(guò) pageContext對(duì)象的 getServletConfig() 方法可以獲取一個(gè)config對(duì)象。當(dāng)一個(gè)Servlet 初始化時(shí),容器把某些信息通過(guò) config對(duì)象傳遞給這個(gè) S
26、ervlet。 開(kāi)發(fā)者可以在web.xml 文件中為應(yīng)用程序環(huán)境中的Servlet程序和JSP頁(yè)面提供初始化參數(shù)。 java.lang.Throwable 的實(shí)例,該實(shí)例代表其他頁(yè)面中的異常和錯(cuò)誤。只有當(dāng)頁(yè)面是錯(cuò)誤處理頁(yè)面,即編譯指令page 的isErrorPage 屬性為true 時(shí),該對(duì)象才可以使用。常用的方法有g(shù)etMessage()和printStackTrace()等。 pageContext 對(duì)象的作用是取得任何范圍的參數(shù),通過(guò)它可以獲取 JSP頁(yè)面的out、request、reponse、session、application 等對(duì)象。pageContext對(duì)象的創(chuàng)建和初始
27、化都是由容器來(lái)完成的,在JSP頁(yè)面中可以直接使用 pageContext對(duì)象。 總的來(lái)說(shuō),JSP已成為目前主流的動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)之一。JSP的優(yōu)點(diǎn)如下: (1)借助JSP技術(shù),Web網(wǎng)頁(yè)設(shè)計(jì)人員可以使用HTML或者XML標(biāo)記來(lái)設(shè)計(jì)和風(fēng)格化Web頁(yè)面,使用JSP標(biāo)記來(lái)生成動(dòng)態(tài)Web頁(yè)面。在服務(wù)器端,JSP引擎負(fù)責(zé)解釋JSP標(biāo)記和腳本,生產(chǎn)請(qǐng)求的內(nèi)容,然后將結(jié)果以HTML頁(yè)面等形式發(fā)送回瀏覽器。這樣開(kāi)發(fā)者可以保護(hù)自己的核心代碼,同時(shí)可以保證任何Web瀏覽器的高度兼容性。 (2)JSP頁(yè)面可借助可重用的、跨平臺(tái)的組件(JavaBean),來(lái)執(zhí)行Web應(yīng)用所要求的極為復(fù)雜的業(yè)務(wù)處理。能夠共享和交
28、換調(diào)用一般操作的組件,或者讓這些組件被別的開(kāi)發(fā)人員或者開(kāi)發(fā)團(tuán)隊(duì)所使用。 (3)通過(guò)開(kāi)發(fā)定制化的標(biāo)簽庫(kù)等方法,JSP技術(shù)可以支持動(dòng)態(tài)擴(kuò)展技術(shù)。 (4)作為Java的一個(gè)重要組成部分,JSP技術(shù)能夠支持高度復(fù)雜的、基于Web的企業(yè)級(jí)應(yīng)用。JSP技術(shù)可以輕松地與現(xiàn)有多種應(yīng)用體系架構(gòu)整合,可以充分利用已有開(kāi)發(fā)工具和技巧,并擴(kuò)展到企業(yè)級(jí)分布式應(yīng)用環(huán)境。 此外,JSP技術(shù)無(wú)論是在跨平臺(tái)特性、運(yùn)行效率、企業(yè)級(jí)軟件開(kāi)發(fā)還是商業(yè)支持方面都具有優(yōu)勢(shì),從而使其成為目前進(jìn)行動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)的最佳工具之一。 2.2 MySQL MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQLAB公司。在2008年
29、1月16號(hào)被Sun公司收購(gòu)。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。使用MySQL數(shù)據(jù)庫(kù)有以下下的優(yōu)點(diǎn): 1.使用C和C++編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng) 3.為多種編程語(yǔ)言提供了API。這些編程語(yǔ)言包括C、C++、Pytho
30、n、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 4.支持多線程,充分利用CPU資源 5.優(yōu)化的SQL查詢算法,有效地提高查詢速度 6.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中。 7.提供多語(yǔ)言支持,常見(jiàn)的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。 8.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑。 9.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具。 10.支持大型的數(shù)據(jù)庫(kù)??梢蕴幚?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。 2
31、.3 Tomcat Tomcat是Apache公司組織開(kāi)發(fā)飛一種JSP引擎,由于自身具有Web服務(wù)器,可以作為獨(dú)立的Web服務(wù)器使用。與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個(gè)WAR(WebArchive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個(gè)壓縮包。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來(lái)組織:通常其根目錄下包含有HTML和JSP文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè)WEB-INF目錄,這個(gè)目錄很重要。通常在WEB-INF目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下
32、則包含編譯好的Servlet類和JSP或Servlet所依賴的其它類(如JavaBean)。 在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問(wèn)這個(gè)應(yīng)用的JSP時(shí),通常第一次會(huì)很慢,因?yàn)門(mén)omcat要將JSP轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問(wèn)將會(huì)很快。另外Tomcat也提供了一個(gè)應(yīng)用:manager,訪問(wèn)這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲(chǔ)在一個(gè)XML文件中。通過(guò)這個(gè)應(yīng)用,輔助于FTP,你可以在遠(yuǎn)程通過(guò)Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。 Tomcat不僅僅是
33、一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理HTML頁(yè)面。但是與Apache相比,它的處理靜態(tài)HTML的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)HTML,而Tomcat處理JSP和Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。 另外,Tomcat提供Realm支持。Realm類似于Unix里面的group。在Unix中,一個(gè)group對(duì)應(yīng)著系統(tǒng)的一定資源,某個(gè)group不能訪問(wèn)不屬于它的資源。Tomcat用Realm來(lái)對(duì)不同的應(yīng)用(類似系統(tǒng)資源)賦給不同的用戶(類似group)。沒(méi)有權(quán)限
34、的用戶則不能訪問(wèn)這個(gè)應(yīng)用。 基于Tomcat的開(kāi)發(fā)其實(shí)主要是JSP和Servlet的開(kāi)發(fā),開(kāi)發(fā)JSP和Servlet非常簡(jiǎn)單,你可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。我們這里要提到另外一個(gè)工具Ant,Ant也是Jakarta中的一個(gè)子項(xiàng)目,它所實(shí)現(xiàn)的功能類似于Unix中的make。你需要寫(xiě)一個(gè)build.xml文件,然后運(yùn)行Ant就可以完成xml文件中定義的工作,這個(gè)工具對(duì)于一個(gè)大的應(yīng)用來(lái)說(shuō)非常好,我們只需在xml中寫(xiě)很少的東西就可以將其編譯并打包成WAR。事實(shí)上,在很多應(yīng)用服務(wù)器的發(fā)布中都包含了Ant。另外,在JSP1.2中,可以利用標(biāo)簽庫(kù)實(shí)現(xiàn)Java代碼與HTML文
35、件的分離,使JSP的維護(hù)更方便。 Tomcat也可以與其它一些軟件集成起來(lái)實(shí)現(xiàn)更多的功能。如與上面提到的JBoss集成起來(lái)開(kāi)發(fā)EJB,與Cocoon(Apache的另外一個(gè)項(xiàng)目)集成起來(lái)開(kāi)發(fā)基于XML的應(yīng)用,與OpenJMS集成起來(lái)開(kāi)發(fā)JMS應(yīng)用,除了我們提到的這幾種,可以與Tomcat集成的軟件還有很多。 Tomcat確實(shí)是一個(gè)很好的工具,不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_(kāi)放性。如今,開(kāi)源軟件越來(lái)越收到人們的重視,Linux就是一個(gè)成功的典型。 2.4 連接數(shù)據(jù)庫(kù)與JavaScript JDBC(Java DataBase Connectivity)是Sun公司制定的Java鏈接
36、數(shù)據(jù)庫(kù)技術(shù)。在安裝好數(shù)據(jù)庫(kù)后JSP并不能直接與數(shù)據(jù)庫(kù)連接,這里選擇利用第三方JDBC驅(qū)動(dòng)程序連接數(shù)據(jù)庫(kù)。在加載了JDBC驅(qū)動(dòng)程序,建立了數(shù)據(jù)庫(kù)的URL后,創(chuàng)建一個(gè)DBUtil.java的文件,通過(guò)調(diào)用DriverManager類的getConnection方法與db_Business數(shù)據(jù)庫(kù)連接。在getConnection方法的實(shí)現(xiàn)中,聲明數(shù)據(jù)庫(kù)名稱為db_Business。這樣,在其他的Java文件和頁(yè)面中聲明調(diào)用或包含了DBUtil.java文件后,都可以對(duì)數(shù)據(jù)庫(kù)操作了。 JavaScript也叫小腳本語(yǔ)言,是一種基于對(duì)象和事件驅(qū)動(dòng)并具有安全性能的腳本語(yǔ)言,使用它的目的是與HTML超文本
37、標(biāo)識(shí)語(yǔ)言、Java腳本語(yǔ)言一起實(shí)現(xiàn)在一個(gè)網(wǎng)頁(yè)中鏈接多個(gè)對(duì)象,與網(wǎng)絡(luò)客戶交互作用,從而可以開(kāi)發(fā)客戶端的應(yīng)用程序。它是通過(guò)嵌入或調(diào)入在標(biāo)準(zhǔn)的HTML語(yǔ)言中實(shí)現(xiàn)的。 2.5 CSS層 CSS層疊樣式表(Cascading Style Sheet)是一系列格式規(guī)則,它們控制網(wǎng)頁(yè)內(nèi)容的外觀。使用CSS可以非常靈活并更好地控制具體的頁(yè)面外觀,從精確的布局定位到特定的字體和樣式,并能極大的方便網(wǎng)頁(yè)制作的工作。這次設(shè)計(jì)中就學(xué)習(xí)使用了CSS層疊樣式表,在HTML文文檔外部將一系列CSS規(guī)則存儲(chǔ)到一個(gè).CSS文件中。例如創(chuàng)建了一個(gè)名為body的選擇器。利用它來(lái)統(tǒng)一設(shè)計(jì)網(wǎng)站內(nèi)網(wǎng)頁(yè)背景及外部框架的樣式。在聲明中規(guī)
38、定了頁(yè)面的背景、滾動(dòng)條的顏色樣式等。還用.br和.wenbenkuang兩個(gè)選擇器確定輸出文本框時(shí)的樣式。由于CSS已經(jīng)規(guī)定聲明部分中的屬性及其取值范圍,所以對(duì)于我這樣初學(xué)者的難點(diǎn)就是如何找到合適的屬性來(lái)實(shí)現(xiàn)頁(yè)面設(shè)計(jì)。 3 系統(tǒng)分析 3.1功能需求分析 根據(jù)網(wǎng)站功能上的要求,需要設(shè)計(jì)出網(wǎng)站的用戶管理與產(chǎn)品瀏覽及購(gòu)物車管理。用戶在用戶管理中選購(gòu)物品后生成訂單,網(wǎng)站的后臺(tái)需要能相應(yīng)的做出更新或修改。根據(jù)以上的想法,設(shè)計(jì)出網(wǎng)站的功能,用戶相關(guān)功能及簡(jiǎn)單說(shuō)明如下: (1) 用戶注冊(cè)、登錄;用戶注冊(cè)時(shí)如果有重復(fù)則提示注冊(cè)不成功,登錄時(shí)和數(shù)據(jù)庫(kù)核對(duì)用戶名和密碼,如果正確則可以登錄,否則提
39、示錯(cuò)誤。 (2) 商品查看及選購(gòu);用戶可以進(jìn)入網(wǎng)站選購(gòu)商品放入購(gòu)物車,無(wú)論用戶是否處于登錄狀態(tài)。商品可以按照價(jià)格由高到低,或者由低到高,折扣由高到低,上裝下裝,戶內(nèi)與戶外進(jìn)行分類,用戶選擇好自己想要的圖書(shū)后可以添加到購(gòu)物車,并在購(gòu)物車中對(duì)商品進(jìn)行一些操作,如:核對(duì)并修改信息、核對(duì)庫(kù)存、數(shù)量、金額等。 (3) 訂單查詢;用戶登錄網(wǎng)站后,可以查看個(gè)人賬戶,從中獲取訂單消息。 (4) 個(gè)人信息修改;用戶登錄以后,可以通過(guò)個(gè)人賬戶對(duì)個(gè)人信息進(jìn)行修改。 管理員管理相關(guān)功能及簡(jiǎn)單說(shuō)明如下: (1) 查詢商品;管理員可以進(jìn)入商品的數(shù)據(jù)庫(kù)進(jìn)行商品查詢。 (2) 添加商品;首先進(jìn)入數(shù)據(jù)庫(kù)添加上平單價(jià)
40、,數(shù)量等信息,然后制作html網(wǎng)頁(yè),添加到網(wǎng)站上。 (3) 查詢用戶信息;管理員可以登錄用戶數(shù)據(jù)庫(kù)進(jìn)行用戶信息查詢。 (4) 管理訂單信息;將用戶所下的訂單導(dǎo)入數(shù)據(jù)庫(kù),建立一個(gè)訂單表,從中查看所有用戶的訂單信息,并按時(shí)間排序。 購(gòu)物車管理功能包括: (1)核對(duì)用戶信息;若用戶登錄了,則根據(jù)用戶名來(lái)核對(duì)用戶信息,如果用戶沒(méi)有登錄,則根據(jù)用戶電腦的cookie信息來(lái)核對(duì)用戶信息。 (2)核對(duì)庫(kù)存;每當(dāng)用戶將一件商品放入購(gòu)物車時(shí),顯示庫(kù)存實(shí)時(shí)余量 (3)核對(duì)商品信息及數(shù)量;當(dāng)用戶將商品放入購(gòu)物車時(shí),商品數(shù)量不變,當(dāng)用戶下該商品訂單時(shí),商品數(shù)量減少相應(yīng)的數(shù)量,并在數(shù)據(jù)庫(kù)中更新。 (4)
41、核對(duì)金額;時(shí)刻對(duì)頁(yè)面的售價(jià)是否和數(shù)據(jù)庫(kù)中的一致。 將以上這些功能制作成網(wǎng)頁(yè)以后,在其中分別互相建立連接,基本完成商城及用戶對(duì)網(wǎng)站的要求。 3.2 可行性分析 可行性分析也稱可行性研究,是決策部門(mén)在采取一項(xiàng)重大改革或投資行動(dòng)之前,對(duì)該項(xiàng)目的必要性和可能性進(jìn)行分析與論證的活動(dòng)??尚行苑治鍪窃谶M(jìn)行初步調(diào)查后所進(jìn)行的對(duì)系統(tǒng)開(kāi)發(fā)必要性和可能性的研究,以避免投資失誤,保證新系統(tǒng)開(kāi)發(fā)成功。軟件可行性研究的目的就是用最小大代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開(kāi)發(fā),是否值得去開(kāi)發(fā)。網(wǎng)上購(gòu)物系統(tǒng)應(yīng)從技術(shù)可行性,經(jīng)濟(jì)可行性和社會(huì)可行性三方面來(lái)論證。 3.2.1技術(shù)可行性分析 技術(shù)可行性分析主要包括
42、硬件和技術(shù)等幾個(gè)方面,下面分別對(duì)這幾方面進(jìn)行簡(jiǎn)單的分析: (1) 硬件:當(dāng)今世界隨著計(jì)算機(jī)的普及,計(jì)算機(jī)硬件行業(yè)也隨之日新月異。對(duì)于一款簡(jiǎn)單的網(wǎng)上購(gòu)物系統(tǒng)普通的PC機(jī)都能流暢的運(yùn)行更別說(shuō)專業(yè)的Web服務(wù)器了,所以對(duì)于網(wǎng)上購(gòu)物系統(tǒng)的硬件問(wèn)題已經(jīng)不再是關(guān)鍵性問(wèn)題。 (2) 技術(shù):這個(gè)網(wǎng)上購(gòu)物系統(tǒng)采用的開(kāi)發(fā)語(yǔ)言是Java語(yǔ)言,Java語(yǔ)言擅長(zhǎng)Web方面的系統(tǒng)開(kāi)發(fā),系統(tǒng)采基于java語(yǔ)言的JSP技術(shù)開(kāi)發(fā),JSP是Sun屬下JavaSoft公司推出的技術(shù),使用的Java語(yǔ)言是ASP、PHP和JSP三者中最新的技術(shù)。它以JavaServlet技術(shù)為基礎(chǔ),又在許多方面作了改進(jìn),并且充分借鑒了ASP和PH
43、P一些合理的地方,采用JSP開(kāi)發(fā)可以明顯的降低系統(tǒng)開(kāi)發(fā)的工作量同時(shí)降低系統(tǒng)開(kāi)發(fā)過(guò)程中的錯(cuò)誤率。 3.2.2經(jīng)濟(jì)可行性分析 網(wǎng)上購(gòu)物系統(tǒng)是基于Java的而Java是開(kāi)源免費(fèi)的,另外該系統(tǒng)所采用的Tomcat服務(wù)器、MySQL數(shù)據(jù)庫(kù)服務(wù)器都是開(kāi)源免費(fèi)的,這樣在成本上勢(shì)必會(huì)降低很多。使用的JSP技術(shù)是常見(jiàn)而高效的系統(tǒng)開(kāi)發(fā)技術(shù)。這樣即減少了開(kāi)發(fā)成本又提高了開(kāi)發(fā)效率。對(duì)于一般公司來(lái)說(shuō)該系統(tǒng)經(jīng)濟(jì)上是完全可行的。 3.2.3 社會(huì)因素可行性分析 社會(huì)因素可行性主要包括法律因素可行性和用戶使用可行性,下面就這兩個(gè)方面進(jìn)行簡(jiǎn)單的分析: (1)法律因素可行性:本系統(tǒng)完全是自主開(kāi)發(fā),開(kāi)發(fā)完成以后也將免費(fèi)開(kāi)
44、源,因此任何企業(yè)都可以使用該系統(tǒng)而不需要額外支付任何費(fèi)用。另外本系統(tǒng)主要是給用戶推銷所需的商品,并不會(huì)違反相關(guān)的法律。 (2)用戶使用可行性:本系統(tǒng)主要是為滿足廣大用戶的需求,用戶對(duì)網(wǎng)上購(gòu)物已經(jīng)有了一定的了解,操作方面只需要點(diǎn)擊幾下鼠標(biāo)就可完成,十分簡(jiǎn)單。因此用戶在使用本系統(tǒng)時(shí)不需要專門(mén)的培訓(xùn)。 3.3性能需求分析 網(wǎng)上購(gòu)物系統(tǒng)主要的用戶群是普通用戶,所以在設(shè)計(jì)上必須遵循以下幾點(diǎn)準(zhǔn)則: (1) 易用性:網(wǎng)上購(gòu)物中用戶只需輕點(diǎn)幾下鼠標(biāo)就可獲取所需的商品,并且比實(shí)體店提供的商品更加的齊全。 (2) 快捷性:當(dāng)用戶訂購(gòu)?fù)晁璧纳唐泛?,網(wǎng)站馬上安排快遞發(fā)貨,盡早的將商品送達(dá)客戶的手中。
45、(3) 安全性:網(wǎng)站中用戶的信息存放在數(shù)據(jù)庫(kù)中,管理員之外的人需要密碼才能進(jìn)入查看,因此,個(gè)人信息是十分安全的,訂單付款方面既可以貨到付款也可以通過(guò)支付寶付款,安全有保障。 (4) 實(shí)時(shí)性:商品價(jià)格和數(shù)量等信息實(shí)時(shí)更新,確保用戶獲取的信息是實(shí)施有效的,有新商品時(shí)也會(huì)及時(shí)加入。 3.4 運(yùn)行環(huán)境及開(kāi)發(fā)工具 這個(gè)系統(tǒng)設(shè)計(jì)的并不復(fù)雜,所有用到的開(kāi)發(fā)工具比較少,具體用到的工具如下所示: 操作系統(tǒng):Windows XP 數(shù)據(jù)庫(kù):MySQL Web應(yīng)用服務(wù)器:Tomcat6.0 開(kāi)發(fā)工具:MyEclipse 4 系統(tǒng)總體設(shè)計(jì) 4.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 根據(jù)系統(tǒng)分析,需要
46、將網(wǎng)站劃分為前臺(tái)、后臺(tái)和數(shù)據(jù)庫(kù)。前臺(tái)中,客戶在登錄網(wǎng)站主頁(yè)后即可鏈接查看到商品等信息,還可以做訂購(gòu)商品等活動(dòng)。數(shù)據(jù)庫(kù)將要作為網(wǎng)站后臺(tái)重要的組成部分,管理員的主要操作幾乎全部圍繞數(shù)據(jù)庫(kù),最后將更新的數(shù)據(jù)要顯示給前臺(tái)。 前臺(tái)是一個(gè)比較大的功能群,它所包含的信息不僅數(shù)量多,而且種類不同。將它設(shè)計(jì)成比較優(yōu)化的結(jié)構(gòu)形式能組織好網(wǎng)站的信息內(nèi)容并將其歸類,方便用戶獲得所需要的信息。其中每一部分都以盡量少的內(nèi)容顯示,以免瀏覽者看的眼花繚亂而失去耐心。除了這些作用外,設(shè)計(jì)好前臺(tái)的結(jié)構(gòu)形式,也是為后面程序的編寫(xiě)做出了框架。在為系統(tǒng)劃分功能模塊,并以模塊為單位來(lái)實(shí)現(xiàn)設(shè)計(jì)時(shí)也是以這個(gè)結(jié)構(gòu)為根基的。 系統(tǒng)的后臺(tái)要對(duì)
47、整個(gè)網(wǎng)站的信息和數(shù)據(jù)進(jìn)行維護(hù)。網(wǎng)站前臺(tái)所顯示的信息在后臺(tái)都應(yīng)該有對(duì)應(yīng)的維護(hù)。這樣,除了設(shè)計(jì)后臺(tái)的各個(gè)管理界面外,為了方便管理員的工作,可以將各個(gè)管理的界面結(jié)合到一個(gè)頁(yè)面中。因此,各個(gè)管理的界面會(huì)作為主管理界面的分支。 在設(shè)計(jì)好網(wǎng)站前臺(tái)與后臺(tái)的結(jié)構(gòu)以后,就將數(shù)據(jù)庫(kù)加入到結(jié)構(gòu)中。后臺(tái)將更新的數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù)中,前臺(tái)再將數(shù)據(jù)庫(kù)中的信息取出來(lái)并顯示。 4.2 功能模塊設(shè)計(jì) 層次模塊結(jié)構(gòu)是將系統(tǒng)劃分為若干子系統(tǒng),子系統(tǒng)下再劃分為若干的模塊。而模塊是指具備有輸入輸出、邏輯功能、運(yùn)行程序和內(nèi)部數(shù)據(jù)四種屬性的一組程序。在結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)中,模塊一般都是按功能劃分的,通常稱為功能模塊。合理的功能模塊的劃分能
48、夠極大限度地減少重復(fù)勞動(dòng)、提高開(kāi)發(fā)工作的效率并增大系統(tǒng)的可維護(hù)性。 4.2.1用戶管理 為了方便于網(wǎng)站的管理,必須由一套完整的用戶管理體系。該網(wǎng)站用戶管理模塊主要實(shí)現(xiàn)用戶的注冊(cè)、登錄、選購(gòu)商品、修改信息等功能。 圖4.1 用戶管理結(jié)構(gòu)圖 4.2.2 管理員管理 管理員可以對(duì)商品(包括商品的種類)進(jìn)行增刪改查得操作,同時(shí),對(duì)已注冊(cè)用戶同樣可以進(jìn)行相同的操作,并根據(jù)用戶購(gòu)買(mǎi)量對(duì)用戶的等級(jí)進(jìn)行修改。此外,管理員最重要的職責(zé)是可以修改訂單狀態(tài),把是否已發(fā)貨的信息反饋給前臺(tái)用戶。 圖4.2 管理員管理結(jié)構(gòu)圖 4.2.3 購(gòu)物車管理 用戶選擇好自己想要的圖書(shū)后可以添加到購(gòu)物
49、車,并在購(gòu)物車中對(duì)商品進(jìn)行一些操作,如:核對(duì)并修改信息、核對(duì)庫(kù)存、數(shù)量、金額等。 圖4.3 購(gòu)物車管理結(jié)構(gòu)圖 4.3 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)應(yīng)用程序的重要組成部分。一個(gè)設(shè)計(jì)結(jié)構(gòu)合理的數(shù)據(jù)庫(kù)對(duì)于應(yīng)用程序的開(kāi)發(fā)效率和程序的性能都是非常重要的。數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程大致如下: (1)根據(jù)用戶需求,確定數(shù)據(jù)庫(kù)中要保存的數(shù)據(jù)信息。對(duì)用戶需求進(jìn)行分析時(shí)數(shù)據(jù)庫(kù)設(shè)計(jì)的第一個(gè)階段。不斷的調(diào)查與研究用戶需求,了解企業(yè)運(yùn)作流程等系統(tǒng)需求,使設(shè)計(jì)概念模型的基礎(chǔ)。 (2)設(shè)計(jì)數(shù)據(jù)庫(kù)的概念模型。概念模型是按用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)建模,使用與進(jìn)行信息世界建模的工具。它對(duì)整個(gè)數(shù)據(jù)庫(kù)的設(shè)計(jì)具有深刻的影響。 (3)邏輯
50、結(jié)構(gòu)設(shè)計(jì)。邏輯結(jié)構(gòu)是把概念結(jié)構(gòu)轉(zhuǎn)化為與所采用的數(shù)據(jù)庫(kù)管理系統(tǒng)所支持的數(shù)據(jù)模型相符合的過(guò)程。 (4)數(shù)據(jù)庫(kù)的實(shí)施和維護(hù)。在設(shè)計(jì)好前臺(tái)與后臺(tái)的功能模塊后,就開(kāi)始進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)了。根據(jù)網(wǎng)站系統(tǒng)的分析,數(shù)據(jù)庫(kù)是整個(gè)網(wǎng)站的核心。從前臺(tái)顯示的信息到后臺(tái)操作的對(duì)象,都是圍繞數(shù)據(jù)庫(kù)展開(kāi)的。 4.3.1 E-R圖 E-R圖是一種概念模型。概念模型實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。概念模型用于信息世界的建模,是顯示世界到信息世界的第一層抽象,使數(shù)據(jù)庫(kù)設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的有利工具,也是數(shù)據(jù)庫(kù)設(shè)計(jì)人員和用戶之間進(jìn)行交流的語(yǔ)言,因此概念模型一方面應(yīng)該具有較強(qiáng)的語(yǔ)義表達(dá)能力,能夠方便、直接的表達(dá)應(yīng)該用
51、眾的各種語(yǔ)義知識(shí),另一方面他還應(yīng)該簡(jiǎn)單、清晰并且易于用戶理解。 從系統(tǒng)需求分析中得出系統(tǒng)的實(shí)體屬性圖,遵循三范圍原則,對(duì)實(shí)體之間的一欄關(guān)系進(jìn)行了整合,得出總體E_R圖,如圖4.4所示。 用戶 購(gòu)買(mǎi) 商品 n 1 支付 訂單 n 1 注銷 登錄 1 1 修改 用戶信息 1 1 圖4.4 總體E-R圖 4.3.2基本表設(shè)計(jì) 表的設(shè)計(jì)是這次設(shè)計(jì)的一個(gè)核心內(nèi)容。根據(jù)前面對(duì)網(wǎng)站前臺(tái)與后臺(tái)功能模塊的分析和對(duì)數(shù)據(jù)庫(kù)中實(shí)體關(guān)系的設(shè)計(jì),可以看到網(wǎng)站中所用到的數(shù)據(jù)信息基本包括:用戶信息、收貨信息、產(chǎn)品類別、產(chǎn)品信息、圖書(shū)信息、訂單信息、訂單明細(xì)等。下面是為數(shù)據(jù)庫(kù)設(shè)計(jì)的
52、表: (1) 用戶信息表 d_user 用戶信息表d_user用來(lái)保存用戶信息。 表4-1 d_user的結(jié)構(gòu) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 是否為空 是否為主鍵 字段描述 Id Int 12 否 是 用戶ID Email Varchar 50 否 是 郵箱 Nickname Varchar 50 是 否 妮稱 Password Varchar 50 否 否 用戶密碼 User_integral Int 12 否 否 用戶積分 Is_email_verify Char 3 否 否 用戶驗(yàn)證 Last_lo
53、gin_time Bigint 20 是 否 最近一次登錄時(shí)間 Last_login_ip Varchar 15 是 否 登錄IP (2) 收貨地址表 d_receive_address 收貨地址表d_receive_address用來(lái)保存用戶下訂單時(shí)使用過(guò)的收貨地址信息。 表4-2 d_receive_address的結(jié)構(gòu) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 是否為空 是否為主鍵 字段描述 Id Int 12 否 是 地址編號(hào) User_id Int 11 否 否 用戶編號(hào) Receive_name Varchar 20 否
54、否 真實(shí)姓名 Postal_code Varchar 8 否 否 郵政編碼 Mobile Varchar 15 是 否 手機(jī) Phone Varchar 20 是 否 電話 (3) 產(chǎn)品類別表 d_category 產(chǎn)品類別表 d_category用來(lái)保存了系統(tǒng)產(chǎn)品的類別信息。 表4-3 d_category的結(jié)構(gòu) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 是否為空 是否為主鍵 字段描述 Id integer 16 否 是 類別編號(hào) Turn Int 10 否 否 等級(jí) En_name Varchar 200 否 否
55、 產(chǎn)品類型 name varchar 200 否 否 類別名 Description varchar 200 否 否 類別說(shuō)明 Parent_id Int 10 是 否 父類別編號(hào) (4) 產(chǎn)品表 d_product 產(chǎn)品表 d_product用來(lái)保存了系統(tǒng)中的產(chǎn)品信息。 表4-4 d_product的結(jié)構(gòu) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 是否允許空 是否為主鍵 字段描述 id Int 12 否 是 產(chǎn)品編號(hào) product_name Varchar 100 否 否 產(chǎn)品名稱 description Varchar
56、 100 是 否 產(chǎn)品介紹 add_time Bigint 20 是 否 添加時(shí)間 fixed_price Double 20 否 否 產(chǎn)品進(jìn)價(jià) dang_price Double 20 否 否 產(chǎn)品售價(jià) keywords Varchar 200 是 否 關(guān)鍵詞 Has_deleted Int 1 否 否 產(chǎn)品下架 Product_pic Varchar 200 是 否 產(chǎn)品圖片 (5) 產(chǎn)品類別對(duì)應(yīng)關(guān)系表d_category_product 產(chǎn)品類別對(duì)應(yīng)關(guān)系表用來(lái)保存產(chǎn)品和類別之間的對(duì)應(yīng)關(guān)系.比如某個(gè)類別包含哪
57、些商品。 表4-5 d_category_product的結(jié)構(gòu) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 是否允許空 是否為主鍵 字段描述 Id Int 12 否 是 編號(hào) Product_id Int 10 否 否 產(chǎn)品編號(hào) Cat_id Int 10 否 否 類別編號(hào) (6) 訂單明細(xì)表 d_item 訂單明細(xì)表 d_item用來(lái)保存訂單購(gòu)買(mǎi)了哪些商品,數(shù)量,小計(jì)等。 表4-6 d_item的結(jié)構(gòu) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 是否允許空 是否為主鍵 字段描述 Id Int 12 否 是 編號(hào) Order_id Int
58、 10 否 否 訂單編號(hào) Product_id Int 10 否 否 產(chǎn)品編號(hào) Product_name Varchar 100 否 否 產(chǎn)品名稱 Dang_price Double 20 否 否 產(chǎn)品售價(jià) Product_num Int 10 否 否 產(chǎn)品數(shù)量 Amount Double 20 否 否 總金額 5 系統(tǒng)實(shí)現(xiàn) 在上一章著重討論了系統(tǒng)各個(gè)模塊功能的設(shè)計(jì),并詳細(xì)分析了每一個(gè)模塊的功能。在本章將具體討論如何實(shí)現(xiàn)功能模塊,最終實(shí)現(xiàn)整個(gè)系統(tǒng)。經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系
59、統(tǒng)的描述,從而在編碼階段可以把這個(gè)描述直接翻譯成用JSP網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。 5.1 系統(tǒng)頁(yè)面的實(shí)現(xiàn) 如果將網(wǎng)站比作一個(gè)人的話,服務(wù)器就像大腦,數(shù)據(jù)庫(kù)就像五臟六腑,其內(nèi)嵌的Java和JavaScript組合起來(lái)就像是細(xì)胞與神經(jīng),而網(wǎng)頁(yè)就是這個(gè)人的皮肉。網(wǎng)頁(yè)將網(wǎng)站的各個(gè)組成部分包裹起來(lái),形成易懂并且美觀的外表展示給大家,瀏覽者登陸網(wǎng)站后看到的就是一個(gè)個(gè)網(wǎng)頁(yè)的組合。所以設(shè)計(jì)和實(shí)現(xiàn)每一個(gè)網(wǎng)頁(yè)也是非常重要的工作。 隨著科技的高速發(fā)展,眾多網(wǎng)頁(yè)制作的應(yīng)用軟件應(yīng)運(yùn)而生。相對(duì)于傳統(tǒng)的動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)工具而言,由于繼承了Java語(yǔ)言的許多優(yōu)點(diǎn),用JSP開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站十分方便,開(kāi)發(fā)效率較高。此外,JSP還具
60、有強(qiáng)大的組件(JavaBean)支持功能,可以方便地實(shí)現(xiàn)組件復(fù)用,進(jìn)一步提高了開(kāi)發(fā)效率。 在整個(gè)網(wǎng)頁(yè)的制作過(guò)程中,都是結(jié)合使用HTML語(yǔ)言來(lái)實(shí)現(xiàn)設(shè)計(jì)的。系統(tǒng)的頁(yè)面設(shè)計(jì)決定了網(wǎng)站的風(fēng)格,制作好的網(wǎng)站不僅提供給營(yíng)銷商,更多的要供瀏覽者瀏覽。所以整個(gè)網(wǎng)站系統(tǒng)應(yīng)注重的是:易導(dǎo)航性、易操作性和友好的交互界面。因此,網(wǎng)站的設(shè)計(jì)最好要簡(jiǎn)潔、明了、格調(diào)清新、實(shí)用、易于使用和維護(hù)。在頁(yè)面的風(fēng)格上應(yīng)保持統(tǒng)一,這里采用CSS樣式表將所有頁(yè)面的字體、字號(hào)、顏色以及超鏈接的樣式做統(tǒng)一定義。 5.2 前臺(tái)功能模塊實(shí)現(xiàn) 整個(gè)系統(tǒng)分為了前臺(tái)功能模塊和后臺(tái)功能模塊。下面詳細(xì)討論主要的幾個(gè)功能模塊的程序?qū)崿F(xiàn)。在每個(gè)模塊的介
61、紹中,將具體說(shuō)明一些涉及要點(diǎn)。 前臺(tái)功能模塊分為用戶管理模塊、訂單查詢模塊、購(gòu)物車模塊3個(gè)部分。前臺(tái)首頁(yè)主要有以下幾個(gè)部分: (1)網(wǎng)站導(dǎo)航:主要用戶顯示網(wǎng)站的旗幟廣告、各功能模塊導(dǎo)航; (2)用戶登錄:用戶在此注冊(cè)、登錄或找回密碼; (3)商品分類搜索:用戶按商品類別進(jìn)行搜索顯示; (4)銷售排行榜:按照商品的銷售數(shù)量顯示銷售排行信息; (5)商品展示區(qū):按后臺(tái)添加商品的時(shí)間順序展示商品; (6)友情鏈接:顯示友情鏈接信息; (7)后臺(tái)登錄入口:管理員可以通過(guò)該入口登錄后臺(tái)。 5.2.1用戶管理模塊 用戶管理模塊主要實(shí)現(xiàn)用戶的注冊(cè)、登錄等功能。 (1)用戶注冊(cè) 當(dāng)用戶
62、第一次登錄時(shí)首先要在網(wǎng)站上注冊(cè),成為會(huì)員用戶才可以在網(wǎng)站上購(gòu)物,注冊(cè)頁(yè)面必須填寫(xiě)一些用戶的基本信息,如用戶名、密碼、聯(lián)系電話等信息。用戶注冊(cè)的流程圖如圖5.1所示。 開(kāi) 始 否 是 是 結(jié) 束 接收注冊(cè)信息 數(shù)據(jù)是否為空 兩次密碼是否一致 查詢數(shù)據(jù)庫(kù) 用戶名是否被占用 是 否 否 注冊(cè)成功 注冊(cè)失敗 用戶注冊(cè)流程如圖5.1 用戶注冊(cè)頁(yè)面如圖5.2所示。 圖5.2 用戶注冊(cè)頁(yè)面 用戶注冊(cè)信息提交,注冊(cè)成功頁(yè)面如圖5.3所示。 圖5.3 用戶注冊(cè)成功頁(yè)面 為了便于網(wǎng)站對(duì)用戶的管理,在用戶注冊(cè)頁(yè)面接收到的注冊(cè)信息要經(jīng)過(guò)嚴(yán)格的過(guò)濾,保
63、證注冊(cè)用戶名的唯一性,在提交表單后需要對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行查詢,如果沒(méi)有找到,則在插入數(shù)據(jù)表時(shí)提示注冊(cè)成功,否則提示此用戶已被占用請(qǐng)重新注冊(cè),注冊(cè)時(shí)如果輸入郵箱,也會(huì)有唯一性的限制。 (2)用戶登錄 用戶登錄窗口設(shè)置在首頁(yè)上,主要用來(lái)接收用戶錄入的用戶名及密碼。單擊“注冊(cè)”按鈕時(shí),會(huì)提交到用戶登錄頁(yè)面執(zhí)行;單擊“登錄”按鈕時(shí),系統(tǒng)將對(duì)輸入的用戶名和密碼進(jìn)行驗(yàn)證,如果數(shù)據(jù)表中用戶名和密碼存在就顯示登陸成功,并返回首頁(yè),否則彈出錯(cuò)誤提示信息。用戶登錄的流程圖如圖5.4所示。 開(kāi) 始 結(jié) 束 接收登錄信息 查詢數(shù)據(jù)庫(kù) 數(shù)據(jù)是否正確 否 是 登錄失敗 登錄成功 用戶
64、登錄流程圖5.4 登錄的代碼如下 Private Sub command1_click() dim conn as new adodb.connection dim rs as new adodb.recordset dim str as string Static logintimes As Integer dim sql as string str = App.Path If Right(str, 1) <> "\" Then str = str + "\" End If str = "Provider=Microsoft.Jet.OLEDB.
65、3.51;Persist Security Info=False;Data Source=" & str & "\yusion.mdb" conn.open str rs.cursorlocation=aduseclient sql="select * from user where 用戶名='" & text1.text & "'" rs.open sql,conn,adopenkeyset.adlockpessimistic if rs.recordset.eof and rs.recordset.bof then msgbox "沒(méi)有此用戶" else i
66、f trim(text2.text)=rs.fields("密碼").velue then me.hide form2.show else msgbox "密碼錯(cuò)誤,請(qǐng)重試!" 用戶登錄界面如圖5.5所示。 圖5.5用戶登錄頁(yè)面 5.2.2購(gòu)物車模塊 購(gòu)物車模塊中,主要包含以下幾個(gè)功能,即:添加購(gòu)物車、查看購(gòu)物車、生成訂單和清空購(gòu)物車。 (1)添加購(gòu)物車 添加購(gòu)物車就是把用戶選中的商品暫時(shí)存放在購(gòu)物車中,當(dāng)用戶在前臺(tái)首頁(yè)中單擊商品展示區(qū)的“購(gòu)買(mǎi)”按鈕時(shí),系統(tǒng)會(huì)將該商品的詳細(xì)信息展示在查看物品清單頁(yè)面中。用戶在單擊物品清單頁(yè)面下方的“放入購(gòu)物車”鏈接,便可以將該商品放入購(gòu)物車中。 添加商品的代碼流程是從session中讀取shop對(duì)象,如果為空則說(shuō)明還沒(méi)有進(jìn)行購(gòu)物或者已經(jīng)清空了購(gòu)物車,需要新建購(gòu)物車對(duì)象;將商品名稱與購(gòu)物車列表中的商品名稱對(duì)比,如果已經(jīng)存在,則把商品數(shù)量加1。 在這段代碼流程中,還使用了集合類型。集合類型在Java中又稱為向量,是一元集合,可以加入重復(fù)數(shù)據(jù),它的作用和數(shù)組相同,可以保存一系列數(shù)據(jù),但集合類型也有它獨(dú)特的優(yōu)點(diǎn),就
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2014年護(hù)理工作總結(jié)PPT
- 怎樣最有效地治療復(fù)發(fā)性口腔潰瘍
- 肝炎科普講座
- 24-PPT就象胸罩的10個(gè)理由
- 第11章第2節(jié)(3)內(nèi)臟神經(jīng)電子課件 中職 電子教案解剖學(xué)基礎(chǔ)(第4版)
- 真正的英雄課件
- 演示文稿unit10
- 辛棄疾詞兩首(精品)
- 經(jīng)典小米手機(jī)的營(yíng)銷策略
- 稻盛和夫的實(shí)學(xué)讀后感
- 高級(jí)財(cái)務(wù)管理8跨國(guó)公司財(cái)務(wù)管理
- 第章領(lǐng)導(dǎo)決策
- 歐美高端大氣商業(yè)計(jì)劃書(shū)企業(yè)介紹產(chǎn)品介紹PPT模板PPT課件
- 練習(xí)1 (3)(教育精品)
- 冷熱源-6吸收式制冷