秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

畢業(yè)設(shè)計(jì)(論文)-JSP網(wǎng)上寵物商店的設(shè)計(jì)與實(shí)現(xiàn).doc

上傳人:good****022 文檔編號(hào):116790311 上傳時(shí)間:2022-07-06 格式:DOC 頁(yè)數(shù):45 大小:770.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
畢業(yè)設(shè)計(jì)(論文)-JSP網(wǎng)上寵物商店的設(shè)計(jì)與實(shí)現(xiàn).doc_第1頁(yè)
第1頁(yè) / 共45頁(yè)
畢業(yè)設(shè)計(jì)(論文)-JSP網(wǎng)上寵物商店的設(shè)計(jì)與實(shí)現(xiàn).doc_第2頁(yè)
第2頁(yè) / 共45頁(yè)
畢業(yè)設(shè)計(jì)(論文)-JSP網(wǎng)上寵物商店的設(shè)計(jì)與實(shí)現(xiàn).doc_第3頁(yè)
第3頁(yè) / 共45頁(yè)

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)設(shè)計(jì)(論文)-JSP網(wǎng)上寵物商店的設(shè)計(jì)與實(shí)現(xiàn).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)(論文)-JSP網(wǎng)上寵物商店的設(shè)計(jì)與實(shí)現(xiàn).doc(45頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、北京化工大學(xué)北方學(xué)院畢業(yè)設(shè)計(jì)(論文)誠(chéng)信申明本人申明:我所呈交的本科畢業(yè)設(shè)計(jì)(論文)是本人在導(dǎo)師指導(dǎo)下對(duì)四年專(zhuān)業(yè)知識(shí)而進(jìn)行的研究工作及全面的總結(jié)。盡我所知,除了文中特別加以標(biāo)注和致謝中所羅列的內(nèi)容以外,論文中創(chuàng)新處不包含其他人已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果,也不包含為獲得北京化工大學(xué)或其它教育機(jī)構(gòu)的學(xué)位或證書(shū)而已經(jīng)使用過(guò)的材料。與我一同完成畢業(yè)設(shè)計(jì)(論文)的同學(xué)對(duì)本課題所做的任何貢獻(xiàn)均已在文中做了明確的說(shuō)明并表示了謝意。若有不實(shí)之處,本人承擔(dān)一切相關(guān)責(zé)任。本人簽名: 年 月 日 網(wǎng)上寵物商店的設(shè)計(jì)與實(shí)現(xiàn)摘 要科學(xué)技術(shù)日新月異的進(jìn)步讓人類(lèi)生活發(fā)生了巨大的變化,計(jì)算機(jī)技術(shù)的飛速發(fā)展,使各行各業(yè)在計(jì)算機(jī)

2、技術(shù)應(yīng)用方面得到了廣泛的普及和使用。因此,網(wǎng)上寵物購(gòu)買(mǎi)也以方便、快捷、費(fèi)用低的優(yōu)點(diǎn)正慢慢地進(jìn)入人們的生活,將傳統(tǒng)的寵物買(mǎi)賣(mài)方式徹底的解脫出來(lái),提高效率,減輕工人人員以往繁忙的工作,減小出錯(cuò)的概率,使寵物購(gòu)買(mǎi)者可以花更多的時(shí)間在選擇寵物上。從而使人們有更多時(shí)間來(lái)獲取信息、了解信息、掌握信息 。JSP(Java Server Pages)技術(shù)是由Sun公司發(fā)布的用于開(kāi)發(fā)動(dòng)態(tài)Web應(yīng)用的一項(xiàng)技術(shù)。它以其簡(jiǎn)單易學(xué)、跨平臺(tái)的特性,在眾多動(dòng)態(tài)Web應(yīng)用程序設(shè)計(jì)語(yǔ)言中異軍突起,在短短幾年中已經(jīng)形成了一套完整的規(guī)范,并廣泛地應(yīng)用于電子商務(wù)等各個(gè)領(lǐng)域中。在國(guó)內(nèi),JSP現(xiàn)在也得到了比較廣泛的重視,得到了很好的發(fā)展

3、,越來(lái)越多的動(dòng)態(tài)網(wǎng)站開(kāi)始采用JSP技術(shù)。JSP技術(shù)可以以一種簡(jiǎn)捷而快速的方法生成Web頁(yè)面。使用JSP技術(shù)的Web頁(yè)面可以很容易地顯示動(dòng)態(tài)內(nèi)容。因此本人結(jié)合實(shí)際要求,對(duì)MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)、SQL語(yǔ)言原理、JSP技術(shù)進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主要完成對(duì)網(wǎng)上寵物購(gòu)買(mǎi)的需求分析、功能模塊劃分、數(shù)據(jù)庫(kù)模式分析,并由此設(shè)計(jì)了數(shù)據(jù)庫(kù)結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運(yùn)行實(shí)現(xiàn)了用戶(hù)信息管理,寵物信息管理等功能。本系統(tǒng)經(jīng)過(guò)測(cè)試,運(yùn)行效果穩(wěn)定,操作方便、快捷。在具體的應(yīng)用過(guò)程中,有可能會(huì)出現(xiàn)一些問(wèn)題,今后我們還會(huì)對(duì)本系統(tǒng)不斷地進(jìn)行完善、更新,使其功能更強(qiáng)大,應(yīng)用更廣泛。關(guān)鍵詞:購(gòu)物寵物店 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章 課題研究?jī)r(jià)值2第1.1節(jié) 選題背景及意義2第1.2節(jié) 研究現(xiàn)狀2第1.3節(jié) 論文的研究?jī)?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ù)庫(kù)設(shè)計(jì)20第4章 系統(tǒng)的實(shí)現(xiàn)23第4.1節(jié) 網(wǎng)上寵物購(gòu)買(mǎi)登錄模塊的實(shí)現(xiàn)23第4.2節(jié) 寵物信息分類(lèi)顯示26第4.3節(jié) 購(gòu)物車(chē)模塊27第4.4節(jié) 站內(nèi)搜索模塊29第4.5節(jié) 后臺(tái)管理 模塊29第5章 系統(tǒng)的測(cè)試與維護(hù)30第5.1節(jié) 系統(tǒng)測(cè)的試簡(jiǎn)述30第5.2節(jié) 系統(tǒng)運(yùn)行環(huán)境的搭建31第5.3節(jié) 系統(tǒng)測(cè)試32結(jié) 論34參考文獻(xiàn)35致 謝3637北京化工大學(xué)北方學(xué)院畢業(yè)設(shè)計(jì)(論文)前 言隨著科技發(fā)展和社會(huì)進(jìn)步,21世紀(jì)進(jìn)入了信息的時(shí)代,是網(wǎng)絡(luò)的時(shí)代,進(jìn)入信息社會(huì)高速發(fā)展的時(shí)代,數(shù)字化革命給所有領(lǐng)域帶來(lái)新的改變。隨著Internet的

