




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
分類號_______________密級________________UDC_______________學(xué)號_畢業(yè)設(shè)計(論文)學(xué)生姓名學(xué)號所在院系專業(yè)班級導(dǎo)師姓名職稱完成日期論文題目基于JAVA的寵物網(wǎng)站設(shè)計與實現(xiàn)ThesisTopicDesignandImplementationofPetWebSiteBasedonJava畢業(yè)設(shè)計(論文)任務(wù)書第1頁畢業(yè)設(shè)計(論文)題目:基于JAVA的寵物網(wǎng)站的設(shè)計與實現(xiàn)畢業(yè)設(shè)計(論文)要求及原始數(shù)據(jù)(資料):1.綜合查詢總數(shù)國內(nèi)外寵物用品管理的現(xiàn)狀;2.深入了解寵物用品網(wǎng)站的形式與特點;3.熟練掌握與寵物用品網(wǎng)站相關(guān)的技術(shù);4.學(xué)習(xí)掌握網(wǎng)站系統(tǒng)開發(fā)的流程和技術(shù);5.深入學(xué)習(xí)Java、JavaWeb的技術(shù)的網(wǎng)站開發(fā)和編寫技巧;6.訓(xùn)練檢索文獻資料和利用文獻資料的能力;7.訓(xùn)練撰寫技術(shù)文檔與學(xué)位論文的能力。第2頁畢業(yè)設(shè)計(論文)主要內(nèi)容:1.綜述寵物用品網(wǎng)站在生活中的應(yīng)用現(xiàn)狀;2.介紹寵物用品網(wǎng)站設(shè)計涉及到的相關(guān)技術(shù)和開發(fā)環(huán)境;3.設(shè)計可以注冊、登錄、瀏覽等功能的寵物用品網(wǎng)站;4.深入分析寵物用品商店涉及到的JDBC的數(shù)據(jù)庫遠算、JavaServet/Jsp等Web組件的關(guān)鍵技術(shù)與編寫語言Java的設(shè)計流程;5.熟練掌握基于Java的寵物用品網(wǎng)站的編寫;6.熟練運用數(shù)據(jù)庫理論,面向?qū)ο罄碚?,軟件工程思想?.學(xué)會使用一定的實際動手能力和實際編程經(jīng)驗還有老師,同學(xué)的幫助來完成該系統(tǒng)的設(shè)計與實現(xiàn)。學(xué)生應(yīng)交出的設(shè)計文件(論文):1.內(nèi)容完整、層次清晰、敘述流暢、排版規(guī)范的畢業(yè)設(shè)計論文;2.包括畢業(yè)設(shè)計論文、源程序等內(nèi)容在內(nèi)的畢業(yè)設(shè)計電子文檔及其它相關(guān)材料。第3頁主要參考文獻(資料):汪建文,我國零售企業(yè)的商務(wù)電子化應(yīng)用商場現(xiàn)代化.2008.04:56-60胡燕.軟件工程與標(biāo)準化,信息技術(shù)與標(biāo)準化。2004.(12):17-21董紀陽,軟件設(shè)計中的需求分析,電腦知識與技術(shù),微型電腦應(yīng)用2008,(9):16-17齊志昌等.《軟件工程》.第2版.北京:高等教育出版社,2004.4楊開英.《數(shù)據(jù)庫系統(tǒng)概論》第2版,武漢理工大學(xué)出版社,2004夏邦貴.《SQLServer數(shù)據(jù)庫開發(fā)入門與范例解析》.機械工業(yè)出版社,2004.6丁寶康,董建全著.《數(shù)據(jù)庫實用教程》第2版.北京:清華大學(xué)出版社,2003G.J.Myers.《軟件測試之藝術(shù)》.機械工出版社,2007RogerS.Pressman著,鄭人杰,馬索霞,白曉穎等譯.《軟件工程實踐者的研究方法》.北京:機械出版社,2006何玉潔,數(shù)據(jù)庫原理與應(yīng)用教程,機械工業(yè)出版社.2003:23-78;桃子。寵物用品市場前瞻。微型計算機.2007.(13):89-90DionysiosTsichritzisC.DataBaseManagementSystems.1977:150-53專業(yè)班級學(xué)生要求設(shè)計(論文)工作起止日期指導(dǎo)教師簽字日期教研室主任審查簽字日期系主任批準簽字日期 緒論1.1研究的背景和意義隨著社會的進步,人民生活水平的提高,特別是近些年來,寵物以突飛猛進的速度進入到百姓家里,成為人們生活中重要娛樂內(nèi)容之一。以前寵物只是貴族人的娛樂項目,迄今,我國已經(jīng)把寵物作為一種生活的方式已得到普遍認可,伴隨著人民精神文明的提高,越來越多的寵物已經(jīng)和我們成為了好朋友。但是,我們該怎么和他們?nèi)ハ嗵?,該怎么樣去呵護他們,畢竟他們和人類還有很大的區(qū)別,我們應(yīng)該給他們用什么樣的東西?我們應(yīng)該給他們吃些什么好呢?大多數(shù)人都不知道,他們只是簡單的知道應(yīng)該像照顧孩子一樣去照顧他們,但是他們并不會說話,甚至有些人并不會把他們當(dāng)作孩子來呵護!由此可見寵物商品的相關(guān)信息已經(jīng)成為重要的話題。寵物作為我們?nèi)祟惖挠押玫呐笥褎游锸俏覀內(nèi)祟惈@得快樂幸福與健康的一個重要來源,而且飼養(yǎng)寵物可以讓人們的生活的更豐富多彩,更加幸福充實,同時陪著寵物運動對身體有很大好處能夠有效的降低身體里血壓和血脂,在當(dāng)前越發(fā)競爭激烈的社會中可以提供良好的精神支持特別當(dāng)我們遇到挫折時,我們可以通過與寵物的交流,調(diào)節(jié)我們的心情有助于我們的心理健康管理,緩解我們生活中遇到的各種壓力從而提高工作上的效率。另一方面養(yǎng)可愛的寵物可以培養(yǎng)我們后代的責(zé)任心和愛心以及社會社交能力。當(dāng)我們的孩子與狗狗愉快的玩耍時,狗狗可以傳遞許多正能量。而且最關(guān)鍵的是養(yǎng)寵物可以保護我們的家庭財產(chǎn)安全,可以起到家庭防止被盜竊保護作用使我們整個家庭有一種安全放心感。寵物也可以給我們以及后代帶來無限的歡樂樂趣成為幸福和快樂的源泉,并能夠幫助人們積極出去促進進行體育鍛煉,給我們提供了許多人與他人相互溝通交流的機會。目前養(yǎng)寵物的人數(shù)增加的非常迅速,越來越多的寵物信息的網(wǎng)站應(yīng)運而生。將傳統(tǒng)宣傳與日益成熟的網(wǎng)絡(luò)宣傳結(jié)合在一起,打造一個兼具傳統(tǒng)和電子商務(wù)特色的寵物銷售網(wǎng)站,極具意義。隨著電子商務(wù)的發(fā)展趨勢日趨成熟伴隨著社會發(fā)展的必然如何面對電子商務(wù)方式、以及如何適應(yīng)數(shù)字化生存并積極參與電子商務(wù)時代的國際競爭中取得良好的機會。這是關(guān)系到每一個公民、每個公司企業(yè)和部門及國家發(fā)展與生存的重要的戰(zhàn)略問題,而且也是我們國家管理部門現(xiàn)在應(yīng)該規(guī)劃、并鼓勵其大力發(fā)展的關(guān)鍵問題。目前隨著我們的科學(xué)技術(shù)的不斷的發(fā)展提高,我們的計算機科學(xué)水平日益發(fā)展成熟,它給我們帶來的好處已被我們深刻了解,而且它已經(jīng)在我們?nèi)祟惿钌鐣母鱾€領(lǐng)域范圍內(nèi)發(fā)揮著越來越關(guān)鍵的作用。這主要歸功與因為計算機商品信息具有著多人工管理所不具備的優(yōu)勢,比如:檢索迅速、查找方便、可靠性高、存儲量大、保密性良好等。這些優(yōu)勢極大的提高了信息管理的速度,這也正是將來公司企業(yè)的科學(xué)化、正規(guī)化管理,和世界接軌的至關(guān)重要的條件。所以,我們急需研制出開發(fā)一套寵物商品網(wǎng)站系統(tǒng)對有效管理相關(guān)信息是非常必要的。1.2國內(nèi)外研究現(xiàn)狀目前社會由于隨著人們的生活水平的日益提高改善以及城市化速度的快速向前發(fā)展以及城市家庭規(guī)模的縮小,寵物慢慢的成為我們生活中的關(guān)鍵部分。根據(jù)一些資料顯示,而今中國都市擁有寵物數(shù)目已經(jīng)超過1億只,并且其數(shù)量增加速度越來越快,如日中天的寵物市場行業(yè)熱吸引了越來越多的人的關(guān)注!接下來我們將大概的闡述我國目前寵物行業(yè)的發(fā)展現(xiàn)狀。由此帶來的問題和建議以及發(fā)展前景。最近這些年計算機和互聯(lián)網(wǎng)建設(shè)獲得了高速的發(fā)展。在中國,互聯(lián)網(wǎng)已經(jīng)是廣大人民生活的一部分。現(xiàn)在中國社會提倡互聯(lián)網(wǎng)加,互聯(lián)網(wǎng)與傳統(tǒng)行業(yè)結(jié)合,以提供效益和競爭力。使用計算機和互聯(lián)網(wǎng)對線上銷售平臺進行管理,它有著很大的價值。同時有著特有的功能比如:檢索快速、查看方便快捷、效率高、成本低、存儲數(shù)據(jù)量大、使用壽命長、并且溝通成本低等,這些優(yōu)點能為商品銷售提供極大的便利。而且只要銷售網(wǎng)站設(shè)計合理,就可以為手機廠商添加新的銷售渠道,減少手機產(chǎn)品的庫存,利用網(wǎng)絡(luò)的共享、互動的優(yōu)點,結(jié)合實體銷售的優(yōu)點,借助數(shù)據(jù)庫管理技術(shù)實現(xiàn)手機產(chǎn)品網(wǎng)上銷售規(guī)范化、個性化、人性化。寵物主要是以狗、貓為主。我們以狗為例,現(xiàn)在為什么社會越來越多的人喜歡它而且愿意養(yǎng)它呢?狗起源于狼,目前已經(jīng)得到了共識,但圍繞著具體的發(fā)源地和時間則是眾說紛紜。到目前為止,最早的狗化石證據(jù)是來自于德國14000年前的一個下頜骨化石,另外一個是來源于中東大約12000年前的一個小型犬科動物骨架化石。這不過養(yǎng)寵物對我們?nèi)祟悂碚f有諸多的好處,比如說以下幾個方面1日常生活中我們可以和狗狗玩耍,增加許多生活中的樂趣當(dāng)我們工作或?qū)W習(xí)一天后,帶著渾身疲憊的回到家中,看見繞膝承歡的小狗后,一切煩惱憂愁不愉快都拋到到腦后。目前有很多老人,很多家里只有一個兒女,而且兒女長期在外地工作不在身邊,養(yǎng)一個狗或貓,能夠給老年人帶來很大的精神寄托,減少他們孤獨的感覺,重新幫助他們對生活的信心。寵物也可以幫助小的孩子一顆積極純潔向上的心,而且根據(jù)有關(guān)資料顯示,狗狗也對治療兒童癡呆癥和自閉癥等疾病都有莫大的幫助,每年都有很多的志愿者,帶著他們的自己的狗狗到孤兒院或兒童心理疾病治療中心去幫助那里的孩子,給哪里的孩子帶來了許多快樂。甚至連一些患有高血壓或者心臟病的病人靠和狗狗和貓咪的交流玩??梢越档脱獕汉蜏p少心臟病的復(fù)發(fā)。2:寵物在救援社會活動中也扮演著至關(guān)重要的角色狗狗在我們社會中扮演者原來越重要的角色,狗因為天生具有良好的嗅覺,它的嗅覺極其發(fā)達和靈敏,利用此特性可以發(fā)掘獵物,槍支,彈藥等。有專門的警犬用于幫助警察破案,而且發(fā)揮著至關(guān)重要的作用。這些年來,由于數(shù)據(jù)倉庫技術(shù),網(wǎng)絡(luò)信息技術(shù),電子商務(wù)信息技術(shù)的飛速發(fā)展,可視化技術(shù)已經(jīng)涉及到人們生活的各個部分,人們提出進一步定義數(shù)據(jù)可視化概念,特別注重在可視化大型數(shù)據(jù)庫或數(shù)據(jù)倉庫中的可視化。這是在非空間數(shù)據(jù)領(lǐng)域中應(yīng)用可視化技術(shù),使人們不需要束縛于通過關(guān)系數(shù)據(jù)表來研究和理解數(shù)據(jù),而且在一個比較直觀的方式下查詢數(shù)據(jù)和相關(guān)結(jié)構(gòu)之間的關(guān)系。在當(dāng)今社會隨著互聯(lián)網(wǎng)的高速普及,電子商務(wù)成為熱點,由于淘寶和京東的存在,商家傳統(tǒng)的銷售渠道受到了極大的挑戰(zhàn),利潤降低并且銷量下降,傳統(tǒng)的模式的商家情況不容樂觀。而在線網(wǎng)絡(luò)銷售網(wǎng)站比實體店鋪具有更高的優(yōu)勢,只需要很少的人工和互聯(lián)網(wǎng)環(huán)境就可以實現(xiàn)在線購物,用戶可以直接從網(wǎng)上查看購買所需要的網(wǎng)絡(luò)產(chǎn)品,同時網(wǎng)絡(luò)銷售網(wǎng)站提供了廣泛和快捷的搜索途徑,方便用戶查找,分類精確,購物良好、風(fēng)險小,完善了消費體驗。所以手機銷售網(wǎng)站受到傳統(tǒng)模式企業(yè)的關(guān)注,并且紛紛開通在線手機銷售網(wǎng)站。消費者在網(wǎng)站注冊后可以瀏覽網(wǎng)站信息、按需要搜索網(wǎng)絡(luò)產(chǎn)品、找到想購買的產(chǎn)拼后通過下定單實現(xiàn)用戶的在線購買,使交易更加迅速、準確;管理員登錄后可以管理用戶、信息和定單等實現(xiàn)系統(tǒng)的更新維護。圖1-1到2015年為止中國市場寵物產(chǎn)業(yè)規(guī)?,F(xiàn)狀1.3研究內(nèi)容和步驟本文主要分為六個章節(jié),第一部分為前言,主要介紹了課題背景、研究意義、國內(nèi)外研究現(xiàn)狀、課題的研究方法、技術(shù)路線以及本文研究的主要內(nèi)容等。第二部分為相關(guān)技術(shù)簡介,主要介紹了JSP技術(shù)、MyEclipse、Tomcat、以及Oracle數(shù)據(jù)庫等。第三部分為系統(tǒng)分析,主要介紹了可行性分析、包括技術(shù)可行性、經(jīng)濟可行性、操作可行性等。第四部分為需求分析,主要進行了系統(tǒng)的功能需求分析和非功能需求分析等。第五部分為系統(tǒng)概要設(shè)計,主要介紹了系統(tǒng)設(shè)計過程。第六部分為系統(tǒng)詳細設(shè)計,對系統(tǒng)詳細設(shè)計實現(xiàn)進行了介紹。第七部分為測試,主要對系統(tǒng)功能進行了測試。2基本技術(shù)方案2.1系統(tǒng)采用的技術(shù)2.1.1JSP技術(shù)Jsp技術(shù)sun倡導(dǎo)并聯(lián)合其它公司創(chuàng)建的動態(tài)生成HTML,xml或其他文檔的技術(shù)規(guī)范,JSP是一門技術(shù)規(guī)范,也是一門腳本語言,在Jsp中我們可以使用特定語言即Java語言編寫html,xml,以及其他文檔的編寫規(guī)范。圖2.1.1項目中Jsp部分的代碼(1)Jsp擁有java語言的所有特性,列入面向?qū)ο螅眩踩?,可移植,高性能,多線程等。(2)Jsp運行與jsp的容器之中,比較典型的有tomcat。(3)在開發(fā)項目過程中,jsp文件會轉(zhuǎn)換成servlet文件,servlet會在轉(zhuǎn)換成相應(yīng)的class文件。(4)多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下(5)支持服務(wù)器端組件。web應(yīng)用需要強大的服務(wù)器端組件來支持,開發(fā)人員需要利用其他工具設(shè)計實現(xiàn)復(fù)雜功能的組件供web頁面調(diào)用,以增強系統(tǒng)性能。JSP可以使用成熟的JAVABEANS組件來實現(xiàn)復(fù)雜商務(wù)功能。內(nèi)部對象說明:request客戶端請求,此請求會包含來自GET/POST請求的參數(shù);response網(wǎng)頁傳回客戶端的響應(yīng);pageContext網(wǎng)頁的屬性是在這里管理;session與請求有關(guān)的會話;applicationservlet正在執(zhí)行的內(nèi)容;out用來傳送響應(yīng)的輸出流;config代碼片段配置對象;pageJSP網(wǎng)頁本身;exception針對錯誤網(wǎng)頁,未捕捉的例外。2.1.2JavaScript技術(shù)JavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作。JavaScript的一個重要功能就是面向?qū)ο蟮墓δ?,通過基于對象的程序設(shè)計,可以用更直觀、模塊化和可重復(fù)使用的方式進行程序開發(fā)。在HTML基礎(chǔ)上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁。JavaScript的出現(xiàn)使得網(wǎng)頁和用戶之間實現(xiàn)了一種實時性的、動態(tài)的、交互性的關(guān)系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容。在本系統(tǒng)中很多地方使用了JavaScript技術(shù),比如說,檢驗用戶輸入數(shù)據(jù)的有效性,是否重復(fù),是否為空等等。2.1.3Servlet技術(shù)Servlet是servlet加applet的縮寫,applet是運行Java客戶端中的小程序,java誕生的時候也就是因為applet而聞名于世,不過現(xiàn)在applet現(xiàn)在很少有人使用了,而servlet在不斷的發(fā)展和更新之中,現(xiàn)在已經(jīng)成為很多技術(shù)的基礎(chǔ)比如spring和strutes2等等。Servlet本質(zhì)上也就是JAVA類,所以在編寫時要尊崇java規(guī)則,不過servlet與普通的java類也有所不同,比如說,它沒有main方法,他是靠服務(wù)器所運行的,它的創(chuàng)建和銷毀都是由它自己的容器說產(chǎn)生的。這里說的容器我們這的是類似于tormat服務(wù)器。有自己的servlet規(guī)則,因此他有一些普通java類所不具有的特性。Servlet與http是緊密聯(lián)系的,所以使用servlet可以處理所有與HTTP相關(guān)的類容,這也是servlet廣泛應(yīng)用的原因之一。圖2—1項目中servlet的代碼我的項目中幾乎每一個JAVA文件都要用到servlet,其中我們使用到的最主要的方法為service(httpServletRequest,httpServletResponse)方法。圖2—2項目中service的代碼通過request與response的來實現(xiàn)前臺與后臺之間的數(shù)據(jù)傳輸。我們可以在xml文件中配置servlet屬性,其中servlet用來注冊個servlet,而它有兩個主要元素一個是servalet—name和servlet-class,前者用來定義servlet的名稱,后者用來確定servlet的完全限定名,還有映射servlet-mapping標(biāo)簽。下面是servlet的主要流程圖圖2servlet的主要流程圖Servlet的生命周期主要有service,init,destroy等。使用Servlet的目的是為了幫助我們減少在運用MVC設(shè)計模型來開發(fā)Web應(yīng)用的時間。Servlet是Apache軟件基金會(ASF)贊助的一個\o"開源"開源項目。它最初是Jakarta項目中的一個子項目,并在2002年3月成為ASF的頂級項目。它通過采用Java\o"Servlet"Servlet/JSP技術(shù),實現(xiàn)了基于JavaEE\o"Web"Web應(yīng)用的Model-View-Controller〔MVC〕設(shè)計模式的應(yīng)用框架〔Web\o"Framework"Framework〕,是MVC經(jīng)典設(shè)計模式中的一個經(jīng)典產(chǎn)品。它的優(yōu)點在于:(1),Servlet基于MVC架構(gòu),框架結(jié)構(gòu)清晰,開發(fā)流程一目了然,開發(fā)人員可以很好的掌控開發(fā)的過程;(2),使用OGNL進行參數(shù)傳遞;(3),強大的攔截器;(4),易于測試;(5),易于擴展的插件機制;全局結(jié)果與聲明式異常。2.2基于B/S的WEB應(yīng)用體系結(jié)構(gòu) Web,全稱為WorldWideWeb,縮寫為WWW。Web有許多譯名,諸如環(huán)球網(wǎng)、萬維網(wǎng)、全球信息網(wǎng)等。簡單地說,Web是一種體系結(jié)構(gòu),通過它可以訪問分布于Internet主機上的超文本頁面。這一說法包含以下兩層含義:第一,Web是Internet提供的一種服務(wù)。第二,Web是存儲在全世界Internet計算機中、數(shù)量巨大的文檔的集合,或者可以說,Web是世界上最大的電子信息倉庫[7][8]。Web上的海量信息是由彼此關(guān)聯(lián)的文檔組成的,這些文檔稱為主頁或頁面,它是一種超文本信息,使其聯(lián)接在一起的是超鏈接。Web的內(nèi)容保存在Web站點中,用戶可以通過瀏覽器訪問Web站點。因此,Web是一種典型的基于B/S的體系結(jié)構(gòu)。工作過程:如下圖2-1所示描述了Web的工作原理。圖2-1Web的工作原理客戶端瀏覽器的主要作用是向Web服務(wù)器發(fā)出請求,當(dāng)接到Web服務(wù)器傳送回來的數(shù)據(jù)以后,對這些數(shù)據(jù)進行解釋和顯示[14]。瀏覽器以URL為統(tǒng)一的定位格式,使用超文本傳輸協(xié)議HTTP接收采用HTML語言編寫的頁面,其基本結(jié)構(gòu)如下圖2-2所示:圖2-2使用超文本傳輸協(xié)議HTTP接收采用HTML語言編寫的過程用戶通過鍵盤或鼠標(biāo)發(fā)出請求,該請求由瀏覽器中的控制器接收、檢查并分析用戶輸入,根據(jù)用戶請求執(zhí)行相應(yīng)動作。如果用戶請求可以在本機解決,例如瀏覽已存在本機的頁面,則輸出到HTTP解釋器或其他解釋器,解釋后通過驅(qū)動程序送入顯示器顯示。如果用戶請求不能在本機解決,則通過HTTP客戶機或其他客戶機及網(wǎng)絡(luò)界面與遠程服務(wù)器通信,由遠程服務(wù)器解決用戶請求,將用戶需要的HTML文檔送回,然后通過HTTP解釋器或其他解釋器,解釋后通過驅(qū)動程序送入顯示器顯示。目前兩大主流瀏覽器是Netscape公司的NetscapeCommunication(簡稱NC)和Microsoft公司的MicrosoftInternetExplorer(簡稱IE)。在使用這兩種瀏覽器運行HTML文檔時,只需在地址欄中輸人文件的URL即可。NC和IE這兩大瀏覽器可執(zhí)行的程序并不完全相同2.3MyEclipse簡介MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括完備的編碼、調(diào)試、測試和發(fā)布功能,支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate[1]。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:1.J2EE模型2.WEB開發(fā)工具3.EJB開發(fā)工具4.應(yīng)用程序服務(wù)器的連接器5.J2EE項目部署服務(wù)6.數(shù)據(jù)庫服務(wù)7.MyEclipse整合幫助MyEclipse是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項功能??梢哉fMyEclipse是幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。根據(jù)官方最新消息,MyEclipse2013已經(jīng)正式發(fā)布!MyEclipse2013支持HTML5、JQuery和主流的Javascript庫。隨著MyEclipse2013支持Html5,你可以添加音頻、視頻和API元素到你的項目,從而為移動設(shè)備創(chuàng)建復(fù)雜的Web應(yīng)用程序。你甚至還可以通過HTML5可視化設(shè)計器設(shè)計令人難以置信的用戶界面。同時,隨著MyEclipse2013支持JQuery,你可以通過插件提升性能,并添加動畫效果到設(shè)計中。myeclipse10.0系列主要有以下改進:
首先在eclipse3.7.2(Indigo)基礎(chǔ)上構(gòu)建
最大的特色是:
完全支持JavaEE6
WithMyEclipse10,youcannowtakeadvantageofJavaEE6features,suchas:
·Servlet3.0
·JSF2.0
·JPA2.0
·EJB3.1
·JAX-RS1.1
其他的改進:
1.支持maven3.0
2.支持64-bitWindowssupport
3.WebSpherePortalServer7andWebSphere8
4.JRebelforMyEclipse
5.EJBDeploymentDescriptorEditor
6.ExtendedDB2Support
7.ExtendedApplicationClientProjectSupport
8.InstantDeployment(Experimental)
9.EJBDeploy
10.J2EEConnectorArchitecture(JCA)
2.4Tomcat簡介Tomcat服務(wù)器是一個免費的開放源代碼的Web應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個初學(xué)者來說,可以這樣認為,當(dāng)在一臺機器上配置好Apache服務(wù)器,可利用它響應(yīng)對HTML頁面的訪問請求。實際上Tomcat部分是Apache服務(wù)器的擴展,但它是獨立運行的,所以當(dāng)你運行tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的。訣竅是,當(dāng)配置正確時,Apache為HTML頁面服務(wù),而Tomcat實際上運行JSP頁面和Servlet。另外,Tomcat和IIS等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。目前Tomcat最新版本為8.0.0-RC1(alpha)Released。Tomcat很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。2.5Struts2框架Struts2是由出色穩(wěn)定的struts1和webwork框架整合而來,吸取了兩大框架的優(yōu)點,提高了開發(fā)效率和規(guī)范性,減少了非常多的冗余代碼,更好的實現(xiàn)了mvc架構(gòu),層與層之間的關(guān)系更加明確直接,解除了與servlet的強耦合性,無需啟動服務(wù)器便可以進行單元測試,功能測試,極大的節(jié)約了我們的時間。是在struts1和WebWork的技術(shù)基礎(chǔ)上進行了合并的全新的Sruts2框架。其全新的Struts2的體系結(jié)構(gòu)與Struts1的體系結(jié)構(gòu)差別巨大。Struts2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設(shè)計也使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開,所以Struts2可以理解為WebWork的更新產(chǎn)品。雖然從Struts1到Struts2有著太大的變化,但是相對于WebWork,Struts2的變化很小。Struts2的意義自動封裝表單提交數(shù)據(jù):屬性驅(qū)動,模型驅(qū)動。提高了開發(fā)效率和簡潔性。便捷的實現(xiàn)上傳文件:fileUpload.使網(wǎng)站通用于國內(nèi)化:國際化通過配置完成表單驗證:校驗器強大的標(biāo)簽庫:struts2標(biāo)簽庫,OGNl標(biāo)簽庫更科學(xué)的管理:使用xml文件管理程序文件對應(yīng)的關(guān)系,使我們的維護更加的簡潔更加的安全和更加的迅速。更安全的操作:1.安全的線程機制:每個action都是獨立的,在我們使用JSP和servlet開發(fā)的時候,由于servlet是單列模式,導(dǎo)致線程是不安全的,在編程的時候應(yīng)多加注意,才能避免線程混亂的情況。而strut2的action對于每一個請求就會生成對應(yīng)的一個實例,所以線程是安全的,簡化了開發(fā),安全性也提高了不少。2.防止數(shù)據(jù)重復(fù)提交:token令牌機制,該機制可以有效的防止用戶因網(wǎng)速或者電腦卡等因素導(dǎo)致的統(tǒng)一表單數(shù)據(jù)被重復(fù)提交了兩次甚至更多遍的問題,比如說注冊界面,用戶在填寫完信息后點擊提交按鈕,由于網(wǎng)絡(luò)阻塞而導(dǎo)致的電腦卡頓現(xiàn)象,用戶不耐煩有反復(fù)的點擊提交按鈕,導(dǎo)致重復(fù)提交的現(xiàn)象。異常處理機制:通過配置來完成,更便于管理先進的編程思路面向切面編程:攔截器(相當(dāng)于過濾器的一種,不編寫重復(fù)的代碼,減少代碼的冗余使用filter作為控制器的MVC應(yīng)用實戰(zhàn)流程概念分析圖2-3servlet的主要流程圖圖2-4struts2的主要流程圖可以看出在struts2中用filter代替了servlet的作用,這是struts2的核心思想本項目中到struts2的核心程序段為:在web.xml中配置filter<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>Struts.xml的代碼!--該標(biāo)簽用于Struts默認行為標(biāo)簽--><!--開發(fā)模式下使用,這樣可以打印出更加詳細的錯誤信息--><constantname="struts.devMode"value="true"/><!--默認我們struts2的請求后綴是action,如果我們不配置該元素,我們至攔截action文件,如果我們配置了,可以攔截action/do的wenjian--><constantname="struts.action.extension"value="do,action"/><constantname="struts.multipart.saveDir"value="d:/test"></constant><constantname="struts.configuration.xml.reload"value="true"/><!--該標(biāo)簽為包標(biāo)簽,用于區(qū)分不同的請求文件標(biāo)簽--><packagename="admin"extends="struts-default"namespace="/admin"><actionname="usersmanager"class="com.daowen.action.UsersAction"></action>圖2-4-1struts2的核心程序段對于Struts1框架而言,由于與JSP/Servlet耦合非常緊密,因而導(dǎo)致了一些嚴重的問題。首先,Struts1支持的表現(xiàn)層技術(shù)單一。由于Struts1出現(xiàn)的年代比較早,那個時候沒有FreeMarker、Velocity等技術(shù),因此它不可能與這些視圖層的模版技術(shù)進行整合。其次,Struts1與ServletAPI的嚴重耦合,使應(yīng)用難于測試。最后,Struts1代碼嚴重依賴于Struts1API,屬于侵入性框架。圖2-5Http請求流轉(zhuǎn)流程圖從目前的技術(shù)層面上看,出現(xiàn)了許多與Struts1競爭的視圖層框架,比如JSF、Tapestry和SpringMVC等。這些框架由于出現(xiàn)的年代比較近,應(yīng)用了最新的設(shè)計理念,同時也從Struts1中吸取了經(jīng)驗,克服了很多不足。這些框架的出現(xiàn)也促進了Struts的發(fā)展。目前,Struts已經(jīng)分化成了兩個框架:第一個是在傳統(tǒng)的Struts1的基礎(chǔ)上,融合了另外的一個優(yōu)秀的Web框架WebWork的Struts2。Struts2雖然是在Struts1的基礎(chǔ)上發(fā)展起來的,但是實質(zhì)上是以WebWork為核心的。Struts2為傳統(tǒng)的Struts1注入了WebWork的先進的設(shè)計理念,統(tǒng)一了Struts1和WebWork兩個框架。Struts1分化出來的另外一個框架是Shale。這個框架遠遠超出了Struts1原有的設(shè)計思想,與原有的Struts1關(guān)聯(lián)很少,使用了全新的設(shè)計思想。Shale更像一個新的框架而不是Struts1的升級。2.6Spring框架Spring就是為了解決企業(yè)的復(fù)雜性而創(chuàng)建的,它的特性之一就是基于分層架構(gòu),分成架構(gòu)可以讓我們決定使用哪個組件而開發(fā)的,同時也為我們J2EE的開發(fā)創(chuàng)建了條件。Spring是一個輕量級級控制反轉(zhuǎn)(ioc)和面向切面(aop)的容器框架,他主要是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而誕生的:它的目的就是為了解決企業(yè)開發(fā)的復(fù)雜性,它的主要功能為使用基本的JAVABEAN來代替EJB,并且他提供了更多的企業(yè)級應(yīng)用功能,它的適用范圍是JAVA的任何應(yīng)用,spring不簡單單的是服務(wù)器端的開發(fā),從簡單性,可測試性,低耦合性的角度而言,任何的java應(yīng)用都可以從spring中受益,sping的核心是面向切面和控制反轉(zhuǎn),spring存在有它得天都后的優(yōu)勢:1:它定位的領(lǐng)域是許多framework而沒有的,spring致力于一個統(tǒng)一的方法來管理你的業(yè)務(wù)對象2:spring是全面的和模塊化的,sping是分層結(jié)構(gòu)的,這意味著你可以使用孤立與它的任何一個成分,它的框架依然是內(nèi)在的和穩(wěn)定的。3:它的設(shè)計是從底部幫助你易于測試的代碼。Spring是測試驅(qū)動的理想的framework。spring是潛在的一站式解決服務(wù),定位與典型應(yīng)用的大部分基礎(chǔ)結(jié)構(gòu),當(dāng)然它也設(shè)計到了其他framework所考慮到的內(nèi)容。Spring有以下優(yōu)點:1:低侵入式設(shè)計,代碼污染率極低2:writeonce,Runanywhere3:DI有效的降低了耦合度4:aop提供了通用任務(wù)的管理5:ORM和DAO簡化了數(shù)據(jù)庫的訪問6:高度的開放性,并不強制,它的這種優(yōu)點貫穿與表現(xiàn)層,業(yè)務(wù)層,邏輯層,在實際的開發(fā)過程中,并不強制依賴spring。作為開發(fā)者你可選擇使用spring一部分框架或者全部框架來進行你的全部開發(fā)。正因為SPRING有上述優(yōu)點和好處,可以給我們帶來很多的好處,例如:可以有效的解決組織中間層對象,還可以減少許多對單列模式的使用??梢允褂媒y(tǒng)一的配置文件,易于單元測試以及促進良好的編程習(xí)慣,減少編程代價。spring特點:方便解耦,簡化開發(fā)。Aop編程的支持,通過aop的支持。我們很容易使用面向切面的過程。聲明式事務(wù)支持,通過spring框架中我們可以從單調(diào)煩悶的事務(wù)中解救出來,痛過生命是方式靈活的進行事務(wù)管理,從而提高開發(fā)效率和開發(fā)的質(zhì)量。方便程序測試,可以進行非依賴容器的方法進行所有的測試工作,再spring框架中車上不再時昂貴的操作,而是一個隨手可作的事情。方便集成各種優(yōu)秀的框架,在spring中不排除各種框架的使用,而是降低各種框架的使用難度。Spring的核心模塊:核心容器(springcore)應(yīng)用上下文(springcontext)Aop模塊(springaop)Jdbc和DAO模塊(springDAo)對象實體映射(springorm)Web模塊(springweb)Mvc模塊(springwebmvc)圖2-6Mvc模塊核心圖1.軟件應(yīng)用分層架構(gòu)標(biāo)準三層架構(gòu):1:數(shù)據(jù)訪問層:主要是對原始數(shù)據(jù)(數(shù)據(jù)庫或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不是指原始數(shù)據(jù),也就是說,是對數(shù)據(jù)的操作,而不是數(shù)據(jù)庫,具體為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù).2:業(yè)務(wù)邏輯層:主要是針對具體的問題的操作,也可以理解成對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務(wù)邏輯處理,如果說數(shù)據(jù)層是積木,那邏輯層就是對這些積木的搭建。具體的講主要負責(zé)對數(shù)據(jù)層的操作。也就是說把一些數(shù)據(jù)層的操作進行組合。3:表示層:主要表示W(wǎng)EB方式,如果邏輯層相當(dāng)強大和完善,無論表現(xiàn)層如何定義和更改,邏輯層都能完善地提供服務(wù)。主要對用戶的請求接受,以及數(shù)據(jù)的返回,為客戶端提供應(yīng)用程序的訪問。IOC(inversionofcontrol)是spring的核心,貫始至終。所謂IOC,對于spring框架來說,就是由spring來負責(zé)生命周期和對象間的關(guān)系。傳統(tǒng)開發(fā)模式:對象之間相互依賴。IOC開發(fā)模式:ioc容器安排對象之間的依賴。Ioc的另外的名字叫做依賴注入(DepenDencyInjection),所謂的依賴注入,就是由IOC容器在運行期間,動態(tài)地將某種依賴關(guān)系注入到對象之中。所以,依賴注入和控制反轉(zhuǎn)(IOC)是從不同的角度的描述的同一件事情。就是只通過引入ioc容器,利用依賴關(guān)系注入的方式,實現(xiàn)對象之間的解耦。Ioc在對象過程中不會對業(yè)務(wù)對象構(gòu)成很強的侵入性,使用ioc之后,對象之間具有更好的可實現(xiàn)性,可重用性和可擴展性:降低對象之間的耦合度提高開發(fā)效率和產(chǎn)品質(zhì)量統(tǒng)一標(biāo)準,提高產(chǎn)品的復(fù)用性模塊具有熱插拔特性。aop專門用于處理系統(tǒng)中分布與各個模塊中交叉關(guān)注點的問題,在JAVAEE的應(yīng)用中,常常通過AOp來處理一些具有橫切性質(zhì)的系統(tǒng)級服務(wù),如事務(wù)管理,安全檢查,緩存,對象池管理等,aop已經(jīng)成為一種非常常用的解決方案。圖2-7普通處理方法圖2-8spring處理方法spring核心開發(fā)包Springcore(包含spring基本工具類,其它組件都會使用到這個包里的類,是其它組件的核心)Javabean(是所有都需要用到的,它包含了訪問配置文件,創(chuàng)建和管理bean,以及控制反轉(zhuǎn)和依賴注入操作)Springaop(包含了使用aop特性時所使用到的類)Springcontext(為spring的核心提供了大量的擴展,能夠找到使用applicationcontext的全部類)。優(yōu)點: 1:開發(fā)人員可以只關(guān)注整個結(jié)構(gòu)中的其中某一層; 2:可以很容易的用新的實現(xiàn)來替換原有層次的實現(xiàn); 3:可以降低層與層之間的依賴; 4:有利于標(biāo)準化; 5:利于各層邏輯的復(fù)用。 6:結(jié)構(gòu)更加的明確 7:在后期維護的時候,極大地降低了維護成本和維護時間缺點: 1:降低了系統(tǒng)的性能。這是不言而喻的。如果不采用分層式結(jié)構(gòu),很多業(yè)務(wù)可以直接造訪數(shù)據(jù)庫,以此獲取相應(yīng)的數(shù)據(jù),如今卻必須通過中間層來完成。 2:有時會導(dǎo)致級聯(lián)的修改。這種修改尤其體現(xiàn)在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設(shè)計符合分層式結(jié)構(gòu),可能需要在相應(yīng)的業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層中都增加相應(yīng)的代碼。 3:增加了開發(fā)成本。2Spring相關(guān)概念1:輕量級的容器:spring容器幫我們管理業(yè)務(wù)邏輯層,里邊有很多業(yè)務(wù)邏輯對象,有對象就有對象的生命周期的管理(創(chuàng)建,銷毀).輕量級:容器給予的業(yè)務(wù)邏輯對象多少種服務(wù)?spring給用戶提供的服務(wù)完全由用戶自己決定,spring想用什么服務(wù)自己開啟使用。但是重量級的都是只要你用就把所有的服務(wù)都給你,不能自己定制。spring容器從來不能獨立運行,一定借助于其他容器啟動,或者借助web容器啟動,或者ejb容器啟動。 特點:應(yīng)用模塊之間耦合度小,組件都是可重用的,都是各自打包的2:whyspring?1)動態(tài)解藕,方便開發(fā),面向接口設(shè)計通過Spring提供的IoC容器,我們可以將對象之間的依賴關(guān)系交由Spring進行控制,避免硬編碼所造成的過度程序耦合。有了Spring,用戶不必再為單實例模式類、屬性文件解析等這些很底層的需求編寫代碼,可以更專注于上層的應(yīng)用2)方便程序的測試TDD(Test-DrivenDevelopment)可以用非容器依賴的編程方式進行幾乎所有的測試工作,在Spring里,測試不再是昂貴的操作,而是隨手可做的事情。3)降低JavaEEAPI的使用難度Spring對很多難用的JavaEEAPI(如JDBC,JavaMail,遠程調(diào)用等)提供了一個簡單的封裝層,通過Spring的簡易封裝,這些JavaEEAPI的使用難度大為降低。4)方便集成各種優(yōu)秀框架Spring不排斥各種優(yōu)秀的開源框架,相反,Spring可以降低各種框架的使用難度,Spring提供了對各種優(yōu)秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持。AOP編程的支持Aop(aspect-orientedprogramming)面向方面的程序設(shè)計,是一種比較新穎的編程思想,aop將程序分為兩個部分,核心業(yè)務(wù)邏輯以及橫向的業(yè)務(wù)邏輯。在spring中提供了豐富的業(yè)務(wù)支持,允許通過分離業(yè)務(wù)的業(yè)務(wù)邏輯和系統(tǒng)級的服務(wù),進行類聚性的開發(fā)Aop是對oop的一種延續(xù),也是對oop的一種補充,oop是一種靜態(tài)的過程,而aop是一種動態(tài)的過程,aop的主要功能為系統(tǒng)級別的功能,列入:系統(tǒng)日志,性能統(tǒng)計,安全控制,事務(wù)處理,異常處理等等這些主要功能,將實現(xiàn)上述功能的代碼從業(yè)務(wù)邏輯層中劃分出來,將它們獨立到非業(yè)務(wù)指導(dǎo)性的代碼當(dāng)中,處理這些代碼的時候不影響其它代碼的處理。使用切面代碼我們可以將面向切面的代碼植入程序,可以有效防止代碼的混亂。Aop專門用于處理系統(tǒng)中分布于各個模塊中交叉關(guān)注點的問題,在JAVAEE應(yīng)用中,常常通過aop來處理一些具有橫切性質(zhì)的系統(tǒng)級服務(wù),如事務(wù)管理,安全檢查,緩存,對象池管理等等,aop已經(jīng)成為一種非常常用的解決方案。Aop代理其實是由aop動態(tài)生成的一個對象,該對象可作為目標(biāo)對象使用,aop代理所包含的方法與目標(biāo)對象方法如下圖所示圖2-10aop代理所包含的方法與目標(biāo)對象方法6)聲明式事務(wù)的支持在Spring中,我們可以從單調(diào)煩悶的事務(wù)管理代碼中解脫出來,通過聲明式方式靈活地進行事務(wù)的管理,提高開發(fā)效率和質(zhì)量。7)對異常的處理方式,所有的都轉(zhuǎn)換成Unchecked的。8)它不是一個一體化的解決方案。 9)良好的設(shè)計,容易擴展,很多可重用的組件3.Spring核心組件(我們主要學(xué)習(xí)的是IOC和AOP模塊)(1)、SpringCore(IOC)核心容器,提供組件的創(chuàng)建、裝備、銷毀(2)、SpringContextSpring上下文,是一個接口ApplicationContext(繼承自BeanFactory接口)的實現(xiàn)(3)、SpringWeb容器,web應(yīng)用上下文,是webApplicationContext接口的實現(xiàn)(4)、SpringDAO容器,是SpringDAO支持模塊,是為了簡化DAO的使用(5)、SpringORM(6)、SpringAOP,對AOP編程支持的模塊[面向切面編程,擴展功能不是修改源代碼實現(xiàn)](7)、SpringMVC,類似于Spring表示層的一個框架4.springioc(must):IOC:InversionofControl控制反轉(zhuǎn)一種說法:對象之間的依賴關(guān)系,由容器在運行時依據(jù)配置文件動態(tài)的建立另一種說法:對象的控制器轉(zhuǎn)移了,轉(zhuǎn)到外部容器了,避免了代碼的糾纏,代碼更容易被維護,模板之間的耦合性降低,容易測試 比如:有一個類,在類里面有方法(不是靜態(tài)的方法),調(diào)用類里面的方法,創(chuàng)建類的對象,使用對象調(diào)用方法, 創(chuàng)建類對象的過程,需要new出來對象。 ioc是把對象的創(chuàng)建不是通過new方式實現(xiàn),而是交給spring配置創(chuàng)建類對象IoC控制反轉(zhuǎn)意味著將你設(shè)計好的類交給容器去控制,而不是在類的內(nèi)部進行控制,即控制權(quán)由應(yīng)用代碼中轉(zhuǎn)到了外部容器IoC:包括兩部分內(nèi)容DI:DependencyInjection依賴注入,組件不做定位查詢,只提供相應(yīng)方法,由容器創(chuàng)建對象,并調(diào)用相應(yīng)方法設(shè)置所需對象需要的組件(不要求)DL:DependencyLoopup依賴查找,容器創(chuàng)建對象并提供回調(diào)接口和上下文環(huán)境給組件,需要時通過接口從容器中查找對象 依賴查找,現(xiàn)在使用不太多。(EJB使用的更多,將對象創(chuàng)建好后,放到容器中。) IOC解決:對象誰來創(chuàng)建的問題 DI解決:對象間的關(guān)系如何建立的問題。org.springframework.beans及org.springframework.context包是IOC容器的基礎(chǔ)。3.系統(tǒng)需求分析3.1功能需求分析當(dāng)我們對已有系統(tǒng)進行分析時,通過分析系統(tǒng)的功能和實現(xiàn)去確定系統(tǒng)的即將要達成的目的。因此,我們要收集足夠的信息去驗證我們的分析結(jié)果,在該次畢設(shè)中,我們獲取的信息大多都是從網(wǎng)上,書庫中了解到的。在任何的實踐中獲取的信息其實才是最可靠,最具有說服力的信息,所以,我們找到其他的寵物用品店,然后注冊成為會員來獲得有用信息。從用戶角度來看:用戶同時使用網(wǎng)站的注冊登錄功能,進入系統(tǒng)后可以獲得一部分功能。在處理消息時,可以進行對寵物資料的瀏覽,進行購買寵物用品然后對訂單進行單個購買或者取消,同時也可以清空購物車中的所有訂單,或者全部進行結(jié)賬等功能。2.從網(wǎng)站的角度看:(1)網(wǎng)站應(yīng)該包含寵物搜索功能。(2)訂單處理功能,確認訂單方式:a).電話通知方式 b).E-mail方式(3)管理員管理:其任務(wù)是查看用戶訂單,查看用戶信息,并在根據(jù)查看了用戶的信息和用戶訂單之后,將商品的發(fā)送到購買者的身邊。(4)寵物瀏覽a).寵物名b).寵物類型c).價格d).訂購號通過分析,系統(tǒng)主要分為前臺和后臺兩大模塊,前臺主要由用戶體驗使用,實現(xiàn)了用戶登錄、注冊、查找商品、商品類別等功能導(dǎo)航;后臺主要由系統(tǒng)管理員操作使用,用來維護系統(tǒng),管理員主要實現(xiàn)了訂單管理、商品管理、公告管理、會員管理、用戶管理、個人信息維護等主要功能。圖4-1功能需求分析圖3.2系統(tǒng)設(shè)計規(guī)則無論哪個網(wǎng)站都要有它自己的設(shè)計規(guī)則。該系統(tǒng)也一樣,它的主要設(shè)計規(guī)則有:簡單性:在實現(xiàn)系統(tǒng)的功能的同時,盡量讓系統(tǒng)操作簡單易懂,這對于一個系統(tǒng)來說是非常重要的。針對性:該系統(tǒng)設(shè)計是寵物商店網(wǎng)站系統(tǒng)及后臺管理的定向開發(fā)設(shè)計,所以具有專業(yè)突出和很強的針對性。實用性:系統(tǒng)接受來自系統(tǒng)管理員的請求,管理員可以對商品信息以及用戶信息進行增、刪、改、查等操作,具有良好的實用性。3.3系統(tǒng)的可行性分析3.3.1技術(shù)可行性(1)硬件可行性分析系統(tǒng)的硬件要求方面不存在特殊的要求,只需要在普通的硬件配置就能夠輕松的實現(xiàn),只是需要確保系統(tǒng)的正常工作即可,以及擁有較高的效率。如果有特別低的硬件,它可以導(dǎo)致系統(tǒng)的低性能以及效率低,從而導(dǎo)致整個系統(tǒng)的運行不順暢。以目前普遍的個人計算機的配置而言,這是十分容易實現(xiàn)的。因此,本系統(tǒng)的開發(fā)在硬件方面是可行的。(2)軟件可行性分析Java語言提供了一個共同的機制類似的借口動態(tài)模型,設(shè)計更集中。另外,在使用Java語言可以很容易實現(xiàn)模塊化和存儲信息。此外,代碼復(fù)用,也可以很好的體現(xiàn)。因此,考慮到系統(tǒng)的實際情況,選擇JAVA作為本系統(tǒng)開發(fā)語言的時候。通過上述分析,該系統(tǒng)的設(shè)計實現(xiàn)在軟件方面是可行的。3.3.2經(jīng)濟可行性如今是信息化時代,信息化管理可以使寵物商品管理工作更加系統(tǒng)化、快速化、全面化。這樣可以為企業(yè)帶來較高的工作效益和經(jīng)濟效益,在提高工作效率的基礎(chǔ)上,可以考慮減少工作人員的數(shù)量,本系統(tǒng)對計算機配置的要求不高,企業(yè)機房更換下來的低配置電腦都可以完全滿足需要,再者,企業(yè)在管理工作上的高效率和便捷性遠遠超過了開發(fā)本系統(tǒng)的成本,所以在經(jīng)濟上具有完全的可行性。3.3.3操作可行性系統(tǒng)的登錄界面簡單和友好,采用常見的界面窗口的登錄界面,而系統(tǒng)的開發(fā)則采用的是較為常用的JSP技術(shù)。這些策使得用戶不需要很長的時間就能夠快速熟悉系統(tǒng),并掌握系統(tǒng)的操作方法。此外,為了方便系統(tǒng)管理維護人員,用戶登錄系統(tǒng)后會給出了一些提示,使得整個系統(tǒng)更加人性化,用戶操作更簡單方便。3.3.4技術(shù)可行性分析本次寵物用品店系統(tǒng)的開發(fā)采用了java,jsp作為語言,采用了servlet,javaBeans技術(shù),sqlserver2008作為數(shù)據(jù)庫,Web服務(wù)器的選擇是tomcat7.0。這次的開發(fā)對于一個即將畢業(yè)的我來說是一項復(fù)雜的系統(tǒng)工程。但是上述所用到的語言,我們在大學(xué)期間都有所接觸過,在杰普基地實習(xí)的時候也都有所接觸,所以很容易著手進行開發(fā),但是為了保證系統(tǒng)開發(fā)的成功,我們只能采用工程化的系統(tǒng)開發(fā)方法,并且可以適當(dāng)?shù)难芯坑行┓蠘?biāo)準的開發(fā)方法,并研究出一些符合工程化標(biāo)準的開發(fā)方法。新研究出來的開發(fā)方法是為了加快系統(tǒng)開發(fā)的速度,在保證質(zhì)量的同時盡可能的去降低開發(fā)的成本。對于任何一個物件來說,在質(zhì)量有所保證的情況下,所消耗的資源越少越好。3.3.5運行可行性分析現(xiàn)在的生活中計算機已經(jīng)普遍到每個家庭的生活當(dāng)中,自然也就越來越多的人掌握了使用計算機的基本使用方法和技能。因此,在這個信息時代中,必定會有越來越多的人利用網(wǎng)絡(luò)足不出戶就可以享受購物的便捷性,讓人們可以更快的了解到自己的需求。3.3.6經(jīng)濟可行性分析寵物食品店系統(tǒng)給人們帶來了方便,成為一種全新的商務(wù)模式。因此,不用出門就可以在家購買寵物食品的新時尚已經(jīng)到來,構(gòu)建一個寵物食品店系統(tǒng)在經(jīng)濟上是完全可行的。就本系統(tǒng)而言,隨著寬帶網(wǎng)絡(luò)進入校園,為寵物主在網(wǎng)絡(luò)上進行購物提供有利的條件。商家可以從中獲得利潤,兩全其美。通過以上的分析,開發(fā)寵物商品店系統(tǒng)是完全可行的。3.4運行環(huán)境本系統(tǒng)是一個web版的應(yīng)用程序,需要在服務(wù)器上部署中間件Tomcat、Oracle數(shù)據(jù)庫,其他的客戶端通過網(wǎng)絡(luò)進行訪問該服務(wù)器即可。(1)開發(fā)硬件平臺:CPU:酷睿雙核3.2GHZ內(nèi)存:4G以上硬盤:320GB(2)服務(wù)器端硬件平臺:Web服務(wù)器參考配置:IntelXeonQuadCoreE553080W2.40GHz/5.8GT/8MBCache,2x2GBDDR3-1066MHz,2.5inHS146GBSAS,HS675WPSU,ServeRAIDMR10i(RAID5),2*GigaEthernet,LightPath,CD-RW/DVDCombo,1U,3YearsOnsiteNextBusinessDay.146GB10K6GbpsSAS2.5"SFFSlim-HSHDDx3550M2/x3650M2/HS22數(shù)據(jù)庫服務(wù)器參考配置:IntelXeonQuadCoreE550480W2.00GHz/4.8GT/4MBCache,2x2GBDDR3-800MHz,2.5inHS146GBSAS,670WPSU,ServeRAIDBR10i(RAID0,1),2*GigaEthernet,DVDROM,5U,3YearsOnsiteNextBusinessDay.146GB10K6GbpsSAS2.5"SFFSlim-HSHDDx3550M2/x3650M2/HS22(3)開發(fā)軟件平臺:操作系統(tǒng):Windows7以上均可數(shù)據(jù)庫:mysql4.寵物網(wǎng)站系統(tǒng)概要設(shè)計4.1系統(tǒng)功能結(jié)構(gòu)圖系統(tǒng)主要分為前臺和后臺兩大模塊,前臺主要由用戶體驗使用,實現(xiàn)了用戶登錄、注冊、查找商品、商品類別等功能導(dǎo)航;后臺主要由系統(tǒng)管理員操作使用,用來維護系統(tǒng),管理員主要實現(xiàn)了訂單管理、商品管理、公告管理、會員管理、用戶管理、個人信息維護等主要功能。系統(tǒng)功能圖如下圖5-1所示。圖4-1系統(tǒng)功能結(jié)構(gòu)圖4.2系統(tǒng)交互圖系統(tǒng)架構(gòu)類的工作流程:1、當(dāng)用戶在jsp頁面輸入了相應(yīng)的信息后,對象會根據(jù)用戶的請求向請求業(yè)務(wù)處理類處理數(shù)據(jù)。2、當(dāng)業(yè)務(wù)處理類收到相應(yīng)的請求后,會向相應(yīng)的權(quán)限管理類對象發(fā)送驗證請求。3、通過權(quán)限管理類驗證過后會把相應(yīng)的驗證權(quán)限結(jié)果返回給相應(yīng)的業(yè)務(wù)代理類。4、業(yè)務(wù)對象會根據(jù)接受到不同的驗證權(quán)限結(jié)果進行兩部不同的處理操作:若權(quán)限不符,這返回到相應(yīng)的JSP用戶界面,若權(quán)限相符,則進行到相應(yīng)的業(yè)務(wù)邏輯類。5、業(yè)務(wù)邏輯類的業(yè)務(wù)對象進行相應(yīng)的業(yè)務(wù)處理。在業(yè)務(wù)處理中的數(shù)據(jù)持久化操作,靠訪問數(shù)據(jù)庫訪問類進行操作,可以進行讀取,寫入等操作,期間若發(fā)生任何的異常,交給異常處理類來完成。6、業(yè)務(wù)代理對象類最后將最終結(jié)果返回給jsp用戶界面。系統(tǒng)交互圖如下圖5-2所示:圖4-2系統(tǒng)交互圖4.3數(shù)據(jù)庫設(shè)計在概念設(shè)計中,通常用下面的四種方法:自頂向下:第一,把全局概念結(jié)構(gòu)的框架定義好,之后再慢慢細化;自底向上:第一,把各局部應(yīng)用的概念結(jié)構(gòu)定義好,之后把他們再集合起來,最后得到全局的概念結(jié)構(gòu);逐步擴張:首先把概念結(jié)構(gòu)里最核心的地方定義好,之后再向外面擴充,最后直到總體概念結(jié)構(gòu);混合策略:把自頂向下和自底向上兩種相結(jié)合,設(shè)計一個全局概念,使用自頂向下的策略。結(jié)構(gòu)的框架,設(shè)計的各局部概念結(jié)構(gòu),以它為骨架集成,使用自底向上的策略。在物理結(jié)構(gòu)設(shè)計階段,首先應(yīng)該分兩步走:一是,在關(guān)系數(shù)據(jù)庫中,確定數(shù)據(jù)庫的物理結(jié)構(gòu),主要是指存取方法和存儲結(jié)構(gòu)。時間和空間效率是對物理結(jié)構(gòu)的評價。.二是要選取存取方法,并且是正確的關(guān)系模式,存取索引方法、聚簇存取、HASH存取方法等都是常用的方法。數(shù)據(jù)庫的概念設(shè)計整體屬性E-R圖如下圖5-3所示:圖4-3寵物商品網(wǎng)站系統(tǒng)E-R模型圖3、數(shù)據(jù)庫設(shè)計寵物商店網(wǎng)站系統(tǒng)ER模型中的實體轉(zhuǎn)換為物理表,得到物理表結(jié)構(gòu)部分如下:1、寵物信息表book:表中顯示了關(guān)于寵物的所有詳細信息,對于字段的屬性也有詳細的描述??梢院苊黠@的看出表中的內(nèi)容顯示的是哪方面的信息。圖4-1寵物信息表booK2、管理員表admin:表中顯示了管理員的屬性信息。表中的字段就是管理員所擁有的詳細信息。圖4-2管理員表admin3、寵物類型表booktypes:圖4-4寵物類型表types4、用戶注冊表users圖4-5用戶注冊表users
5、定單詳細信息表orderbook圖4-6訂單詳情信息表6、定單表num圖4-7訂單表4.4系統(tǒng)概要設(shè)計4.4.1系統(tǒng)的前臺系統(tǒng)的界面按照常規(guī)的WEB界面進行設(shè)計,設(shè)計的原則是界面友好,易于操作,容易上手,盡可能的貼切用戶實際。系統(tǒng)主頁界面如下圖5-4所示。圖a狗狗商城圖b熱賣商品推薦圖c精品推薦圖4-4系統(tǒng)主界面圖所有的用戶都可以進入該首頁,想要使用購買商品等功能,需要進行登錄操作,登錄時需要輸入用戶名、密碼進行驗證,通過之后才能使用這些功能。系統(tǒng)登錄功能界面如圖4-5所示:圖4-5系統(tǒng)登錄界面圖圖4-6系統(tǒng)注冊界面圖圖4-7購買界面圖圖4-8訂單信息圖4.4.2系統(tǒng)的后臺圖4-9系統(tǒng)后臺登錄界面圖圖4-10會員管理界面圖圖4-11網(wǎng)站后臺管理菜單圖4-12商品管理界面圖
5.系統(tǒng)的詳細設(shè)計與功能實現(xiàn)5.1應(yīng)用層配置系統(tǒng)采用目前流行的Struts2框架進行開發(fā)。先來看看Struts2框架是如何配置到應(yīng)用程序中的。在WEB-INF/web.xml文件的配置代碼如下:<<beantype="org.apache.struts2.dispatcher.multipart.MultiPartRequest"name="myRequestParser"class="com.daowen.util.RequestParseWrapper"scope="default"optional="true"/><packagename="admin"extends="struts-default"namespace="/admin"><actionname="usersmanager"class="com.daowen.action.UsersAction"></action><actionname="friendlinkmanager"class="com.daowen.action.FriendlinkAction"></action><actionname="jiaodiantumanager"class="com.daowen.action.JiaodiantuAction"></action></action><actionname="sysconfigmanager"class="com.daowen.action.SysconfigAction"></action>5.2登錄功能的實現(xiàn)圖5-1登錄信息publicclassLoginActionextendsAction{ publicActionForwardexecute(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ try{ response.setContentType("application/x-www-form-urlencoded;charset=UTF-8"); Listuserlist=null; Sessions=HibernateSessionFactory.getSession(); Transactiont=s.beginTransaction(); Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); Stringaction=request.getParameter("action"); System.out.println("action="+action+"username="+username+"password="+password); SQLQueryquery=s.createSQLQuery("select*from[users]whereusername='"+username+"'"); userlist=query.list(); Strings1=""; if(!userlist.isEmpty()) s1="res=true"; else s1="res=false"; System.out.println("json="+s1); response.getWriter().write(s1); }5.3注冊功能的實現(xiàn)圖5-3注冊功能<scriptsrc="<%=SystemParam.getSiteRoot()%>/webui/jquery/jquery-1.5.2.min.js" type="text/javascript"></script><scripttype="text/javascript"src="<%=SystemParam.getSiteRoot()%>/webui/jquery/jquery.validate.min.js"></script><scripttype="text/javascript"src="<%=SystemParam.getSiteRoot()%>/webui/jquery/jquery.metadata.js"></script><scripttype="text/javascript"src="<%=SystemParam.getSiteRoot()%>/webui/jquery/messages_cn.js"></script> <scripttype="text/javascript">$(function(){ $.metadata.setType("attr","validate"); $("#form1").validate();})5.4商品管理功能的實現(xiàn)圖5-4商品管理模塊 <tr> <tdalign="right">商品編號:</td> <td><inputname="spno" validate="{required:true,messages:{required:'請輸入商品編號'}}" value="${requestScope.shangpin.spno}"class="input-txt"type="text" id="spno"/> </td> </tr> <tr> <tdalign="right">商品類別:</td> <td><inputtype="hidden"name="sptype"/><inputtype="hidden" name="sptypeid"/><web:dropdownlistid="sptype"cssclass="dropdown" value="${requestScope.shangpin.sptypeid}" datasource="${sptype_datasource}"textfieldname="mingcheng" valuefieldname="id"> </web:dropdownlist></td> </tr> </div>5.5訂單管理模塊的實現(xiàn)訂單管理模塊主要實現(xiàn)管理員對進行中的訂單、歷史訂單信息的查詢,進行退款、拒絕、介紹并發(fā)貨等操作。訂單管理模塊如圖6-2所示。圖5-5訂單管理模塊<linkhref="<%=SystemParam.getSiteRoot()%>/webui/treetable/skin/jquery.treetable.theme.default.css"rel="stylesheet"type="text/css"/><scriptsrc="<%=SystemParam.getSiteRoot()%>/webui/treetable/js/jquery.treetable.js"type="text/javascript"></script><scriptsrc="<%=SystemParam.getSiteRoot()%>/webui/combo/combo.js"type="text/javascript"></script> <scripttype="text/javascript"> $(function(){ $(".ui-record-table").recordTable(); $("#btnDelete").click(function(){ if($(".check:checked").length<1) { $.dialog.alert("請選擇需要刪除的記錄"); return; }5.6會員管理模塊的實現(xiàn)圖5-6會員管理模塊<head><title>會員信息</title><linkhref="<%=SystemParam.getSiteRoot()%>/admin/css/common.css" rel="stylesheet"type="text/css"/><linkhref="<%=SystemParam.getSiteRoot()%>/admin/css/web2table.css" rel="stylesheet"type="text/css"/><scripttype="text/javascript" src="<%=SystemParam.getSiteRoot()%>/webui/jquery/jquery-1.9.0.js"></script><link href="<%=SystemParam.getSiteRoot()%>/webui/artDialog/skins/default.css" rel="stylesheet"type="text/css"/><script src="<%=SystemParam.getSiteRoot()%>/webui/artDialog/jquery.artDialog.source.js" type="text/javascript"></script><script src="<%=SystemParam.getSiteRoot()%>/webui/artDialog/iframeTools.source.js" type="text/javascript"></script>6.測試與性能分析6.1系統(tǒng)測試目的與意義(1)測試的重要性不管是什么技術(shù),以及如何使用的方法,但該軟件,該軟件將仍然是放錯了地方。減少引入的錯誤,您可以使用新的語言,先進的開發(fā)方法,改進開發(fā)過程,但這是不可能完全消除軟件錯誤,由于需要進行測試,以找出引入的錯誤,你必須通過測試誤差估計密度在軟件中。對于可行性研究而言,其任務(wù)就是用最低的代價在最短的時間內(nèi)做出一個判斷當(dāng)前系統(tǒng)實現(xiàn)后的價值。為了避免在花費了大量的資源之后才發(fā)現(xiàn)該功能的實現(xiàn)完成不了或者完成了之后也沒有多少實用性的價值。從而造成更多的浪費。所有工程學(xué)科的基本單元是一個測試,這是軟件發(fā)展的一個非常重要的組成部分。測試陪同,從編程本身的日子。統(tǒng)計顯示,在一個典型的軟件開發(fā)項目,往往占總工作量的測試軟件的軟件開發(fā)工作量的40%以上。但成本為這個測試是30%至50%的軟件開發(fā)總成本的。如果考慮把維護階段包含在內(nèi),在討論整個軟件的生存期時,有所降低的也許是測試的成本比例,但維護工作,實際上是相當(dāng)于第二次的開發(fā),甚至是多次開發(fā),許多測試工作也一定包含在其中。這次的開發(fā)對于一個即將畢業(yè)的我來說是一項復(fù)雜的系統(tǒng)工程。但是上述所用到的語言,我們在大學(xué)期間都有所接觸過,在杰普基地實習(xí)的時候也都有所接觸,所以很容易著手進行開發(fā),但是為了保證系統(tǒng)開發(fā)的成功,我們只能采用工程化的系統(tǒng)開發(fā)方法,并且可以適當(dāng)?shù)难芯坑行┓蠘?biāo)準的開發(fā)方法,并研究出一些符合工程化標(biāo)準的開發(fā)方法。新研究出來的開發(fā)方法是為了加快系統(tǒng)開發(fā)的速度,在保證質(zhì)量的同時盡可能的去降低開發(fā)的成本。對于任何一個物件來說,在質(zhì)量有所保證的情況下,所消耗的資源越少越好。在實踐中,因為還有一個感知測試這是不正確的和錯誤的態(tài)度,難以在軟件測試往往過高或敷衍,現(xiàn)在的生活中計算機已經(jīng)普遍到每個家庭的生活當(dāng)中,自然也就越來越多的人掌握了使用計算機的基本使用方法和技能。因此,在這個信息時代中,必定會有越來越多的人利用網(wǎng)絡(luò)足不出戶就可以享受購物的便捷性,讓人們可以更快的了解到自己的需求。包括:假設(shè)測試,也很難帶來成就試驗人員從某種意義上說,作為設(shè)計和編碼一樣容易取得進展:那個戒指是不是建立在自然破裂,找到軟件錯誤作為測試的目標(biāo),他們負責(zé)的負面測試工作中發(fā)現(xiàn)錯位;測試可以不感興趣,沉悶;測試工作是困難的,艱苦的工作;準備他們的信心盲目的過程,發(fā)現(xiàn)錯誤后,所表達的意見對他們的發(fā)展能力的擔(dān)憂。軟件測試,這種觀點是不賺錢,提高軟件產(chǎn)品的質(zhì)量,必須澄清認識,態(tài)度。(2)測試的目的如果你說,要找出盡可能測試的目的是錯誤的,那么測試應(yīng)直接向軟件的一部分,是更復(fù)雜或更錯誤之前。該過程發(fā)現(xiàn)錯誤和軟件測試的執(zhí)行情況;該測試是為了證明其中的一個節(jié)目,而不是沒有錯誤的認證程序;這就是它沒有被發(fā)現(xiàn)的錯誤,這是一個很好的例子發(fā)現(xiàn)一個測試沒有找到一個成功的測試。為了測試錯誤,因為這個視圖的中心可以提醒人們,而不是正常運作的演示軟件。但可能會非常
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 品牌形象與營銷策略匹配度評估表
- 醫(yī)藥冷鏈運輸國際
- 能源企業(yè)社會責(zé)任報告編制指南
- 季度項目進展及成果匯報會議紀實
- 血液腫瘤練習(xí)試題及答案
- 保育師初級復(fù)習(xí)試題有答案
- 物流配送中心庫存管理優(yōu)化方案
- 新品市場推廣策略與操作手冊
- 股份制辦公環(huán)境改善方案
- 病理學(xué)與病理生理學(xué)作業(yè)指導(dǎo)書
- 高速鐵路設(shè)計規(guī)范(最新版)
- 25種全球最流行的管理工具
- 道德與法治-五年級(下冊)-《建立良好的公共秩序》教學(xué)課件
- 小學(xué)班主任工作經(jīng)驗交流ppt
- 初中英語教學(xué)設(shè)計Its-time-to-watch-a-cartoon
- 2022年安徽高校教師崗前培訓(xùn)結(jié)業(yè)統(tǒng)考試題及參考答案
- 城市社區(qū)建設(shè)概論資料
- 數(shù)學(xué)-九宮數(shù)獨100題(附答案)
- 蘇教版四年級下冊科學(xué)全冊知識點總結(jié)
- 第三方單位考核管理辦法
- 造粒塔外壁清洗施工方案
評論
0/150
提交評論