畢業(yè)設(shè)計(jì)(論文)-JSP網(wǎng)上寵物商店的設(shè)計(jì)與實(shí)現(xiàn).doc
《畢業(yè)設(shè)計(jì)(論文)-JSP網(wǎng)上寵物商店的設(shè)計(jì)與實(shí)現(xiàn).doc》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)(論文)-JSP網(wǎng)上寵物商店的設(shè)計(jì)與實(shí)現(xiàn).doc(45頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、北京化工大學(xué)北方學(xué)院畢業(yè)設(shè)計(jì)(論文)誠信申明本人申明:我所呈交的本科畢業(yè)設(shè)計(jì)(論文)是本人在導(dǎo)師指導(dǎo)下對四年專業(yè)知識而進(jìn)行的研究工作及全面的總結(jié)。盡我所知,除了文中特別加以標(biāo)注和致謝中所羅列的內(nèi)容以外,論文中創(chuàng)新處不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得北京化工大學(xué)或其它教育機(jī)構(gòu)的學(xué)位或證書而已經(jīng)使用過的材料。與我一同完成畢業(yè)設(shè)計(jì)(論文)的同學(xué)對本課題所做的任何貢獻(xiàn)均已在文中做了明確的說明并表示了謝意。若有不實(shí)之處,本人承擔(dān)一切相關(guān)責(zé)任。本人簽名: 年 月 日 網(wǎng)上寵物商店的設(shè)計(jì)與實(shí)現(xiàn)摘 要科學(xué)技術(shù)日新月異的進(jìn)步讓人類生活發(fā)生了巨大的變化,計(jì)算機(jī)技術(shù)的飛速發(fā)展,使各行各業(yè)在計(jì)算機(jī)
2、技術(shù)應(yīng)用方面得到了廣泛的普及和使用。因此,網(wǎng)上寵物購買也以方便、快捷、費(fèi)用低的優(yōu)點(diǎn)正慢慢地進(jìn)入人們的生活,將傳統(tǒng)的寵物買賣方式徹底的解脫出來,提高效率,減輕工人人員以往繁忙的工作,減小出錯(cuò)的概率,使寵物購買者可以花更多的時(shí)間在選擇寵物上。從而使人們有更多時(shí)間來獲取信息、了解信息、掌握信息 。JSP(Java Server Pages)技術(shù)是由Sun公司發(fā)布的用于開發(fā)動(dòng)態(tài)Web應(yīng)用的一項(xiàng)技術(shù)。它以其簡單易學(xué)、跨平臺的特性,在眾多動(dòng)態(tài)Web應(yīng)用程序設(shè)計(jì)語言中異軍突起,在短短幾年中已經(jīng)形成了一套完整的規(guī)范,并廣泛地應(yīng)用于電子商務(wù)等各個(gè)領(lǐng)域中。在國內(nèi),JSP現(xiàn)在也得到了比較廣泛的重視,得到了很好的發(fā)展
3、,越來越多的動(dòng)態(tài)網(wǎng)站開始采用JSP技術(shù)。JSP技術(shù)可以以一種簡捷而快速的方法生成Web頁面。使用JSP技術(shù)的Web頁面可以很容易地顯示動(dòng)態(tài)內(nèi)容。因此本人結(jié)合實(shí)際要求,對MySQL數(shù)據(jù)庫管理系統(tǒng)、SQL語言原理、JSP技術(shù)進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主要完成對網(wǎng)上寵物購買的需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,并由此設(shè)計(jì)了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運(yùn)行實(shí)現(xiàn)了用戶信息管理,寵物信息管理等功能。本系統(tǒng)經(jīng)過測試,運(yùn)行效果穩(wěn)定,操作方便、快捷。在具體的應(yīng)用過程中,有可能會出現(xiàn)一些問題,今后我們還會對本系統(tǒng)不斷地進(jìn)行完善、更新,使其功能更強(qiáng)大,應(yīng)用更廣泛。關(guān)鍵詞:購物寵物店 MySQL JSP Servl
4、et Design and Implementation of Online Pet Shop AbstractThe advance of the science technique continuous changes and improvements, that let the life take place the enormous variety. The computer to develop soon, making the every trade get the extensive universality with use in the aspects of calculat
5、or technique applying. Therefore, books shopping on the internet system too with the convenience, fast, low advantage in expenses is entering people life slowly, manage the traditional books to way to set free out thoroughly, lift high-efficiency, alleviate workers personnel former busy work, let up
6、 to come amiss all rate, can make the reader spend more time at choose the book. People have more time to obtain the information, understand the information and control the information.The JSP (Java Server Pages) technology is used by the Sun microsystem issued by the company to develop dynamic Web
7、application technology. With its easy, cross-platform, in many dynamic Web application programming languages, in a short span of a few years, has formed a complete set of standards, and widely used in electronic commerce, etc. In China, the JSP now also got more extensive attention, get a good devel
8、opment, more and more dynamic website to JSP technology.The JSP a simple technology can quickly and with the method of generating Web pages. Use the JSP technology Web page can be easily display dynamic content. So combine and make the demand of fact, use and design program to MySQL data base manage
9、ment system , SQL language principle , JSP technology has carried on the deeper study and application, finish demand analysis , function module dividing , database mode analysis to the books shopping on the internet system mainly, and has designed structure of the database and application program fr
10、om this. System realizes management of user information, management of books information and so on. Through the testing , the operation result of the system is steady .It is easy to operate and the speed is fast . The system will be likely to appear some problem during the application course. For th
11、e future, we will constantly perfect and renovate the system. It will become better than before. Key words: Pet Shop MySQL JSP Servlet目 錄 前 言1第1章 課題研究價(jià)值2第1.1節(jié) 選題背景及意義2第1.2節(jié) 研究現(xiàn)狀2第1.3節(jié) 論文的研究內(nèi)容3第2章 系統(tǒng)分析4第2.1節(jié) 系統(tǒng)概述4第2.2節(jié) 系統(tǒng)可行性分析4第2.3節(jié) 系統(tǒng)技術(shù)需求5第2.4節(jié) 業(yè)務(wù)流程分析13第2.5節(jié) 系統(tǒng)的數(shù)據(jù)流程圖分析15第3章 系統(tǒng)設(shè)計(jì)19第3.1節(jié) 系統(tǒng)功能需求19第3.2節(jié)
12、 系統(tǒng)功能模塊設(shè)計(jì)19第3.3節(jié) 系統(tǒng)總體結(jié)構(gòu)圖20第3.4節(jié) 數(shù)據(jù)庫設(shè)計(jì)20第4章 系統(tǒng)的實(shí)現(xiàn)23第4.1節(jié) 網(wǎng)上寵物購買登錄模塊的實(shí)現(xiàn)23第4.2節(jié) 寵物信息分類顯示26第4.3節(jié) 購物車模塊27第4.4節(jié) 站內(nèi)搜索模塊29第4.5節(jié) 后臺管理 模塊29第5章 系統(tǒng)的測試與維護(hù)30第5.1節(jié) 系統(tǒng)測的試簡述30第5.2節(jié) 系統(tǒng)運(yùn)行環(huán)境的搭建31第5.3節(jié) 系統(tǒng)測試32結(jié) 論34參考文獻(xiàn)35致 謝3637北京化工大學(xué)北方學(xué)院畢業(yè)設(shè)計(jì)(論文)前 言隨著科技發(fā)展和社會進(jìn)步,21世紀(jì)進(jìn)入了信息的時(shí)代,是網(wǎng)絡(luò)的時(shí)代,進(jìn)入信息社會高速發(fā)展的時(shí)代,數(shù)字化革命給所有領(lǐng)域帶來新的改變。隨著Internet的
13、普及,電子商務(wù)近年來隨著網(wǎng)絡(luò)技術(shù)的發(fā)展而迅速占有了很大的市場,足不出戶就能選購多種多樣的商品時(shí)人們已經(jīng)習(xí)以為常的購物方式,而現(xiàn)代人對于寵物的定位也是隨這社會發(fā)展在變化著,寵物越來越占有者重要的低位。因此網(wǎng)上寵物商店是應(yīng)運(yùn)而生的一種新型的經(jīng)營寵物的方式1。JSP是一種網(wǎng)絡(luò)服務(wù)器端編程環(huán)境。JSP已經(jīng)成為開發(fā)信息化平臺的重要而快速、有效的工具。JSP強(qiáng)大的功能使之成為一種優(yōu)秀的服務(wù)器技術(shù)。隨著網(wǎng)絡(luò)技術(shù)的日益成熟,JSP技術(shù)在網(wǎng)絡(luò)編程中也變得越來越重要。所以,在我們的畢業(yè)設(shè)計(jì)中,我們采用了JSP作為開發(fā)工具,構(gòu)建了一個(gè)便捷的電子商務(wù)網(wǎng)站網(wǎng)上寵物商店系統(tǒng)。該系統(tǒng)能是用戶在線瀏覽網(wǎng)站上的寵物信息,選購自
14、己喜愛的寵物,并且加入了購物車功能,用戶可以自己生成訂單,并對訂單進(jìn)行修改以及管理;本系統(tǒng)還可以后臺設(shè)置具有不同管理權(quán)限的管理員,對已有商品,訂單,注冊會員進(jìn)行管理。通過這次的畢業(yè)設(shè)計(jì),我了解了目前流行的電子信息化平臺構(gòu)成和運(yùn)作原理,掌握了用JavaWeb構(gòu)建動(dòng)態(tài)系統(tǒng)的相關(guān)知識和技術(shù)原理,鍛煉了自己的動(dòng)手實(shí)踐能力。更重要的是,通過這次的畢業(yè)設(shè)計(jì),我培養(yǎng)出了刻苦鉆研的學(xué)習(xí)精神和嚴(yán)肅認(rèn)真的學(xué)習(xí)態(tài)度,這對我以后的學(xué)習(xí)和工作有很大的益處。在這次畢業(yè)設(shè)計(jì)過程中,我得到了指導(dǎo)老師的悉心指導(dǎo)和同學(xué)的熱心幫助,在此,我對他們表示衷心的感謝! 第1章 課題研究價(jià)值第1.1節(jié) 選題背景及意義現(xiàn)在寵物夠買途徑最多莫
15、過于親臨大中小寵物店,直接購買,訂購,但是也有一定的弊端。(1)寵物更新頻率快,但寵物店存貨多為過期寵物,更新速率緩慢在知識爆炸的今天,寵物作為知識傳播媒介,更新,發(fā)布頻率更快,往往剛發(fā)布的寵物不過一個(gè)月便過時(shí),而剛上市幾天瘋搶;而網(wǎng)上寵物購買在這方面優(yōu)勢明顯,更新速率可保持與發(fā)布時(shí)間同步,掌握先機(jī),就把握了大眾需求。 (2)購物時(shí)間,地域的限制普通寵物店只白天營業(yè),晚間打烊,且需要購物本人親臨寵物店挑選,而網(wǎng)上寵物店對此全無限制,全天24小時(shí)顧客可隨意購買,搜索只需上網(wǎng)登陸網(wǎng)站,省去舟車勞頓之苦,即使在家上網(wǎng),也可輕松購物。(3)寵物價(jià)普通平常寵物店價(jià)格為正常市場售價(jià),而網(wǎng)上寵物店多長期打折
16、,加上大量的不定期有獎(jiǎng)優(yōu)惠活動(dòng),網(wǎng)上寵物購買的價(jià)目往往更易令購寵物者心動(dòng);且選擇方便,更可以貨比三家。(4)資源成本正規(guī)寵物店需要店面租賃,售貨員雇傭,水電裝修等多項(xiàng)雜費(fèi),而網(wǎng)上寵物店的成本相比之下微乎其微,運(yùn)做成本的低廉使得利潤及可行性上升。綜上,網(wǎng)上寵物購買的優(yōu)勢明顯,在完善后是一種高效的,系統(tǒng)化的,安全的,具有跨時(shí)代意義的網(wǎng)上購物系統(tǒng)。第1.2節(jié) 研究現(xiàn)狀伴隨著網(wǎng)絡(luò)的出現(xiàn),網(wǎng)絡(luò)逐漸融入人們的生活??焖偌皶r(shí)的信息查找,大容量的信息存儲,使網(wǎng)絡(luò)與人們的生活息息相關(guān),網(wǎng)上購物,已不是陌生詞匯;(1)國外狀況由于起步較早,設(shè)施基礎(chǔ)好,技術(shù)先進(jìn),如今已經(jīng)被廣泛的使用,人們也已習(xí)慣使用,并從中獲得了
17、便利,在技術(shù)、完整性建設(shè)方面,也日趨成熟。(2)國內(nèi)現(xiàn)狀網(wǎng)上寵物購買才剛剛起步,其規(guī)模和系統(tǒng)性都有待提高,伴隨網(wǎng)絡(luò)普及,越來越多的人接受了網(wǎng)上寵物購買,并開始慢慢習(xí)慣、喜歡,簡單快捷的購物方式,省時(shí)省力的挑選流程,使人們認(rèn)識到了網(wǎng)上寵物店的優(yōu)點(diǎn);目前,各類購物網(wǎng)站如雨后春筍般蓬勃興起,各門類網(wǎng)站鱗次櫛比,網(wǎng)絡(luò)的傳媒性使人們認(rèn)識到網(wǎng)上購物的潛力與前景,并使我們有信心去使之完善2。第1.3節(jié) 論文的研究內(nèi)容隨著互聯(lián)網(wǎng)的普及,網(wǎng)上購物已逐漸被人們所接受,它也成為了互聯(lián)網(wǎng)經(jīng)濟(jì)的一個(gè)重要組成部分,網(wǎng)上購物為越來越多人所接受,喜愛;應(yīng)用網(wǎng)絡(luò)優(yōu)勢,開發(fā)購物寵物店網(wǎng)站,為寵物愛好者提供便利,節(jié)約選購時(shí)間與購物
18、成本,也為出售者提供了售賣媒介,最大程度的發(fā)揮互聯(lián)網(wǎng)本身的信息化優(yōu)勢是課題研究的主要內(nèi)容,該網(wǎng)上寵物購買主要包括如下內(nèi)容3:(1)用戶注冊:對于第一次登陸系統(tǒng)的用戶需要進(jìn)行注冊,已經(jīng)在系統(tǒng)注冊的用戶可直接輸入用戶名和密碼進(jìn)入,無須重新注冊。(2)查看用戶訂單信息:查看已經(jīng)注冊的用戶訂單的一些基本信息。(3)修改購物車信息:對每一條用戶訂單的基本信息可以進(jìn)行修改操作。(4)刪除購物車信息:可以對用戶購買寵物信息進(jìn)行刪除操作。(5)管理員添加寵物信息:管理員可以進(jìn)行網(wǎng)站寵物的添加。(6)管理員刪除寵物信息:管理員可以對寵物信息進(jìn)行刪除操作。(7)用戶查找寵物信息:用戶可以通過搜索查找自己想找的寵物
19、。第2章 系統(tǒng)分析第2.1節(jié) 系統(tǒng)概述2.1.1 系統(tǒng)的一般描述該系統(tǒng)的開發(fā)主要是為了實(shí)現(xiàn)網(wǎng)上寵物的買賣,方便用戶對寵物信息的查看個(gè)搜索,有效地利用了現(xiàn)有的網(wǎng)絡(luò)資源,促進(jìn)信息化發(fā)展,也能使用戶利用互聯(lián)網(wǎng)就可以足不出戶的了解到寵物情況。網(wǎng)上寵物購買主要功能包括用戶注冊,用戶登錄,用戶個(gè)人信息的查看和修改,前臺的寵物查看,寵物檢索,并且可以對滿意寵物提交訂單,后臺主要實(shí)現(xiàn)寵物的增加,查看,檢索以及對用戶訂單進(jìn)行處理等功能4。2.1.2 系統(tǒng)的運(yùn)行環(huán)境為了保證系統(tǒng)運(yùn)行的效率和可靠性,系統(tǒng)服務(wù)器端應(yīng)具有較高的軟硬件配置,客戶端的要求不是很高。此應(yīng)用程序可廣泛運(yùn)行于國際互聯(lián)網(wǎng)即Internet,也可適用
20、于內(nèi)部的局域網(wǎng)。其運(yùn)行要求如下:(1)操作系統(tǒng):WindowsXP/win 7(2)瀏覽器:Internet Explorer 6.0(3)數(shù)據(jù)庫:MySQL(4)服務(wù)器:Tomcat 6.0 第2.2節(jié) 系統(tǒng)可行性分析2.2.1 技術(shù)可行性本系統(tǒng)采用win 7作為操作平臺。數(shù)據(jù)庫開發(fā)平臺選用MySQL該數(shù)據(jù)庫管理系統(tǒng)在各windows平臺上都能運(yùn)行,并提供數(shù)據(jù)庫之間的數(shù)據(jù)復(fù)制功能,可代替現(xiàn)有系統(tǒng)單據(jù)數(shù)據(jù)的手工傳遞工作,降低出錯(cuò)率,提高數(shù)據(jù)的可用性。本系統(tǒng)的應(yīng)用軟件開發(fā)平臺選用JSP。 2.2.2 經(jīng)濟(jì)可行性采用寵物管理借閱系統(tǒng)可取代原系統(tǒng)的手工工作,減少人工開支,節(jié)省資金,并且可大大提高信息
21、量的取得,縮短信息處理周期,提高借閱效率,工作人員出錯(cuò)的概率也小了,讀者可以花更多的時(shí)間在選擇寵物和看寵物上。 2.2.3 運(yùn)行可行性本系統(tǒng)操作簡單,上手較快,寵物管理借閱系統(tǒng),營運(yùn)環(huán)境要求低。面對于系統(tǒng)設(shè)計(jì)還應(yīng)該以“標(biāo)準(zhǔn)性、安全性、兼容性、高效性、保密性、可維護(hù)性”為標(biāo)準(zhǔn),在著眼于當(dāng)前實(shí)用的基礎(chǔ)上,為將來系統(tǒng)的擴(kuò)展,升級留有余地。軟件的開發(fā)應(yīng)能在較長時(shí)間內(nèi)滿足學(xué)校的發(fā)展需要。故還需要滿足這幾個(gè)標(biāo)準(zhǔn):(1)標(biāo)準(zhǔn)性:系統(tǒng)的軟硬件選型都應(yīng)該采用工業(yè)化標(biāo)準(zhǔn),這樣既可以保證系統(tǒng)運(yùn)行質(zhì)量又可以分享在此標(biāo)準(zhǔn)上的每一次技術(shù)進(jìn)步。(2)可靠性:由于寵物管理借閱系統(tǒng)重要性,系統(tǒng)的軟硬件應(yīng)均為質(zhì)量可靠,確保不會由
22、于軟硬件故障造成系統(tǒng)運(yùn)行終止而使整體處于無序混亂狀態(tài)。(3)安全性:密碼設(shè)置每個(gè)操作員均有自己的密碼,可以防止非本系統(tǒng)人員進(jìn)入本系統(tǒng),又因每個(gè)人的權(quán)限不一致,故可以防止越權(quán)操作。(4)兼容性:系統(tǒng)的所有軟硬件理論上都應(yīng)有100%的兼容性,用以保證軟硬件的可互換性。(5)高效性:由于寵物管理借閱系統(tǒng)的信息量較大,因此系統(tǒng)對信息的處理能力,響應(yīng)能力都應(yīng)是快速而有效的,在軟件編制過程中應(yīng)充分考慮到這一點(diǎn)。(6)可維護(hù)性:系統(tǒng)軟件設(shè)計(jì)時(shí)應(yīng)采用結(jié)構(gòu)化模塊設(shè)計(jì),以便于開發(fā)和維護(hù),也有利于根據(jù)情況隨時(shí)進(jìn)行功能調(diào)整。同時(shí)在系統(tǒng)開發(fā)時(shí)應(yīng)該充分考慮到用戶的日常維護(hù),使之能簡便易行。通過可行性分析研究,認(rèn)為新系統(tǒng)的
23、開發(fā)方案切實(shí)可行,可進(jìn)行開發(fā)。第2.3節(jié) 系統(tǒng)技術(shù)需求2.3.1 軟件體系結(jié)構(gòu)(1)C/S結(jié)構(gòu)80年代,數(shù)據(jù)庫應(yīng)用主要采用C/S兩層結(jié)構(gòu)。C/S模式是一種非常成熟的應(yīng)用體系結(jié)構(gòu),被廣泛應(yīng)用于各種管理系統(tǒng)中。這種結(jié)構(gòu)在后來近十年的應(yīng)用中得到了充分發(fā)展,并獲得很大成功。然后隨著信息系統(tǒng)結(jié)構(gòu)的規(guī)模和復(fù)雜度的日益擴(kuò)大,C/S結(jié)構(gòu)也逐漸暴露出其缺陷5。由于客戶端和服務(wù)器端直接相連,服務(wù)器不得不消耗部分資源用于處理與客戶端的連接工作。因此,當(dāng)同時(shí)存在大量客戶端數(shù)據(jù)請求時(shí),服務(wù)器的系統(tǒng)資源可能在應(yīng)付頻繁的連接工作上消耗,也就不能很好地響應(yīng)數(shù)據(jù)請求,客戶端數(shù)據(jù)請求的堆積可能導(dǎo)致系統(tǒng)整體效率的大幅降低甚至崩潰。
24、主從式結(jié)構(gòu)使得唯一在線的數(shù)據(jù)庫服務(wù)器成為系統(tǒng)可靠性的極大隱患,如果數(shù)據(jù)庫服務(wù)器停止工作,整個(gè)系統(tǒng)將癱瘓??蛻舳藨?yīng)用程序的分發(fā)工作的繁瑣程度令人難以接受。系統(tǒng)開發(fā)完畢后,必須為每臺客戶機(jī)安裝客戶端程序的初始化文件(*.INI)、執(zhí)行文件以及相關(guān)動(dòng)態(tài)連接庫文件(*. DLL)等。另外,還必須為每臺客戶機(jī)的ODBC或BDE進(jìn)行配置。不僅如此,如果系統(tǒng)升級,上述過程必須重復(fù)一次。在存儲過程的調(diào)用中,所有處理過程都在數(shù)據(jù)庫層進(jìn)行,只是將最終結(jié)果返回客戶端。這種結(jié)構(gòu)的業(yè)務(wù)邏輯需采用專用語言開發(fā),很難移植到其它的數(shù)據(jù)庫上去6。(2)B/S結(jié)構(gòu)B/S結(jié)構(gòu)是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化
25、或者改進(jìn)的結(jié)構(gòu)它克服了上述C/S結(jié)構(gòu)的缺陷。B/S結(jié)構(gòu)中,事務(wù)處理的邏輯部分從客戶機(jī)的任務(wù)中分離出來,使客戶機(jī)不再負(fù)責(zé)處理復(fù)雜計(jì)算和數(shù)據(jù)訪問等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,由服務(wù)器來擔(dān)負(fù)更多的工作。用戶僅通過瀏覽器就可向服務(wù)器發(fā)出請求,服務(wù)器處理用戶的請求,并將結(jié)果返回給用戶。采用基于B/S的多層結(jié)構(gòu),不僅層次結(jié)構(gòu)明了,降低了系統(tǒng)的維護(hù)工作量,提高了系統(tǒng)的開放性,尤其是以中間件為基礎(chǔ)的B/S多層結(jié)構(gòu),其核心概念是利用中間件技術(shù)將應(yīng)用的業(yè)務(wù)邏輯、表示邏輯和數(shù)據(jù)分為多個(gè)不同的處理層,不但具備了系統(tǒng)穩(wěn)定、安全和處理能力高等特性,同時(shí)擁有開放式系統(tǒng)成本低、可擴(kuò)展性強(qiáng)、開發(fā)周期短等優(yōu)點(diǎn)。另外,瀏覽器軟件有著
26、統(tǒng)一的用戶界面、統(tǒng)一的語言格式、統(tǒng)一的傳輸協(xié)議,用戶界面簡單易學(xué),終端用戶幾乎無需任何培訓(xùn),系統(tǒng)管理簡單,有很高的可用性7。2.3.2 開發(fā)技術(shù)JSP(Java Server Pages)是由Sun Microsystems公司于1999年6月倡導(dǎo),許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它的實(shí)現(xiàn)是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)站所需要的功能,包括操作數(shù)據(jù)庫、重新定向
27、網(wǎng)頁及發(fā)送E-mail等等。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅驚是得到的結(jié)果,從而對客戶瀏覽器的要求很低。JSP技術(shù)被設(shè)計(jì)成為一個(gè)開放的、可擴(kuò)展的及用于創(chuàng)建動(dòng)態(tài)Web頁面的標(biāo)準(zhǔn)。開發(fā)人員可以使用JSP技術(shù)來創(chuàng)建具有可移植性的Web應(yīng)用程序。開發(fā)結(jié)果可以在各種Web服務(wù)器和Web應(yīng)用服務(wù)器上運(yùn)行,而不用考慮具體的開發(fā)平臺或開發(fā)工具。JSP的工作原理:當(dāng)服務(wù)器上的一個(gè)JSP頁面被第一次請求執(zhí)行時(shí),服務(wù)器上的JSP引擎首先將JSP頁面文件轉(zhuǎn)譯成一個(gè)JavaServlet源文件,再將這個(gè)JavaServlet文件編譯生成字節(jié)碼文件,然后通過執(zhí)行字節(jié)碼文件響應(yīng)客戶的請求,而當(dāng)這個(gè)JSP
28、頁面再次被請求執(zhí)行時(shí),JSP引擎將直接執(zhí)行這個(gè)字節(jié)碼文件來響應(yīng)客戶,這也是JSP比ASP速度快的一個(gè)原因。而JSP頁面的首次執(zhí)行往往由服務(wù)器管理者來執(zhí)行。如果原始JSP文件被更新,JSP容器將檢測所做的更新,在執(zhí)行之前重新生成Servlet并進(jìn)行編譯8。JSP的優(yōu)勢主要表現(xiàn)在以下幾個(gè)方面:(1)一處編寫隨處運(yùn)行。這是一個(gè)程序員的夢想,也是從前的程序員的惡夢,為了在不同的平臺間運(yùn)行,使許多程序員一行行的重寫代碼。在這一點(diǎn)上java已經(jīng)給了我最完美的答案它做的要比php更出色,除了系統(tǒng)之外,你的代碼不用做一點(diǎn)更改的。(2)系統(tǒng)的多臺平支持。我已經(jīng)在差不多所有平臺上見到了一致的java servle
29、t/jsp的Web Server/Application Server。系統(tǒng)它可以讓你在任意環(huán)境做開發(fā),在任意環(huán)境進(jìn)行系統(tǒng)部署,在任意環(huán)境擴(kuò)展。相比asp/php的局限性是顯面易見的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的jar文件就可以運(yùn)行servlet/jsp到由多臺服務(wù)器進(jìn)行集群和負(fù)載均橫,到多臺Application進(jìn)行事務(wù)處理、消息處理一臺服務(wù)器到無數(shù)以服務(wù)器,Java顯示了一個(gè)巨人的生命力。(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與asp很像,java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具而且有許多可以免費(fèi)得到,并且其中的許多已經(jīng)可以順利的運(yùn)行于多種平臺之下。如果你細(xì)心的使用它們會發(fā)現(xiàn)比
30、自己第一面看到它們時(shí)的功能要強(qiáng)大的多。2.3.3 Tomcat簡介Tomcat是一個(gè)免費(fèi)的開源的Servlet容器,它是Apache基金會的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache Sun和其它一些公司及個(gè)人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的Java產(chǎn)品,可見其在業(yè)界的地位。與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個(gè)WAR(Web Archive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個(gè)壓縮包
31、。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會有一個(gè)WEB-INF目錄,這個(gè)目錄很重要。通常在WEB-INF目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下9。Tomcat應(yīng)用程序的部署很簡單,只需將使用者的WAR放到Tomcat的webapp目錄下,Tomcat會自動(dòng)檢測到這個(gè)文件,并將其解壓在瀏覽器中
32、訪問這個(gè)應(yīng)用的Jsp時(shí),通常第一次會很慢,因?yàn)門omcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會很快。另外Tomcat也提供了一個(gè)應(yīng)用:manager,訪問這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲在一個(gè)xml文件中。通過這個(gè)應(yīng)用,輔助于Ftp,可以在遠(yuǎn)程通過Web部署和撤銷應(yīng)用。Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的,Jeb服務(wù)器的功能處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。這種
33、集成只需要修改一下Apache和Tomcat的配置文件即可。 因?yàn)門omcat的免費(fèi)并且具有開放性,功能強(qiáng)大。因此,選擇了Tomcat作為獨(dú)立運(yùn)行Web服務(wù)器和JSP引擎10。2.3.4 系統(tǒng)的數(shù)據(jù)庫技術(shù)數(shù)據(jù)庫是以數(shù)據(jù)(數(shù)據(jù)就是對客觀事物的符號表示,是存儲在計(jì)算機(jī)中的模擬客觀事物的一系列信息。對于計(jì)算機(jī)科學(xué)而言,數(shù)據(jù)的含義極為廣泛,凡是可存儲的信息,如文本、圖象、聲音等都可以通過二進(jìn)制編碼而形成數(shù)據(jù))為對象,指為了滿足某種特定應(yīng)用的需要,按照一定的數(shù)據(jù)模型在計(jì)算機(jī)系統(tǒng)中組織、存儲和使用數(shù)據(jù)的數(shù)據(jù)集合。數(shù)據(jù)庫系統(tǒng)是管理大量的、持久的、可靠的和共享的數(shù)據(jù)的工具。數(shù)據(jù)庫有以下特點(diǎn):(1)集成性:數(shù)據(jù)
34、有兩層含義,一個(gè)是數(shù)據(jù)本身,一個(gè)是數(shù)據(jù)之間的關(guān)系。集成就是指把數(shù)據(jù)集中到一起來,按照一定的結(jié)構(gòu)形式進(jìn)行存儲,并通過一系列的機(jī)制約束數(shù)據(jù) 之間的關(guān)系,避免數(shù)據(jù)重復(fù)或不合要求。(2)量大性:數(shù)據(jù)庫中存放的數(shù)據(jù)量一般都比較龐大,不能同時(shí)在內(nèi)存中全部調(diào)用,而只能通過外部存儲器存儲,通常使用大容量的可移動(dòng)磁盤或硬盤等設(shè)備。(3)共享性:指多個(gè)不同的用戶,為了不同的目的,可以使用不同的語言,通過不同的方式,訪問同一個(gè)數(shù)據(jù)庫,而訪問的范圍、可執(zhí)行的操作會有所區(qū)別。數(shù)據(jù)庫系統(tǒng)會提供相應(yīng)的機(jī)制,保證這種共享在有序的條件下進(jìn)行,可以避免因?yàn)橥蕉斐傻腻e(cuò)誤。(4)持久性:一般來說,數(shù)據(jù)庫中是數(shù)據(jù)都需要長期保存。在
35、管理平臺系統(tǒng)中,Web提供了與客戶進(jìn)行通信聯(lián)絡(luò)的有效手段,得用Web技術(shù),可實(shí)現(xiàn)Web服務(wù)器與數(shù)據(jù)庫系統(tǒng)的連接,完成對數(shù)據(jù)的處理與查詢。用戶可以通過操作簡單易學(xué)的瀏覽器來查詢處理所需要的各種數(shù)據(jù)。實(shí)現(xiàn)Web服務(wù)器與數(shù)據(jù)庫的連接最主要的方法之一:是利用中間件技術(shù)在兩者之間建立連接和通信,如CGI和JSP應(yīng)用編程接口。Web服務(wù)器通過調(diào)用CGI程序?qū)崿F(xiàn)與Web瀏覽器的交互,即CGI程序接受瀏覽器發(fā)給Web服務(wù)器的信息,進(jìn)行處理后,將相應(yīng)結(jié)果再送給Web服務(wù)器,通過Web服務(wù)器將信息傳送給瀏覽器。但CGI程序在響應(yīng)速度和資源利用等方面有較大局限性,客戶端每請求一個(gè)CGI程序,服務(wù)器便打開一個(gè)進(jìn)程,當(dāng)
36、請求的數(shù)量較大時(shí)容易引起“瓶頸”現(xiàn)象。因此,開發(fā)人員常利用JSP編程來擴(kuò)展服務(wù)器功能,JSP程序占用系統(tǒng)資源少,運(yùn)行效率較高,但它的編程較CGI程序更為復(fù)雜11。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。而2009年,SUN又被Oracle收購。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi)。這樣就增加了速度并提高了靈活性。MySQL的SQL“結(jié)構(gòu)化查詢語言”。SQL是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件采用了GPL(GNU通用公共許可證)。由于其體積小
37、、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個(gè)人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。 2.3.5 Structs介紹Struts最早是作為Apache Jakarta項(xiàng)目的組成部分問世運(yùn)作。項(xiàng)目的創(chuàng)立者希望通過對該
38、項(xiàng)目的研究,改進(jìn)和提高Java Server Pages、Servlet、標(biāo)簽庫以及面向?qū)ο蟮募夹g(shù)水準(zhǔn)。Struts這個(gè)名字來源于在建筑和舊式飛機(jī)中使用的支持金屬架。它的目的是為了減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時(shí)間。你仍然需要學(xué)習(xí)和應(yīng)用該架構(gòu),不過它將可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開源軟件,這是它的一大優(yōu)點(diǎn),使開發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。除此之外,Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個(gè)方面:Taglib和頁面導(dǎo)航。Taglib是Struts的標(biāo)記庫,靈活動(dòng)用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的JSP開發(fā)
39、者而言,除了使用JSP自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許Struts是一個(gè)很好的起點(diǎn)。關(guān)于頁面導(dǎo)航,我認(rèn)為那將是今后的一個(gè)發(fā)展方向,事實(shí)上,這樣做,使系統(tǒng)的脈絡(luò)更加清晰。通過一個(gè)配置文件,即可把握整個(gè)系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護(hù)有著莫大的好處。尤其是當(dāng)另一批開發(fā)者接手這個(gè)項(xiàng)目時(shí),這種優(yōu)勢體現(xiàn)得更加明顯。MVC即Model-View-Controller的縮寫,是一種常用的設(shè)計(jì)模式。MVC 減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化。Struts 是MVC的一種實(shí)現(xiàn),它將 Servlet和 JSP 標(biāo)記(屬于 J2EE 規(guī)范)用作實(shí)現(xiàn)的一部分。Struts繼
40、承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn),做了相應(yīng)的變化與擴(kuò)展。struts框架具有組件的模塊化,靈活性和重用性的優(yōu)點(diǎn),同時(shí)簡化了基于MVC的web應(yīng)用程序的開發(fā)。接下來詳細(xì)討論struts架構(gòu)。我們將看到struts是如何清晰地區(qū)分控制,事務(wù)邏輯和外觀,從而簡化了開發(fā)應(yīng)用程序過程的。我們還將介紹struts提供的類如何使得開發(fā)工作更加簡單,這些類包括: 控制程序流程的類、實(shí)現(xiàn)和執(zhí)行程序事務(wù)邏輯的類、自定義的標(biāo)記庫使得創(chuàng)建和驗(yàn)證HTML表單更加容易12。Struts體系結(jié)構(gòu):讓我們從MVC角度觀察struts框架中的組件框架中三個(gè)部分:模型,視窗和控制器。在struts框架中,模型分為兩個(gè)部
41、分:系統(tǒng)的內(nèi)部狀態(tài)、可以改變狀態(tài)的操作(事務(wù)邏輯),如圖2.1所示。 Struts-config.xmlActionForm客戶瀏覽器控制器ActionServlet模型 JavaBeanAction視圖JSP2.請求填充Form Bean3.將Http請求分發(fā)至5.轉(zhuǎn)發(fā)Http請求6.Http響應(yīng)圖2.1 Struts的工作原理內(nèi)部狀態(tài)通常由一組ActionForm JavaBean表示。根據(jù)設(shè)計(jì)或應(yīng)用程序復(fù)雜度的不同,這些Bean可以是自包含的并具有持續(xù)的狀態(tài),或只在需要時(shí)才獲得數(shù)據(jù)(從某個(gè)數(shù)據(jù)庫)。 大型應(yīng)用程序通常在方法內(nèi)部封裝事務(wù)邏輯(操作),這些方法可以被擁有狀態(tài)信息的bean調(diào)用
42、。比如購物車bean,它擁有用戶購買商品的信息,可能還有checkOut()方法用來檢查用戶的信用卡,并向倉庫發(fā)定貨信息。 小型程序中,操作可能會被內(nèi)嵌在Action類,它是struts框架中控制器角色的一部分。當(dāng)邏輯簡單時(shí)這個(gè)方法很適合。 建議用戶將事務(wù)邏輯(要做什么)與Action類所扮演的角色(決定做什么)分開。視圖由JSP建立,struts包含擴(kuò)展自定義標(biāo)簽庫,可以簡化創(chuàng)建完全國際化用戶界面的過程。struts中,基本的控制器組件是ActionServlet類中的實(shí)例servelt,實(shí)際使用的servlet在配置文件中由一組映射(由ActionMapping類進(jìn)行描述)進(jìn)行定義。 框架
43、中所使用的組件: ActionServlet 控制器 ActionClass 包含事務(wù)邏輯 ActionForm 顯示模塊數(shù)據(jù) ActionMapping 幫助控制器將請求映射到操作 ActionForward 用來指示操作轉(zhuǎn)移的對象 ActionError 用來存儲和回收錯(cuò)誤 Struts標(biāo)記庫 可以減輕開發(fā)顯示層次的工作 Struts的MVC圖如圖2.2所示。圖2.2 Struts的MVC圖2.3.6 Hibernate介紹Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hiber
44、nate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。 Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對這五個(gè)核心接口分別加以介紹。 (1)Session接口。Session接口負(fù)責(zé)執(zhí)行被持久化對象的CRUD操
45、作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語時(shí),其實(shí)指的是Hibernate中的session,而以后會將HttpSesion對象稱為用戶session。 (2)SessionFactory接口。SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因?yàn)橐话闱闆r下,一個(gè)
46、項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫時(shí),可以為每個(gè)數(shù)據(jù)庫指定一個(gè)SessionFactory。 (3)Configuration接口。Configuration接口負(fù)責(zé)配置并啟動(dòng)Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動(dòng)的過程中,Configuration類的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。 (4)Transaction接口。Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。 (5)Query和Criteria接口。Q
47、uery和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫查詢功能。它可以使用HQL語言或SQL語句兩種表達(dá)方式13。第2.4節(jié) 業(yè)務(wù)流程分析系統(tǒng)設(shè)計(jì)以前,要對系統(tǒng)需求進(jìn)行歸納分析,查找出所有的業(yè)務(wù)主角,確定業(yè)務(wù)主角后,每個(gè)主角的相關(guān)活動(dòng)及流程應(yīng)清晰地制定出來,最終設(shè)計(jì)出邏輯視圖、用戶界面示意圖。在進(jìn)行業(yè)務(wù)流程設(shè)計(jì),需要注意以下事項(xiàng):(1)調(diào)查用戶網(wǎng)絡(luò)環(huán)境和配置,使系統(tǒng)能夠具有合理可行的系統(tǒng)架構(gòu)。(2)調(diào)查用戶偏好和技能水平,這將直接影響到項(xiàng)目開發(fā)的深度和用戶界面的設(shè)計(jì)。(3)預(yù)測并制定系統(tǒng)的性能指標(biāo),為編寫測試計(jì)劃提供依據(jù)。業(yè)務(wù)流程圖圖例如圖2.3所示。圖2.3 業(yè)務(wù)流程圖圖例網(wǎng)上寵物購買主要是針對實(shí)
48、現(xiàn)寵物的網(wǎng)上銷售而實(shí)現(xiàn)的,主要功能包括用戶注冊,用戶登錄,用戶個(gè)人信息的修改,前臺的寵物查看,寵物檢索;后臺主要實(shí)現(xiàn)寵物的增加,編輯功能,另外用戶可對滿意寵物提交訂單,管理員可對訂單進(jìn)行處理等功能。經(jīng)過認(rèn)真地調(diào)查研究、信息流程分析和數(shù)據(jù)收集,以及上述功能,可以繪制系統(tǒng)流程圖,如圖2.4所示。用戶信息查看用戶信息查看個(gè)人信息管理者管理寵物增加寵物信息寵物信息編輯寵物信息刪除寵物信息處理訂單信息用戶查看寵物信息搜索寵物信息添加訂單信息編輯訂單信息訂單信息提交訂單信息編輯個(gè)人信息圖2.4 系統(tǒng)業(yè)務(wù)流程圖第2.5節(jié) 系統(tǒng)的數(shù)據(jù)流程圖分析數(shù)據(jù)流程圖是一種能全面地描述信息系統(tǒng)邏輯模型的主要工具,它可以用少
49、數(shù)幾種符號綜合地反映出信息在系統(tǒng)中的流動(dòng)、處理和存儲情況。管理調(diào)查過程中繪制的業(yè)務(wù)流程圖和表格分配圖等雖然形象地表達(dá)了管理信息中的流動(dòng)和存儲過程,但仍沒有完全脫離一些物質(zhì)要素、數(shù)據(jù)流程圖則進(jìn)一步舍去物質(zhì)要素,收集有關(guān)資料,用計(jì)算機(jī)進(jìn)行信息管理,為下一步分析做好準(zhǔn)備。如圖2.5所示。圖2.5 數(shù)據(jù)流圖圖例2.5.1 系統(tǒng)的頂層數(shù)據(jù)流程系統(tǒng)中有兩個(gè)實(shí)體:用戶和管理員。有三個(gè)數(shù)據(jù)流:向系統(tǒng)提交的用戶信息和訂單信息、從系統(tǒng)獲得的寵物信息。如圖2.6所示。訂單信息寵物信息寵物信息用戶信息用戶信息訂單信息P1網(wǎng)上購物寵物店系統(tǒng)用戶管理員圖2.6 系統(tǒng)數(shù)據(jù)流圖頂層圖2.5.2 系統(tǒng)的一層數(shù)據(jù)流程圖在系統(tǒng)中用
50、戶可以查看寵物信息、搜索寵物信息、管理訂單信息以及查看和管理個(gè)人信息。管理員可以查看用戶信息、管理寵物信息以及處理訂單。而這些信息都存儲在系統(tǒng)的數(shù)據(jù)庫中。流程如圖2.7所示。用戶P1網(wǎng)上購物寵物店系統(tǒng)P2查看寵物信息P8查看個(gè)人信息P9編輯個(gè)人信息管理員P4管理訂單信息P5查看用戶信息P6管理寵物信息P7處理訂單信息P3搜索寵物信息 圖2.7 系統(tǒng)數(shù)據(jù)流圖一層圖2.5.3 增加新寵物模塊的流程圖增加新寵物模塊中,系統(tǒng)管理員可以新增寵物,將新增的寵物信息提交到系統(tǒng)的數(shù)據(jù)庫中。流程如圖2.8所示。管理員P2.1增加寵物P2.2修改寵物信息寵物信息D1圖2.8 增加寵物模塊數(shù)據(jù)流程圖2.5.4 查看
51、寵物信息模塊的流程圖查看寵物信息模塊中,用戶查看系統(tǒng)中的寵物信息可以分為兩個(gè)操作,直接查看和搜索查看。執(zhí)行這兩個(gè)操作后會從數(shù)據(jù)庫中得到相應(yīng)的數(shù)據(jù)。流程如圖2.9所示。用戶P3.1查看寵物信息P3.2搜索寵物信息寵物信息D1圖2.9 查詢寵物模塊數(shù)據(jù)流程圖2.5.5 訂單信息管理模塊流程圖訂單信息管理模塊主要包括用戶對自己滿意的寵物可添加其訂單信息,對自己的訂單信息可進(jìn)行編輯,對滿意的訂單信息可進(jìn)行提交。管理員可以對用戶提交的訂單信息進(jìn)行處理。該模塊的具體數(shù)據(jù)流程圖如圖2.10所示。用戶P4.1添加訂單信息P4.3提交訂單信息訂單信息D2P4.2編輯訂單信息管理員P4.4處理訂單信息圖2.10
52、訂單信息管理模塊數(shù)據(jù)流程圖2.5.6 用戶信息管理模塊數(shù)據(jù)流程圖用戶信息管理模塊可以分為兩部分:(1)用戶可以查看自己的個(gè)人信息,并且可以對信息進(jìn)行編輯,然后提交。(2)管理員可以通過一定的權(quán)限查看本系統(tǒng)用戶的信息。流程如圖2.11所示。用戶P5.1查看個(gè)人信息P5.2編輯個(gè)人信息用戶信息D3P5.3查看用戶信息管理員圖2.11 用戶信息管理模塊數(shù)據(jù)流圖第3章 系統(tǒng)設(shè)計(jì)第3.1節(jié) 系統(tǒng)功能需求本課題研究的對象是網(wǎng)上寵物購買,網(wǎng)上寵物購買是隨計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展而發(fā)展起來的,根據(jù)實(shí)際特點(diǎn),該系統(tǒng)的功能主要有以下幾個(gè)方面:用戶信息管理:主要實(shí)現(xiàn)個(gè)人用戶根據(jù)個(gè)人信息進(jìn)行注冊的功能,用戶根據(jù)不同身份權(quán)限登
53、錄系統(tǒng),普通用戶登錄系統(tǒng)后可以對自己信息進(jìn)行修改,管理員通過身份驗(yàn)證后,可以對用戶個(gè)人信息進(jìn)行查看。寵物信息管理:前臺主要完成對寵物的查詢和查看功能,后臺寵物管理主要完成對寵物的增加、查看、查詢功能的實(shí)現(xiàn)與設(shè)計(jì)。訂單信息管理:主要完成的是用戶對訂單信息的添加和編輯,以及對訂單信息的提交,管理員對用戶提交的訂單信息進(jìn)行處理。第3.2節(jié) 系統(tǒng)功能模塊設(shè)計(jì)3.2.1 用戶信息管理模塊(1)用戶注冊:在網(wǎng)上寵物購買的首頁可進(jìn)行用戶注冊,用戶通過對注冊信息的填寫,可以擁有自己的帳號。(2)查看用戶信息:用戶對自己的注冊信息可進(jìn)行查看;管理員具有查看全部用戶信息的權(quán)限。(3)編輯用戶信息:用戶登陸后只可對
54、自己的個(gè)人信息進(jìn)行編輯;而管理員可對用戶信息進(jìn)行編輯。3.2.2 寵物信息管理模塊(1)添加寵物信息模塊:該模塊是管理員通過權(quán)限身份驗(yàn)證后,才可以操作的,管理員登陸后,可在系統(tǒng)中添加新的寵物信息。(2)編輯寵物信息模塊:管理員對系統(tǒng)中的寵物信息可進(jìn)行編輯,也可刪除某寵物的信息。(3)查看寵物信息模塊:該模塊主要是用戶對寵物信息進(jìn)行查看。(4)搜索寵物信息模塊:用戶在可系統(tǒng)中輸入寵物的相關(guān)信息作為搜索條件,經(jīng)過模糊匹配,系統(tǒng)將列出符合搜索條件的寵物信息。第3.3節(jié) 系統(tǒng)總體結(jié)構(gòu)圖本系統(tǒng)可以分為3個(gè)大模塊:用戶信息模塊、寵物信息模塊、訂單信息模塊。具體結(jié)構(gòu)如圖3.1所示。網(wǎng)上寵物購買用戶信息管理模
55、塊寵物信息模塊注冊用戶模塊編輯個(gè)人信息模塊查看用戶信息模塊添加寵物信息模塊編輯寵物信息模塊查看寵物信息模塊搜索寵物信息模塊訂單信息模塊添加訂單信息模塊編輯訂單信息模塊提交訂單信息模塊處理訂單信息模塊圖3.1 系統(tǒng)功能結(jié)構(gòu)圖第3.4節(jié) 數(shù)據(jù)庫設(shè)計(jì)3.4.1 數(shù)據(jù)庫設(shè)計(jì)概述從20世紀(jì)80年代以來,數(shù)據(jù)庫技術(shù)在商業(yè)領(lǐng)域的巨大成功刺激了對數(shù)據(jù)庫技術(shù)需求的迅速增長,數(shù)據(jù)庫技術(shù)也得到了極大的發(fā)展,其特征表現(xiàn)在:各種學(xué)科技術(shù)的內(nèi)容與數(shù)據(jù)庫技術(shù)的有機(jī)結(jié)合,從而使數(shù)據(jù)庫領(lǐng)域中新內(nèi)容、新應(yīng)用、新技術(shù)層出不窮,形成了當(dāng)今的數(shù)據(jù)庫家族。數(shù)據(jù)庫設(shè)計(jì)有兩種不同的方法:以信息需求為主,兼顧處理需求,這種方法稱為面向數(shù)據(jù)的設(shè)
56、計(jì)方法。以處理需求為主,兼顧信息需求,這種方法稱為面向過程的設(shè)計(jì)方法。數(shù)據(jù)庫設(shè)計(jì)的3個(gè)特點(diǎn):(1)反復(fù)性(Iterative)(2)試探性(Tentative)(3)分步進(jìn)行(Multistage)。數(shù)據(jù)庫設(shè)計(jì)的過程(六個(gè)階段) :(1)需求分析階段(2)概念結(jié)構(gòu)設(shè)計(jì)階段(3)邏輯結(jié)構(gòu)設(shè)計(jì)階段(4)數(shù)據(jù)庫物理設(shè)計(jì)階段(5)數(shù)據(jù)庫實(shí)施階段(6)數(shù)據(jù)庫運(yùn)行和維護(hù)階段。數(shù)據(jù)庫設(shè)計(jì)應(yīng)包含兩方面的內(nèi)容: (1)結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì):也就是設(shè)計(jì)數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu)數(shù)據(jù)庫模式是各應(yīng)用程序共享的結(jié)構(gòu),是穩(wěn)定的、永久的結(jié)構(gòu),因此數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)是否合理直接影響到系統(tǒng)中各個(gè)處理過程的性能和質(zhì)量。(2)行為(處理)設(shè)計(jì)
57、:即設(shè)計(jì)應(yīng)用程序、事務(wù)處理等結(jié)構(gòu)特性不能與行為特性分離。靜態(tài)的結(jié)構(gòu)特性的設(shè)計(jì)與動(dòng)態(tài)的行為特性的設(shè)計(jì)分離,會導(dǎo)致數(shù)據(jù)與程序不易結(jié)合,增加數(shù)據(jù)庫設(shè)計(jì)的復(fù)雜性14。 3.4.2 E-R圖簡述ER圖是識別功能模型與數(shù)據(jù)模型間關(guān)聯(lián)關(guān)系的,在主題數(shù)據(jù)庫的抽取和規(guī)范化的過程中,采用的是簡化的E-R圖表示方法,從而避免過繁過細(xì)的E-R圖表示影響規(guī)劃的直觀和可用性。系統(tǒng)建模階段的重要工作主要包括主題數(shù)據(jù)庫的抽取、建立,基本表的登記和數(shù)據(jù)元素的規(guī)范化等。在規(guī)劃工具包中也提供專門的ER圖繪制軟件,并且與相應(yīng)的ERWIN、POWERDESIGN等軟件有接口,保證數(shù)據(jù)的可用性和系統(tǒng)的開放性,利于實(shí)施階段的成果展現(xiàn)和使用
58、。構(gòu)成E-R圖的基本要素是實(shí)體型、屬性以及聯(lián)系,其表示方法為:實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名。屬 性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來。聯(lián) 系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名。本系統(tǒng)的E-R圖如圖3.2所示。11NNN1N1查看寵物信息添加寵物信息編輯寵物信息寵物信息搜索寵物1111N111添加訂單信息編輯訂單信息用戶1N11查看個(gè)人信息編輯個(gè)人信息管理員用戶信息查看用戶信息查看訂單信息提交訂單信息訂單信息處理訂單信息圖3.2 系統(tǒng)基本ER圖第4章 系統(tǒng)的實(shí)現(xiàn)第4.1節(jié) 網(wǎng)上寵物購買登錄模塊的實(shí)現(xiàn)4.1.1 系統(tǒng)首頁網(wǎng)上寵物購買首頁主要是提供了用戶網(wǎng)站前臺的所有功能的展
59、現(xiàn),其中包括寵物信息的動(dòng)態(tài)顯示、會員注冊、會員登陸、管理員入口、商品分類導(dǎo)航、寵物搜索等。網(wǎng)上寵物購買的首頁實(shí)現(xiàn)如圖4.1所示。圖4.1 系統(tǒng)首頁4.1.2 用戶登錄用戶登錄模塊的部分代碼如下:public ActionForward login(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) MemLoginForm memLoginForm = (MemLoginForm) form;MemService service = new MemSer
60、viceImpl();ActionForward forward = null;ActionMessages msgs = new ActionMessages();tryMember mem = service.memLogin(memLoginForm.getLoginName(), memLoginForm.getLoginPwd();if (mem!=null)request.getSession().setAttribute(member, mem);forward = new ActionForward(/mer.do?method=browseIndexMer);elseforward = mapping.getInputForward();msgs.add(loginError,new ActionMessage(Constants.ADMIN_LOGINERROR_KEY);saveErrors(request, msgs);catch(Exception ex)logger.info(在執(zhí)行LoginAction類中的login方法時(shí)出錯(cuò):n);ex.printStackTrace()
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 24香港璀璨的明珠
- 第02講 第一章 綜合布線基礎(chǔ)知識
- 預(yù)防傳染病課件
- 【創(chuàng)新設(shè)計(jì)】2011屆高考生物一輪復(fù)習(xí) 第5章單元綜合提升 細(xì)胞增殖、分化、衰老和凋亡課件 蘇教版必修1
- 512防震減災(zāi)安全教育班會課件
- 2022年浙教初中數(shù)學(xué)八下《反證法》課件10
- 1山中訪友課后作業(yè)(A組-基礎(chǔ)篇)
- 產(chǎn)后出血完整版
- 質(zhì)量培訓(xùn)教材(2)
- 部編版一年級下冊語文課件第三單元語文園地三(完美版)
- 我最好老師課件
- 面向?qū)ο蟾呒墤?yīng)用及C-sharp-語法新特性課件
- 堿金屬元素課件
- 部編人教版六年級語文下冊14《文言文二則-》學(xué)-弈課件
- 部編版六年級上冊語文課件--宇宙生命之謎