13、普及,電子商務(wù)近年來(lái)隨著網(wǎng)絡(luò)技術(shù)的發(fā)展而迅速占有了很大的市場(chǎng),足不出戶(hù)就能選購(gòu)多種多樣的商品時(shí)人們已經(jīng)習(xí)以為常的購(gòu)物方式,而現(xiàn)代人對(duì)于寵物的定位也是隨這社會(huì)發(fā)展在變化著,寵物越來(lái)越占有者重要的低位。因此網(wǎng)上寵物商店是應(yīng)運(yùn)而生的一種新型的經(jīng)營(yíng)寵物的方式1。JSP是一種網(wǎng)絡(luò)服務(wù)器端編程環(huán)境。JSP已經(jīng)成為開(kāi)發(fā)信息化平臺(tái)的重要而快速、有效的工具。JSP強(qiáng)大的功能使之成為一種優(yōu)秀的服務(wù)器技術(shù)。隨著網(wǎng)絡(luò)技術(shù)的日益成熟,JSP技術(shù)在網(wǎng)絡(luò)編程中也變得越來(lái)越重要。所以,在我們的畢業(yè)設(shè)計(jì)中,我們采用了JSP作為開(kāi)發(fā)工具,構(gòu)建了一個(gè)便捷的電子商務(wù)網(wǎng)站網(wǎng)上寵物商店系統(tǒng)。該系統(tǒng)能是用戶(hù)在線瀏覽網(wǎng)站上的寵物信息,選購(gòu)自

14、己喜愛(ài)的寵物,并且加入了購(gòu)物車(chē)功能,用戶(hù)可以自己生成訂單,并對(duì)訂單進(jìn)行修改以及管理;本系統(tǒng)還可以后臺(tái)設(shè)置具有不同管理權(quán)限的管理員,對(duì)已有商品,訂單,注冊(cè)會(huì)員進(jìn)行管理。通過(guò)這次的畢業(yè)設(shè)計(jì),我了解了目前流行的電子信息化平臺(tái)構(gòu)成和運(yùn)作原理,掌握了用JavaWeb構(gòu)建動(dòng)態(tài)系統(tǒng)的相關(guān)知識(shí)和技術(shù)原理,鍛煉了自己的動(dòng)手實(shí)踐能力。更重要的是,通過(guò)這次的畢業(yè)設(shè)計(jì),我培養(yǎng)出了刻苦鉆研的學(xué)習(xí)精神和嚴(yán)肅認(rèn)真的學(xué)習(xí)態(tài)度,這對(duì)我以后的學(xué)習(xí)和工作有很大的益處。在這次畢業(yè)設(shè)計(jì)過(guò)程中,我得到了指導(dǎo)老師的悉心指導(dǎo)和同學(xué)的熱心幫助,在此,我對(duì)他們表示衷心的感謝! 第1章 課題研究?jī)r(jià)值第1.1節(jié) 選題背景及意義現(xiàn)在寵物夠買(mǎi)途徑最多莫

15、過(guò)于親臨大中小寵物店,直接購(gòu)買(mǎi),訂購(gòu),但是也有一定的弊端。(1)寵物更新頻率快,但寵物店存貨多為過(guò)期寵物,更新速率緩慢在知識(shí)爆炸的今天,寵物作為知識(shí)傳播媒介,更新,發(fā)布頻率更快,往往剛發(fā)布的寵物不過(guò)一個(gè)月便過(guò)時(shí),而剛上市幾天瘋搶?zhuān)欢W(wǎng)上寵物購(gòu)買(mǎi)在這方面優(yōu)勢(shì)明顯,更新速率可保持與發(fā)布時(shí)間同步,掌握先機(jī),就把握了大眾需求。 (2)購(gòu)物時(shí)間,地域的限制普通寵物店只白天營(yíng)業(yè),晚間打烊,且需要購(gòu)物本人親臨寵物店挑選,而網(wǎng)上寵物店對(duì)此全無(wú)限制,全天24小時(shí)顧客可隨意購(gòu)買(mǎi),搜索只需上網(wǎng)登陸網(wǎng)站,省去舟車(chē)勞頓之苦,即使在家上網(wǎng),也可輕松購(gòu)物。(3)寵物價(jià)普通平常寵物店價(jià)格為正常市場(chǎng)售價(jià),而網(wǎng)上寵物店多長(zhǎng)期打折

16、,加上大量的不定期有獎(jiǎng)優(yōu)惠活動(dòng),網(wǎng)上寵物購(gòu)買(mǎi)的價(jià)目往往更易令購(gòu)寵物者心動(dòng);且選擇方便,更可以貨比三家。(4)資源成本正規(guī)寵物店需要店面租賃,售貨員雇傭,水電裝修等多項(xiàng)雜費(fèi),而網(wǎng)上寵物店的成本相比之下微乎其微,運(yùn)做成本的低廉使得利潤(rùn)及可行性上升。綜上,網(wǎng)上寵物購(gòu)買(mǎi)的優(yōu)勢(shì)明顯,在完善后是一種高效的,系統(tǒng)化的,安全的,具有跨時(shí)代意義的網(wǎng)上購(gòu)物系統(tǒng)。第1.2節(jié) 研究現(xiàn)狀伴隨著網(wǎng)絡(luò)的出現(xiàn),網(wǎng)絡(luò)逐漸融入人們的生活??焖偌皶r(shí)的信息查找,大容量的信息存儲(chǔ),使網(wǎng)絡(luò)與人們的生活息息相關(guān),網(wǎng)上購(gòu)物,已不是陌生詞匯;(1)國(guó)外狀況由于起步較早,設(shè)施基礎(chǔ)好,技術(shù)先進(jìn),如今已經(jīng)被廣泛的使用,人們也已習(xí)慣使用,并從中獲得了

17、便利,在技術(shù)、完整性建設(shè)方面,也日趨成熟。(2)國(guó)內(nèi)現(xiàn)狀網(wǎng)上寵物購(gòu)買(mǎi)才剛剛起步,其規(guī)模和系統(tǒng)性都有待提高,伴隨網(wǎng)絡(luò)普及,越來(lái)越多的人接受了網(wǎng)上寵物購(gòu)買(mǎi),并開(kāi)始慢慢習(xí)慣、喜歡,簡(jiǎn)單快捷的購(gòu)物方式,省時(shí)省力的挑選流程,使人們認(rèn)識(shí)到了網(wǎng)上寵物店的優(yōu)點(diǎn);目前,各類(lèi)購(gòu)物網(wǎng)站如雨后春筍般蓬勃興起,各門(mén)類(lèi)網(wǎng)站鱗次櫛比,網(wǎng)絡(luò)的傳媒性使人們認(rèn)識(shí)到網(wǎng)上購(gòu)物的潛力與前景,并使我們有信心去使之完善2。第1.3節(jié) 論文的研究?jī)?nèi)容隨著互聯(lián)網(wǎng)的普及,網(wǎng)上購(gòu)物已逐漸被人們所接受,它也成為了互聯(lián)網(wǎng)經(jīng)濟(jì)的一個(gè)重要組成部分,網(wǎng)上購(gòu)物為越來(lái)越多人所接受,喜愛(ài);應(yīng)用網(wǎng)絡(luò)優(yōu)勢(shì),開(kāi)發(fā)購(gòu)物寵物店網(wǎng)站,為寵物愛(ài)好者提供便利,節(jié)約選購(gòu)時(shí)間與購(gòu)物

18、成本,也為出售者提供了售賣(mài)媒介,最大程度的發(fā)揮互聯(lián)網(wǎng)本身的信息化優(yōu)勢(shì)是課題研究的主要內(nèi)容,該網(wǎng)上寵物購(gòu)買(mǎi)主要包括如下內(nèi)容3:(1)用戶(hù)注冊(cè):對(duì)于第一次登陸系統(tǒng)的用戶(hù)需要進(jìn)行注冊(cè),已經(jīng)在系統(tǒng)注冊(cè)的用戶(hù)可直接輸入用戶(hù)名和密碼進(jìn)入,無(wú)須重新注冊(cè)。(2)查看用戶(hù)訂單信息:查看已經(jīng)注冊(cè)的用戶(hù)訂單的一些基本信息。(3)修改購(gòu)物車(chē)信息:對(duì)每一條用戶(hù)訂單的基本信息可以進(jìn)行修改操作。(4)刪除購(gòu)物車(chē)信息:可以對(duì)用戶(hù)購(gòu)買(mǎi)寵物信息進(jìn)行刪除操作。(5)管理員添加寵物信息:管理員可以進(jìn)行網(wǎng)站寵物的添加。(6)管理員刪除寵物信息:管理員可以對(duì)寵物信息進(jìn)行刪除操作。(7)用戶(hù)查找寵物信息:用戶(hù)可以通過(guò)搜索查找自己想找的寵物

19、。第2章 系統(tǒng)分析第2.1節(jié) 系統(tǒng)概述2.1.1 系統(tǒng)的一般描述該系統(tǒng)的開(kāi)發(fā)主要是為了實(shí)現(xiàn)網(wǎng)上寵物的買(mǎi)賣(mài),方便用戶(hù)對(duì)寵物信息的查看個(gè)搜索,有效地利用了現(xiàn)有的網(wǎng)絡(luò)資源,促進(jìn)信息化發(fā)展,也能使用戶(hù)利用互聯(lián)網(wǎng)就可以足不出戶(hù)的了解到寵物情況。網(wǎng)上寵物購(gòu)買(mǎi)主要功能包括用戶(hù)注冊(cè),用戶(hù)登錄,用戶(hù)個(gè)人信息的查看和修改,前臺(tái)的寵物查看,寵物檢索,并且可以對(duì)滿(mǎn)意寵物提交訂單,后臺(tái)主要實(shí)現(xiàn)寵物的增加,查看,檢索以及對(duì)用戶(hù)訂單進(jìn)行處理等功能4。2.1.2 系統(tǒng)的運(yùn)行環(huán)境為了保證系統(tǒng)運(yùn)行的效率和可靠性,系統(tǒng)服務(wù)器端應(yīng)具有較高的軟硬件配置,客戶(hù)端的要求不是很高。此應(yīng)用程序可廣泛運(yùn)行于國(guó)際互聯(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ù)庫(kù):MySQL(4)服務(wù)器:Tomcat 6.0 第2.2節(jié) 系統(tǒng)可行性分析2.2.1 技術(shù)可行性本系統(tǒng)采用win 7作為操作平臺(tái)。數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái)選用MySQL該數(shù)據(jù)庫(kù)管理系統(tǒng)在各windows平臺(tái)上都能運(yùn)行,并提供數(shù)據(jù)庫(kù)之間的數(shù)據(jù)復(fù)制功能,可代替現(xiàn)有系統(tǒng)單據(jù)數(shù)據(jù)的手工傳遞工作,降低出錯(cuò)率,提高數(shù)據(jù)的可用性。本系統(tǒng)的應(yīng)用軟件開(kāi)發(fā)平臺(tái)選用JSP。 2.2.2 經(jīng)濟(jì)可行性采用寵物管理借閱系統(tǒng)可取代原系統(tǒng)的手工工作,減少人工開(kāi)支,節(jié)省資金,并且可大大提高信息

21、量的取得,縮短信息處理周期,提高借閱效率,工作人員出錯(cuò)的概率也小了,讀者可以花更多的時(shí)間在選擇寵物和看寵物上。 2.2.3 運(yùn)行可行性本系統(tǒng)操作簡(jiǎn)單,上手較快,寵物管理借閱系統(tǒng),營(yíng)運(yùn)環(huán)境要求低。面對(duì)于系統(tǒng)設(shè)計(jì)還應(yīng)該以“標(biāo)準(zhǔn)性、安全性、兼容性、高效性、保密性、可維護(hù)性”為標(biāo)準(zhǔn),在著眼于當(dāng)前實(shí)用的基礎(chǔ)上,為將來(lái)系統(tǒng)的擴(kuò)展,升級(jí)留有余地。軟件的開(kāi)發(fā)應(yīng)能在較長(zhǎng)時(shí)間內(nèi)滿(mǎn)足學(xué)校的發(fā)展需要。故還需要滿(mǎn)足這幾個(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ì)量可靠,確保不會(huì)由

22、于軟硬件故障造成系統(tǒng)運(yùn)行終止而使整體處于無(wú)序混亂狀態(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)對(duì)信息的處理能力,響應(yīng)能力都應(yīng)是快速而有效的,在軟件編制過(guò)程中應(yīng)充分考慮到這一點(diǎn)。(6)可維護(hù)性:系統(tǒng)軟件設(shè)計(jì)時(shí)應(yīng)采用結(jié)構(gòu)化模塊設(shè)計(jì),以便于開(kāi)發(fā)和維護(hù),也有利于根據(jù)情況隨時(shí)進(jìn)行功能調(diào)整。同時(shí)在系統(tǒng)開(kāi)發(fā)時(shí)應(yīng)該充分考慮到用戶(hù)的日常維護(hù),使之能簡(jiǎn)便易行。通過(guò)可行性分析研究,認(rèn)為新系統(tǒng)的

23、開(kāi)發(fā)方案切實(shí)可行,可進(jìn)行開(kāi)發(fā)。第2.3節(jié) 系統(tǒng)技術(shù)需求2.3.1 軟件體系結(jié)構(gòu)(1)C/S結(jié)構(gòu)80年代,數(shù)據(jù)庫(kù)應(yīng)用主要采用C/S兩層結(jié)構(gòu)。C/S模式是一種非常成熟的應(yīng)用體系結(jié)構(gòu),被廣泛應(yīng)用于各種管理系統(tǒng)中。這種結(jié)構(gòu)在后來(lái)近十年的應(yīng)用中得到了充分發(fā)展,并獲得很大成功。然后隨著信息系統(tǒng)結(jié)構(gòu)的規(guī)模和復(fù)雜度的日益擴(kuò)大,C/S結(jié)構(gòu)也逐漸暴露出其缺陷5。由于客戶(hù)端和服務(wù)器端直接相連,服務(wù)器不得不消耗部分資源用于處理與客戶(hù)端的連接工作。因此,當(dāng)同時(shí)存在大量客戶(hù)端數(shù)據(jù)請(qǐng)求時(shí),服務(wù)器的系統(tǒng)資源可能在應(yīng)付頻繁的連接工作上消耗,也就不能很好地響應(yīng)數(shù)據(jù)請(qǐng)求,客戶(hù)端數(shù)據(jù)請(qǐng)求的堆積可能導(dǎo)致系統(tǒng)整體效率的大幅降低甚至崩潰。

24、主從式結(jié)構(gòu)使得唯一在線的數(shù)據(jù)庫(kù)服務(wù)器成為系統(tǒng)可靠性的極大隱患,如果數(shù)據(jù)庫(kù)服務(wù)器停止工作,整個(gè)系統(tǒng)將癱瘓。客戶(hù)端應(yīng)用程序的分發(fā)工作的繁瑣程度令人難以接受。系統(tǒng)開(kāi)發(fā)完畢后,必須為每臺(tái)客戶(hù)機(jī)安裝客戶(hù)端程序的初始化文件(*.INI)、執(zhí)行文件以及相關(guān)動(dòng)態(tài)連接庫(kù)文件(*. DLL)等。另外,還必須為每臺(tái)客戶(hù)機(jī)的ODBC或BDE進(jìn)行配置。不僅如此,如果系統(tǒng)升級(jí),上述過(guò)程必須重復(fù)一次。在存儲(chǔ)過(guò)程的調(diào)用中,所有處理過(guò)程都在數(shù)據(jù)庫(kù)層進(jìn)行,只是將最終結(jié)果返回客戶(hù)端。這種結(jié)構(gòu)的業(yè)務(wù)邏輯需采用專(zhuān)用語(yǔ)言開(kāi)發(fā),很難移植到其它的數(shù)據(jù)庫(kù)上去6。(2)B/S結(jié)構(gòu)B/S結(jié)構(gòu)是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化

25、或者改進(jìn)的結(jié)構(gòu)它克服了上述C/S結(jié)構(gòu)的缺陷。B/S結(jié)構(gòu)中,事務(wù)處理的邏輯部分從客戶(hù)機(jī)的任務(wù)中分離出來(lái),使客戶(hù)機(jī)不再負(fù)責(zé)處理復(fù)雜計(jì)算和數(shù)據(jù)訪問(wèn)等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,由服務(wù)器來(lái)?yè)?dān)負(fù)更多的工作。用戶(hù)僅通過(guò)瀏覽器就可向服務(wù)器發(fā)出請(qǐng)求,服務(wù)器處理用戶(hù)的請(qǐng)求,并將結(jié)果返回給用戶(hù)。采用基于B/S的多層結(jié)構(gòu),不僅層次結(jié)構(gòu)明了,降低了系統(tǒng)的維護(hù)工作量,提高了系統(tǒng)的開(kāi)放性,尤其是以中間件為基礎(chǔ)的B/S多層結(jié)構(gòu),其核心概念是利用中間件技術(shù)將應(yīng)用的業(yè)務(wù)邏輯、表示邏輯和數(shù)據(jù)分為多個(gè)不同的處理層,不但具備了系統(tǒng)穩(wěn)定、安全和處理能力高等特性,同時(shí)擁有開(kāi)放式系統(tǒng)成本低、可擴(kuò)展性強(qiáng)、開(kāi)發(fā)周期短等優(yōu)點(diǎn)。另外,瀏覽器軟件有著

26、統(tǒng)一的用戶(hù)界面、統(tǒng)一的語(yǔ)言格式、統(tǒng)一的傳輸協(xié)議,用戶(hù)界面簡(jiǎn)單易學(xué),終端用戶(hù)幾乎無(wú)需任何培訓(xùn),系統(tǒng)管理簡(jiǎn)單,有很高的可用性7。2.3.2 開(kāi)發(fā)技術(shù)JSP(Java Server Pages)是由Sun Microsystems公司于1999年6月倡導(dǎo),許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。它的實(shí)現(xiàn)是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(*.jsp)。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶(hù)。程序片段可以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)站所需要的功能,包括操作數(shù)據(jù)庫(kù)、重新定向

27、網(wǎng)頁(yè)及發(fā)送E-mail等等。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶(hù)端的僅驚是得到的結(jié)果,從而對(duì)客戶(hù)瀏覽器的要求很低。JSP技術(shù)被設(shè)計(jì)成為一個(gè)開(kāi)放的、可擴(kuò)展的及用于創(chuàng)建動(dòng)態(tài)Web頁(yè)面的標(biāo)準(zhǔn)。開(kāi)發(fā)人員可以使用JSP技術(shù)來(lái)創(chuàng)建具有可移植性的Web應(yīng)用程序。開(kāi)發(fā)結(jié)果可以在各種Web服務(wù)器和Web應(yīng)用服務(wù)器上運(yùn)行,而不用考慮具體的開(kāi)發(fā)平臺(tái)或開(kāi)發(fā)工具。JSP的工作原理:當(dāng)服務(wù)器上的一個(gè)JSP頁(yè)面被第一次請(qǐng)求執(zhí)行時(shí),服務(wù)器上的JSP引擎首先將JSP頁(yè)面文件轉(zhuǎn)譯成一個(gè)JavaServlet源文件,再將這個(gè)JavaServlet文件編譯生成字節(jié)碼文件,然后通過(guò)執(zhí)行字節(jié)碼文件響應(yīng)客戶(hù)的請(qǐng)求,而當(dāng)這個(gè)JSP

28、頁(yè)面再次被請(qǐng)求執(zhí)行時(shí),JSP引擎將直接執(zhí)行這個(gè)字節(jié)碼文件來(lái)響應(yīng)客戶(hù),這也是JSP比ASP速度快的一個(gè)原因。而JSP頁(yè)面的首次執(zhí)行往往由服務(wù)器管理者來(lái)執(zhí)行。如果原始JSP文件被更新,JSP容器將檢測(cè)所做的更新,在執(zhí)行之前重新生成Servlet并進(jìn)行編譯8。JSP的優(yōu)勢(shì)主要表現(xiàn)在以下幾個(gè)方面:(1)一處編寫(xiě)隨處運(yùn)行。這是一個(gè)程序員的夢(mèng)想,也是從前的程序員的惡夢(mèng),為了在不同的平臺(tái)間運(yùn)行,使許多程序員一行行的重寫(xiě)代碼。在這一點(diǎn)上java已經(jīng)給了我最完美的答案它做的要比php更出色,除了系統(tǒng)之外,你的代碼不用做一點(diǎn)更改的。(2)系統(tǒng)的多臺(tái)平支持。我已經(jīng)在差不多所有平臺(tái)上見(jiàn)到了一致的java servle

29、t/jsp的Web Server/Application Server。系統(tǒng)它可以讓你在任意環(huán)境做開(kāi)發(fā),在任意環(huán)境進(jìn)行系統(tǒng)部署,在任意環(huán)境擴(kuò)展。相比asp/php的局限性是顯面易見(jiàn)的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的jar文件就可以運(yùn)行servlet/jsp到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均橫,到多臺(tái)Application進(jìn)行事務(wù)處理、消息處理一臺(tái)服務(wù)器到無(wú)數(shù)以服務(wù)器,Java顯示了一個(gè)巨人的生命力。(4)多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。這一點(diǎn)與asp很像,java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具而且有許多可以免費(fèi)得到,并且其中的許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。如果你細(xì)心的使用它們會(huì)發(fā)現(xiàn)比

30、自己第一面看到它們時(shí)的功能要強(qiáng)大的多。2.3.3 Tomcat簡(jiǎn)介T(mén)omcat是一個(gè)免費(fèi)的開(kāi)源的Servlet容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache Sun和其它一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的Java產(chǎn)品,可見(jiàn)其在業(yè)界的地位。與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個(gè)WAR(Web Archive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類(lèi)似,也是許多文件的一個(gè)壓縮包

31、。這個(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目錄下則包含編譯好的Servlet類(lèi)和Jsp或Servlet所依賴(lài)的其它類(lèi)(如JavaBean)。通常這些所依賴(lài)的類(lèi)也可以打包成JAR放到WEB-INF下的lib目錄下9。Tomcat應(yīng)用程序的部署很簡(jiǎn)單,只需將使用者的WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓在瀏覽器中

32、訪問(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)用需要用戶(hù)名和密碼,用戶(hù)名和密碼存儲(chǔ)在一個(gè)xml文件中。通過(guò)這個(gè)應(yīng)用,輔助于Ftp,可以在遠(yuǎn)程通過(guò)Web部署和撤銷(xiāo)應(yīng)用。Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的,Jeb服務(wù)器的功能處理Html頁(yè)面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。這種

33、集成只需要修改一下Apache和Tomcat的配置文件即可。 因?yàn)門(mén)omcat的免費(fèi)并且具有開(kāi)放性,功能強(qiáng)大。因此,選擇了Tomcat作為獨(dú)立運(yùn)行Web服務(wù)器和JSP引擎10。2.3.4 系統(tǒng)的數(shù)據(jù)庫(kù)技術(shù)數(shù)據(jù)庫(kù)是以數(shù)據(jù)(數(shù)據(jù)就是對(duì)客觀事物的符號(hào)表示,是存儲(chǔ)在計(jì)算機(jī)中的模擬客觀事物的一系列信息。對(duì)于計(jì)算機(jī)科學(xué)而言,數(shù)據(jù)的含義極為廣泛,凡是可存儲(chǔ)的信息,如文本、圖象、聲音等都可以通過(guò)二進(jìn)制編碼而形成數(shù)據(jù))為對(duì)象,指為了滿(mǎn)足某種特定應(yīng)用的需要,按照一定的數(shù)據(jù)模型在計(jì)算機(jī)系統(tǒng)中組織、存儲(chǔ)和使用數(shù)據(jù)的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)系統(tǒng)是管理大量的、持久的、可靠的和共享的數(shù)據(jù)的工具。數(shù)據(jù)庫(kù)有以下特點(diǎn):(1)集成性:數(shù)據(jù)

34、有兩層含義,一個(gè)是數(shù)據(jù)本身,一個(gè)是數(shù)據(jù)之間的關(guān)系。集成就是指把數(shù)據(jù)集中到一起來(lái),按照一定的結(jié)構(gòu)形式進(jìn)行存儲(chǔ),并通過(guò)一系列的機(jī)制約束數(shù)據(jù) 之間的關(guān)系,避免數(shù)據(jù)重復(fù)或不合要求。(2)量大性:數(shù)據(jù)庫(kù)中存放的數(shù)據(jù)量一般都比較龐大,不能同時(shí)在內(nèi)存中全部調(diào)用,而只能通過(guò)外部存儲(chǔ)器存儲(chǔ),通常使用大容量的可移動(dòng)磁盤(pán)或硬盤(pán)等設(shè)備。(3)共享性:指多個(gè)不同的用戶(hù),為了不同的目的,可以使用不同的語(yǔ)言,通過(guò)不同的方式,訪問(wèn)同一個(gè)數(shù)據(jù)庫(kù),而訪問(wèn)的范圍、可執(zhí)行的操作會(huì)有所區(qū)別。數(shù)據(jù)庫(kù)系統(tǒng)會(huì)提供相應(yīng)的機(jī)制,保證這種共享在有序的條件下進(jìn)行,可以避免因?yàn)橥蕉斐傻腻e(cuò)誤。(4)持久性:一般來(lái)說(shuō),數(shù)據(jù)庫(kù)中是數(shù)據(jù)都需要長(zhǎng)期保存。在

35、管理平臺(tái)系統(tǒng)中,Web提供了與客戶(hù)進(jìn)行通信聯(lián)絡(luò)的有效手段,得用Web技術(shù),可實(shí)現(xiàn)Web服務(wù)器與數(shù)據(jù)庫(kù)系統(tǒng)的連接,完成對(duì)數(shù)據(jù)的處理與查詢(xún)。用戶(hù)可以通過(guò)操作簡(jiǎn)單易學(xué)的瀏覽器來(lái)查詢(xún)處理所需要的各種數(shù)據(jù)。實(shí)現(xiàn)Web服務(wù)器與數(shù)據(jù)庫(kù)的連接最主要的方法之一:是利用中間件技術(shù)在兩者之間建立連接和通信,如CGI和JSP應(yīng)用編程接口。Web服務(wù)器通過(guò)調(diào)用CGI程序?qū)崿F(xiàn)與Web瀏覽器的交互,即CGI程序接受瀏覽器發(fā)給Web服務(wù)器的信息,進(jìn)行處理后,將相應(yīng)結(jié)果再送給Web服務(wù)器,通過(guò)Web服務(wù)器將信息傳送給瀏覽器。但CGI程序在響應(yīng)速度和資源利用等方面有較大局限性,客戶(hù)端每請(qǐng)求一個(gè)CGI程序,服務(wù)器便打開(kāi)一個(gè)進(jìn)程,當(dāng)

36、請(qǐng)求的數(shù)量較大時(shí)容易引起“瓶頸”現(xiàn)象。因此,開(kāi)發(fā)人員常利用JSP編程來(lái)擴(kuò)展服務(wù)器功能,JSP程序占用系統(tǒng)資源少,運(yùn)行效率較高,但它的編程較CGI程序更為復(fù)雜11。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。而2009年,SUN又被Oracle收購(gòu)。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi)。這樣就增加了速度并提高了靈活性。MySQL的SQL“結(jié)構(gòu)化查詢(xún)語(yǔ)言”。SQL是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL軟件采用了GPL(GNU通用公共許可證)。由于其體積小

37、、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。與其他的大型數(shù)據(jù)庫(kù)例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對(duì)比較差)等,但是這絲毫也沒(méi)有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開(kāi)放源碼軟件,因此可以大大降低總體擁有成本。 2.3.5 Structs介紹Struts最早是作為Apache Jakarta項(xiàng)目的組成部分問(wèn)世運(yùn)作。項(xiàng)目的創(chuàng)立者希望通過(guò)對(duì)該

38、項(xiàng)目的研究,改進(jìn)和提高Java Server Pages、Servlet、標(biāo)簽庫(kù)以及面向?qū)ο蟮募夹g(shù)水準(zhǔn)。Struts這個(gè)名字來(lái)源于在建筑和舊式飛機(jī)中使用的支持金屬架。它的目的是為了減少在運(yùn)用MVC設(shè)計(jì)模型來(lái)開(kāi)發(fā)Web應(yīng)用的時(shí)間。你仍然需要學(xué)習(xí)和應(yīng)用該架構(gòu),不過(guò)它將可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開(kāi)源軟件,這是它的一大優(yōu)點(diǎn),使開(kāi)發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。除此之外,Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個(gè)方面:Taglib和頁(yè)面導(dǎo)航。Taglib是Struts的標(biāo)記庫(kù),靈活動(dòng)用,能大大提高開(kāi)發(fā)效率。另外,就目前國(guó)內(nèi)的JSP開(kāi)發(fā)

39、者而言,除了使用JSP自帶的常用標(biāo)記外,很少開(kāi)發(fā)自己的標(biāo)記,或許Struts是一個(gè)很好的起點(diǎn)。關(guān)于頁(yè)面導(dǎo)航,我認(rèn)為那將是今后的一個(gè)發(fā)展方向,事實(shí)上,這樣做,使系統(tǒng)的脈絡(luò)更加清晰。通過(guò)一個(gè)配置文件,即可把握整個(gè)系統(tǒng)各部分之間的聯(lián)系,這對(duì)于后期的維護(hù)有著莫大的好處。尤其是當(dāng)另一批開(kāi)發(fā)者接手這個(gè)項(xiàng)目時(shí),這種優(yōu)勢(shì)體現(xiàn)得更加明顯。MVC即Model-View-Controller的縮寫(xiě),是一種常用的設(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í)簡(jiǎn)化了基于MVC的web應(yīng)用程序的開(kāi)發(fā)。接下來(lái)詳細(xì)討論struts架構(gòu)。我們將看到struts是如何清晰地區(qū)分控制,事務(wù)邏輯和外觀,從而簡(jiǎn)化了開(kāi)發(fā)應(yīng)用程序過(guò)程的。我們還將介紹struts提供的類(lèi)如何使得開(kāi)發(fā)工作更加簡(jiǎn)單,這些類(lèi)包括: 控制程序流程的類(lèi)、實(shí)現(xiàn)和執(zhí)行程序事務(wù)邏輯的類(lèi)、自定義的標(biāo)記庫(kù)使得創(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客戶(hù)瀏覽器控制器ActionServlet模型 JavaBeanAction視圖JSP2.請(qǐng)求填充Form Bean3.將Http請(qǐng)求分發(fā)至5.轉(zhuǎn)發(fā)Http請(qǐng)求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ù)庫(kù))。 大型應(yīng)用程序通常在方法內(nèi)部封裝事務(wù)邏輯(操作),這些方法可以被擁有狀態(tài)信息的bean調(diào)用

42、。比如購(gòu)物車(chē)bean,它擁有用戶(hù)購(gòu)買(mǎi)商品的信息,可能還有checkOut()方法用來(lái)檢查用戶(hù)的信用卡,并向倉(cāng)庫(kù)發(fā)定貨信息。 小型程序中,操作可能會(huì)被內(nèi)嵌在Action類(lèi),它是struts框架中控制器角色的一部分。當(dāng)邏輯簡(jiǎn)單時(shí)這個(gè)方法很適合。 建議用戶(hù)將事務(wù)邏輯(要做什么)與Action類(lèi)所扮演的角色(決定做什么)分開(kāi)。視圖由JSP建立,struts包含擴(kuò)展自定義標(biāo)簽庫(kù),可以簡(jiǎn)化創(chuàng)建完全國(guó)際化用戶(hù)界面的過(guò)程。struts中,基本的控制器組件是ActionServlet類(lèi)中的實(shí)例servelt,實(shí)際使用的servlet在配置文件中由一組映射(由ActionMapping類(lèi)進(jìn)行描述)進(jìn)行定義。 框架

43、中所使用的組件: ActionServlet 控制器 ActionClass 包含事務(wù)邏輯 ActionForm 顯示模塊數(shù)據(jù) ActionMapping 幫助控制器將請(qǐng)求映射到操作 ActionForward 用來(lái)指示操作轉(zhuǎn)移的對(duì)象 ActionError 用來(lái)存儲(chǔ)和回收錯(cuò)誤 Struts標(biāo)記庫(kù) 可以減輕開(kāi)發(fā)顯示層次的工作 Struts的MVC圖如圖2.2所示。圖2.2 Struts的MVC圖2.3.6 Hibernate介紹Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hiber

44、nate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶(hù)端程序使用,也可以在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è)核心接口在任何開(kāi)發(fā)中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五個(gè)核心接口分別加以介紹。 (1)Session接口。Session接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操

45、作(CRUD的任務(wù)是完成與數(shù)據(jù)庫(kù)的交流,包含了很多常見(jiàn)的SQL語(yǔ)句。)。但需要注意的是Session對(duì)象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語(yǔ)時(shí),其實(shí)指的是Hibernate中的session,而以后會(huì)將HttpSesion對(duì)象稱(chēng)為用戶(hù)session。 (2)SessionFactory接口。SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)

46、項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫(kù)時(shí),可以為每個(gè)數(shù)據(jù)庫(kù)指定一個(gè)SessionFactory。 (3)Configuration接口。Configuration接口負(fù)責(zé)配置并啟動(dòng)Hibernate,創(chuàng)建SessionFactory對(duì)象。在Hibernate的啟動(dòng)的過(guò)程中,Configuration類(lèi)的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對(duì)象。 (4)Transaction接口。Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開(kāi)發(fā)人員也可以設(shè)計(jì)編寫(xiě)自己的底層事務(wù)處理代碼。 (5)Query和Criteria接口。Q

47、uery和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫(kù)查詢(xún)功能。它可以使用HQL語(yǔ)言或SQL語(yǔ)句兩種表達(dá)方式13。第2.4節(jié) 業(yè)務(wù)流程分析系統(tǒng)設(shè)計(jì)以前,要對(duì)系統(tǒng)需求進(jìn)行歸納分析,查找出所有的業(yè)務(wù)主角,確定業(yè)務(wù)主角后,每個(gè)主角的相關(guān)活動(dòng)及流程應(yīng)清晰地制定出來(lái),最終設(shè)計(jì)出邏輯視圖、用戶(hù)界面示意圖。在進(jìn)行業(yè)務(wù)流程設(shè)計(jì),需要注意以下事項(xiàng):(1)調(diào)查用戶(hù)網(wǎng)絡(luò)環(huán)境和配置,使系統(tǒng)能夠具有合理可行的系統(tǒng)架構(gòu)。(2)調(diào)查用戶(hù)偏好和技能水平,這將直接影響到項(xiàng)目開(kāi)發(fā)的深度和用戶(hù)界面的設(shè)計(jì)。(3)預(yù)測(cè)并制定系統(tǒng)的性能指標(biāo),為編寫(xiě)測(cè)試計(jì)劃提供依據(jù)。業(yè)務(wù)流程圖圖例如圖2.3所示。圖2.3 業(yè)務(wù)流程圖圖例網(wǎng)上寵物購(gòu)買(mǎi)主要是針對(duì)實(shí)

48、現(xiàn)寵物的網(wǎng)上銷(xiāo)售而實(shí)現(xiàn)的,主要功能包括用戶(hù)注冊(cè),用戶(hù)登錄,用戶(hù)個(gè)人信息的修改,前臺(tái)的寵物查看,寵物檢索;后臺(tái)主要實(shí)現(xiàn)寵物的增加,編輯功能,另外用戶(hù)可對(duì)滿(mǎn)意寵物提交訂單,管理員可對(duì)訂單進(jìn)行處理等功能。經(jīng)過(guò)認(rèn)真地調(diào)查研究、信息流程分析和數(shù)據(jù)收集,以及上述功能,可以繪制系統(tǒng)流程圖,如圖2.4所示。用戶(hù)信息查看用戶(hù)信息查看個(gè)人信息管理者管理寵物增加寵物信息寵物信息編輯寵物信息刪除寵物信息處理訂單信息用戶(hù)查看寵物信息搜索寵物信息添加訂單信息編輯訂單信息訂單信息提交訂單信息編輯個(gè)人信息圖2.4 系統(tǒng)業(yè)務(wù)流程圖第2.5節(jié) 系統(tǒng)的數(shù)據(jù)流程圖分析數(shù)據(jù)流程圖是一種能全面地描述信息系統(tǒng)邏輯模型的主要工具,它可以用少

49、數(shù)幾種符號(hào)綜合地反映出信息在系統(tǒng)中的流動(dòng)、處理和存儲(chǔ)情況。管理調(diào)查過(guò)程中繪制的業(yè)務(wù)流程圖和表格分配圖等雖然形象地表達(dá)了管理信息中的流動(dòng)和存儲(chǔ)過(guò)程,但仍沒(méi)有完全脫離一些物質(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í)體:用戶(hù)和管理員。有三個(gè)數(shù)據(jù)流:向系統(tǒng)提交的用戶(hù)信息和訂單信息、從系統(tǒng)獲得的寵物信息。如圖2.6所示。訂單信息寵物信息寵物信息用戶(hù)信息用戶(hù)信息訂單信息P1網(wǎng)上購(gòu)物寵物店系統(tǒng)用戶(hù)管理員圖2.6 系統(tǒng)數(shù)據(jù)流圖頂層圖2.5.2 系統(tǒng)的一層數(shù)據(jù)流程圖在系統(tǒng)中用

50、戶(hù)可以查看寵物信息、搜索寵物信息、管理訂單信息以及查看和管理個(gè)人信息。管理員可以查看用戶(hù)信息、管理寵物信息以及處理訂單。而這些信息都存儲(chǔ)在系統(tǒng)的數(shù)據(jù)庫(kù)中。流程如圖2.7所示。用戶(hù)P1網(wǎng)上購(gòu)物寵物店系統(tǒng)P2查看寵物信息P8查看個(gè)人信息P9編輯個(gè)人信息管理員P4管理訂單信息P5查看用戶(hù)信息P6管理寵物信息P7處理訂單信息P3搜索寵物信息 圖2.7 系統(tǒng)數(shù)據(jù)流圖一層圖2.5.3 增加新寵物模塊的流程圖增加新寵物模塊中,系統(tǒng)管理員可以新增寵物,將新增的寵物信息提交到系統(tǒng)的數(shù)據(jù)庫(kù)中。流程如圖2.8所示。管理員P2.1增加寵物P2.2修改寵物信息寵物信息D1圖2.8 增加寵物模塊數(shù)據(jù)流程圖2.5.4 查看

51、寵物信息模塊的流程圖查看寵物信息模塊中,用戶(hù)查看系統(tǒng)中的寵物信息可以分為兩個(gè)操作,直接查看和搜索查看。執(zhí)行這兩個(gè)操作后會(huì)從數(shù)據(jù)庫(kù)中得到相應(yīng)的數(shù)據(jù)。流程如圖2.9所示。用戶(hù)P3.1查看寵物信息P3.2搜索寵物信息寵物信息D1圖2.9 查詢(xún)寵物模塊數(shù)據(jù)流程圖2.5.5 訂單信息管理模塊流程圖訂單信息管理模塊主要包括用戶(hù)對(duì)自己滿(mǎn)意的寵物可添加其訂單信息,對(duì)自己的訂單信息可進(jìn)行編輯,對(duì)滿(mǎn)意的訂單信息可進(jìn)行提交。管理員可以對(duì)用戶(hù)提交的訂單信息進(jìn)行處理。該模塊的具體數(shù)據(jù)流程圖如圖2.10所示。用戶(hù)P4.1添加訂單信息P4.3提交訂單信息訂單信息D2P4.2編輯訂單信息管理員P4.4處理訂單信息圖2.10

52、訂單信息管理模塊數(shù)據(jù)流程圖2.5.6 用戶(hù)信息管理模塊數(shù)據(jù)流程圖用戶(hù)信息管理模塊可以分為兩部分:(1)用戶(hù)可以查看自己的個(gè)人信息,并且可以對(duì)信息進(jìn)行編輯,然后提交。(2)管理員可以通過(guò)一定的權(quán)限查看本系統(tǒng)用戶(hù)的信息。流程如圖2.11所示。用戶(hù)P5.1查看個(gè)人信息P5.2編輯個(gè)人信息用戶(hù)信息D3P5.3查看用戶(hù)信息管理員圖2.11 用戶(hù)信息管理模塊數(shù)據(jù)流圖第3章 系統(tǒng)設(shè)計(jì)第3.1節(jié) 系統(tǒng)功能需求本課題研究的對(duì)象是網(wǎng)上寵物購(gòu)買(mǎi),網(wǎng)上寵物購(gòu)買(mǎi)是隨計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展而發(fā)展起來(lái)的,根據(jù)實(shí)際特點(diǎn),該系統(tǒng)的功能主要有以下幾個(gè)方面:用戶(hù)信息管理:主要實(shí)現(xiàn)個(gè)人用戶(hù)根據(jù)個(gè)人信息進(jìn)行注冊(cè)的功能,用戶(hù)根據(jù)不同身份權(quán)限登

53、錄系統(tǒng),普通用戶(hù)登錄系統(tǒng)后可以對(duì)自己信息進(jìn)行修改,管理員通過(guò)身份驗(yàn)證后,可以對(duì)用戶(hù)個(gè)人信息進(jìn)行查看。寵物信息管理:前臺(tái)主要完成對(duì)寵物的查詢(xún)和查看功能,后臺(tái)寵物管理主要完成對(duì)寵物的增加、查看、查詢(xún)功能的實(shí)現(xiàn)與設(shè)計(jì)。訂單信息管理:主要完成的是用戶(hù)對(duì)訂單信息的添加和編輯,以及對(duì)訂單信息的提交,管理員對(duì)用戶(hù)提交的訂單信息進(jìn)行處理。第3.2節(jié) 系統(tǒng)功能模塊設(shè)計(jì)3.2.1 用戶(hù)信息管理模塊(1)用戶(hù)注冊(cè):在網(wǎng)上寵物購(gòu)買(mǎi)的首頁(yè)可進(jìn)行用戶(hù)注冊(cè),用戶(hù)通過(guò)對(duì)注冊(cè)信息的填寫(xiě),可以擁有自己的帳號(hào)。(2)查看用戶(hù)信息:用戶(hù)對(duì)自己的注冊(cè)信息可進(jìn)行查看;管理員具有查看全部用戶(hù)信息的權(quán)限。(3)編輯用戶(hù)信息:用戶(hù)登陸后只可對(duì)

54、自己的個(gè)人信息進(jìn)行編輯;而管理員可對(duì)用戶(hù)信息進(jìn)行編輯。3.2.2 寵物信息管理模塊(1)添加寵物信息模塊:該模塊是管理員通過(guò)權(quán)限身份驗(yàn)證后,才可以操作的,管理員登陸后,可在系統(tǒng)中添加新的寵物信息。(2)編輯寵物信息模塊:管理員對(duì)系統(tǒng)中的寵物信息可進(jìn)行編輯,也可刪除某寵物的信息。(3)查看寵物信息模塊:該模塊主要是用戶(hù)對(duì)寵物信息進(jìn)行查看。(4)搜索寵物信息模塊:用戶(hù)在可系統(tǒng)中輸入寵物的相關(guān)信息作為搜索條件,經(jīng)過(guò)模糊匹配,系統(tǒng)將列出符合搜索條件的寵物信息。第3.3節(jié) 系統(tǒng)總體結(jié)構(gòu)圖本系統(tǒng)可以分為3個(gè)大模塊:用戶(hù)信息模塊、寵物信息模塊、訂單信息模塊。具體結(jié)構(gòu)如圖3.1所示。網(wǎng)上寵物購(gòu)買(mǎi)用戶(hù)信息管理模

55、塊寵物信息模塊注冊(cè)用戶(hù)模塊編輯個(gè)人信息模塊查看用戶(hù)信息模塊添加寵物信息模塊編輯寵物信息模塊查看寵物信息模塊搜索寵物信息模塊訂單信息模塊添加訂單信息模塊編輯訂單信息模塊提交訂單信息模塊處理訂單信息模塊圖3.1 系統(tǒng)功能結(jié)構(gòu)圖第3.4節(jié) 數(shù)據(jù)庫(kù)設(shè)計(jì)3.4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述從20世紀(jì)80年代以來(lái),數(shù)據(jù)庫(kù)技術(shù)在商業(yè)領(lǐng)域的巨大成功刺激了對(duì)數(shù)據(jù)庫(kù)技術(shù)需求的迅速增長(zhǎng),數(shù)據(jù)庫(kù)技術(shù)也得到了極大的發(fā)展,其特征表現(xiàn)在:各種學(xué)科技術(shù)的內(nèi)容與數(shù)據(jù)庫(kù)技術(shù)的有機(jī)結(jié)合,從而使數(shù)據(jù)庫(kù)領(lǐng)域中新內(nèi)容、新應(yīng)用、新技術(shù)層出不窮,形成了當(dāng)今的數(shù)據(jù)庫(kù)家族。數(shù)據(jù)庫(kù)設(shè)計(jì)有兩種不同的方法:以信息需求為主,兼顧處理需求,這種方法稱(chēng)為面向數(shù)據(jù)的設(shè)

56、計(jì)方法。以處理需求為主,兼顧信息需求,這種方法稱(chēng)為面向過(guò)程的設(shè)計(jì)方法。數(shù)據(jù)庫(kù)設(shè)計(jì)的3個(gè)特點(diǎn):(1)反復(fù)性(Iterative)(2)試探性(Tentative)(3)分步進(jìn)行(Multistage)。數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程(六個(gè)階段) :(1)需求分析階段(2)概念結(jié)構(gòu)設(shè)計(jì)階段(3)邏輯結(jié)構(gòu)設(shè)計(jì)階段(4)數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段(5)數(shù)據(jù)庫(kù)實(shí)施階段(6)數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段。數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)包含兩方面的內(nèi)容: (1)結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì):也就是設(shè)計(jì)數(shù)據(jù)庫(kù)框架或數(shù)據(jù)庫(kù)結(jié)構(gòu)數(shù)據(jù)庫(kù)模式是各應(yīng)用程序共享的結(jié)構(gòu),是穩(wěn)定的、永久的結(jié)構(gòu),因此數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)是否合理直接影響到系統(tǒng)中各個(gè)處理過(guò)程的性能和質(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ì)分離,會(huì)導(dǎo)致數(shù)據(jù)與程序不易結(jié)合,增加數(shù)據(jù)庫(kù)設(shè)計(jì)的復(fù)雜性14。 3.4.2 E-R圖簡(jiǎn)述ER圖是識(shí)別功能模型與數(shù)據(jù)模型間關(guān)聯(lián)關(guān)系的,在主題數(shù)據(jù)庫(kù)的抽取和規(guī)范化的過(guò)程中,采用的是簡(jiǎn)化的E-R圖表示方法,從而避免過(guò)繁過(guò)細(xì)的E-R圖表示影響規(guī)劃的直觀和可用性。系統(tǒng)建模階段的重要工作主要包括主題數(shù)據(jù)庫(kù)的抽取、建立,基本表的登記和數(shù)據(jù)元素的規(guī)范化等。在規(guī)劃工具包中也提供專(zhuān)門(mén)的ER圖繪制軟件,并且與相應(yīng)的ERWIN、POWERDESIGN等軟件有接口,保證數(shù)據(jù)的可用性和系統(tǒng)的開(kāi)放性,利于實(shí)施階段的成果展現(xiàn)和使用

58、。構(gòu)成E-R圖的基本要素是實(shí)體型、屬性以及聯(lián)系,其表示方法為:實(shí)體型:用矩形表示,矩形框內(nèi)寫(xiě)明實(shí)體名。屬 性:用橢圓形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái)。聯(lián) 系:用菱形表示,菱形框內(nèi)寫(xiě)明聯(lián)系名。本系統(tǒng)的E-R圖如圖3.2所示。11NNN1N1查看寵物信息添加寵物信息編輯寵物信息寵物信息搜索寵物1111N111添加訂單信息編輯訂單信息用戶(hù)1N11查看個(gè)人信息編輯個(gè)人信息管理員用戶(hù)信息查看用戶(hù)信息查看訂單信息提交訂單信息訂單信息處理訂單信息圖3.2 系統(tǒng)基本ER圖第4章 系統(tǒng)的實(shí)現(xiàn)第4.1節(jié) 網(wǎng)上寵物購(gòu)買(mǎi)登錄模塊的實(shí)現(xiàn)4.1.1 系統(tǒng)首頁(yè)網(wǎng)上寵物購(gòu)買(mǎi)首頁(yè)主要是提供了用戶(hù)網(wǎng)站前臺(tái)的所有功能的展

59、現(xiàn),其中包括寵物信息的動(dòng)態(tài)顯示、會(huì)員注冊(cè)、會(huì)員登陸、管理員入口、商品分類(lèi)導(dǎo)航、寵物搜索等。網(wǎng)上寵物購(gòu)買(mǎi)的首頁(yè)實(shí)現(xiàn)如圖4.1所示。圖4.1 系統(tǒng)首頁(yè)4.1.2 用戶(hù)登錄用戶(hù)登錄模塊的部分代碼如下: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類(lèi)中的login方法時(shí)出錯(cuò):n);ex.printStackTrace()

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!