e品書香網(wǎng)站建設(shè)_第1頁(yè)
已閱讀1頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  河北農(nóng)業(yè)大學(xué)</b></p><p>  本科畢業(yè)論文(設(shè)計(jì))</p><p>  題 目: E品書香網(wǎng)站建設(shè) </p><p>  學(xué) 院: 信息科學(xué)與技術(shù)學(xué)院 </p><p>  專業(yè)班級(jí): 軟件工程

2、1001班 </p><p>  學(xué) 號(hào): 2010234040916 </p><p>  學(xué)生姓名: 李俊飛 </p><p>  指導(dǎo)教師姓名: 張璠 </p><p>  指導(dǎo)教師職稱: 講師 </p

3、><p>  二O一四 年 五 月 二 十五 日</p><p><b>  摘 要</b></p><p>  隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展。人們對(duì)于網(wǎng)絡(luò)有了越來(lái)越多的要求.Ebay,阿里巴巴,淘寶的出現(xiàn),讓電子商務(wù)重現(xiàn)曙光,google,baidu的 出現(xiàn),讓人們通過(guò)網(wǎng)絡(luò)進(jìn)行信息檢索,獲取到有效信息的途徑更加豐富。電子讀物也是在網(wǎng)絡(luò)產(chǎn)業(yè)中一枝獨(dú)

4、秀,如起點(diǎn)中文網(wǎng),天下電子書等,許多人都走向了網(wǎng)絡(luò)作家這個(gè)方向,而電子書網(wǎng)站正式為廣大的愛好電子讀物的人們提供了交流與共享的平臺(tái)。 </p><p>  E品書香網(wǎng)站基于電子讀物資源共享、用戶之間互動(dòng)的功能,在開發(fā)設(shè)計(jì)中,采用B/S(Browser/Server),這種結(jié)構(gòu)使得數(shù)據(jù)結(jié)果集合在瀏覽器中顯示,數(shù)據(jù)的處理在服務(wù)器進(jìn)行,用戶只需要一個(gè)瀏覽器就可以遨游于使用本系統(tǒng)了了。數(shù)據(jù)庫(kù)方面,業(yè)界具有常用的關(guān)系數(shù)據(jù)庫(kù)

5、管理系統(tǒng)Mysql,使系統(tǒng)安全性能更高。同時(shí)采用當(dāng)前正在流行的J2EE技術(shù)開發(fā),采用jsp用戶界面更加的友好簡(jiǎn)單易操作。當(dāng)今論壇的界面設(shè)計(jì)非常的炫耀富麗,用戶體驗(yàn)非常的良好,主要要到了jquery這個(gè)流行的JavaScript框架。</p><p>  在開發(fā)中選擇了struts2+spring+hibernate(SSH)三大框架,dao層+service層+action層+view顯示層的mvc分層的開發(fā)模式

6、,實(shí)現(xiàn)了應(yīng)用程序邏輯和頁(yè)面顯示分離,界面設(shè)計(jì)更簡(jiǎn)單。</p><p>  關(guān)鍵詞:java;web;mysql ;電子書,社交,SSH,MVC,JavaSricpt, Jquery</p><p><b>  Abstract</b></p><p>  With the continuous development of network te

7、chnology. requirements for network has been increasing. Ebay, alibaba, taobao occurrence, let the electronic commerce recreate popular, Google, the emergence of baidu, let people through the network for information retri

8、eval, obtain the effective ways of more abundant information rich. Of course,ebooks is most popular in the network ,such Qiandian , The Book Sky and so on.More and more people get to be netwriter.So the net of ebook is p

9、rovide a plat f</p><p>  When the E Book Home bases on sharing resource and users can communicate to each other. In the development of design, adopts B/S (is clicked/Server) structure, this kind of structure

10、 allows data only result sets in the Browser display, data processing in Server, users need not install client, and because by the Server unified management data, easy to ensure the consistency of the data. Database, rec

11、ommend industry of the leading relational database management system, the system Mysql safety perf</p><p>  In developing chose JSP + JavaBean + Mysql model, realized the application logic and page shows the

12、 separation, interface design more simple. JavaBean reusable software component meet, and meanwhile make small application programmer inputs, energy and reusable components, in simple applications to consider.</p>

13、<p>  Keyword: java ,ebook, sns,struts2,spring,hibernate,B/S,JSP,JavaBean,ssh,mvc, JavaScript,jquery.</p><p><b>  目錄</b></p><p><b>  1 系統(tǒng)概述1</b></p><p

14、>  1.1 課題的目的和意義1</p><p>  1.2 國(guó)內(nèi)現(xiàn)狀分析1</p><p>  1.3 開發(fā)環(huán)境簡(jiǎn)介1</p><p>  2 可行性研究與需求分析2</p><p>  2.1 可行性研究2</p><p>  2.1.1 技術(shù)可行性2</p><p

15、>  2.1.2 經(jīng)濟(jì)可行性2</p><p>  2.1.3 運(yùn)行可行性2</p><p>  2.2 需求分析2</p><p>  2.2.1 系統(tǒng)需求3</p><p>  2.2.2 性能需求3</p><p>  2.2.3 應(yīng)用需求分析3</p><p&g

16、t;  2.2.4其他需求分析3</p><p>  3 實(shí)現(xiàn)技術(shù)簡(jiǎn)介4</p><p>  3.1 Html5+Css3.0+Javascript簡(jiǎn)介4</p><p>  3.2 Ajax和JSON4</p><p>  3.3 JSP技術(shù)簡(jiǎn)介4</p><p>  3.4 Struts+Spring+

17、Hiberate技術(shù)5</p><p>  3.4.1 Struts2.x技術(shù)5</p><p>  3.4.2 spring技術(shù)6</p><p>  3.4.3.hibernate技術(shù)6</p><p>  4系統(tǒng)的概要設(shè)計(jì)7</p><p>  4.1 項(xiàng)目的功能概述7</p><

18、;p>  4.2數(shù)據(jù)庫(kù)概要設(shè)計(jì)13</p><p>  4.3文件結(jié)構(gòu)15</p><p>  5項(xiàng)目的詳細(xì)設(shè)計(jì)16</p><p>  5.1項(xiàng)目架構(gòu)圖16</p><p>  5.2項(xiàng)目AJAX的請(qǐng)求17</p><p>  5.3項(xiàng)目功能模塊的詳細(xì)實(shí)現(xiàn)17</p><p>

19、;  5.4數(shù)據(jù)表庫(kù)的詳細(xì)設(shè)計(jì)23</p><p><b>  5 總結(jié)27</b></p><p><b>  參考文獻(xiàn)28</b></p><p><b>  致謝29</b></p><p><b>  1 系統(tǒng)概述</b></p&g

20、t;<p>  1.1 課題的目的和意義</p><p>  隨著互聯(lián)網(wǎng)和寬帶上網(wǎng)的普及,娛樂性的網(wǎng)站也是在IT領(lǐng)域占有極大的比例,并日益滲透到人們的日常生活中。如書籍的在線閱讀,對(duì)于閑暇時(shí)候,看看書陶冶情操的時(shí)候,無(wú)需去拿著一本厚厚的笨重的書籍走來(lái)走去,一個(gè)移動(dòng)設(shè)備及可以滿足我們的需要。電子書網(wǎng)站是運(yùn)用現(xiàn)代通信技術(shù)、計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)進(jìn)行的一種社會(huì)形態(tài),其目的是通過(guò)互聯(lián)網(wǎng)共享知識(shí)資源,從而實(shí)現(xiàn)社會(huì)

21、財(cái)富的最大化利用。在E品書香的網(wǎng)站中,涉及書籍資源的提供,查詢,以及供用戶的閱讀,同時(shí)網(wǎng)站提供了會(huì)員模式,用戶可以注冊(cè)網(wǎng)站的會(huì)員,然后可以對(duì)網(wǎng)站的書籍做一些評(píng)價(jià),并且可以和其他用戶在論壇里進(jìn)行交流。</p><p>  本課題所研究的E品書香網(wǎng)站主要是為個(gè)人提供電子讀物的搜索,閱讀和用戶之間交流 的一個(gè)平臺(tái),從而給個(gè)人帶來(lái)方便。</p><p>  課題目標(biāo)是設(shè)計(jì)并實(shí)現(xiàn)一個(gè)B/S體系結(jié)構(gòu)的

22、電子書資源提供網(wǎng)站。結(jié)合實(shí)踐,加強(qiáng)網(wǎng)頁(yè)開發(fā)技術(shù)和數(shù)據(jù)庫(kù)方面知識(shí),學(xué)習(xí)相關(guān)開發(fā)工具和應(yīng)用軟件,體驗(yàn)網(wǎng)站建設(shè)的過(guò)程,熟練掌握網(wǎng)絡(luò)數(shù)據(jù)庫(kù)編程方法。</p><p>  1.2 國(guó)內(nèi)現(xiàn)狀分析</p><p>  現(xiàn)在我國(guó)的信息管理水平還比較落后,這樣的機(jī)制已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,因?yàn)樗速M(fèi)了許多人力和物力,在信息時(shí)代傳統(tǒng)的管理方法必然被計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。軟件作為一項(xiàng)有力的工具,只能當(dāng)

23、此種工具,與我們的實(shí)踐相結(jié)合起來(lái)的時(shí)候,才具有重大的社會(huì)價(jià)值及使用價(jià)值。因此根據(jù)目前實(shí)際的情況開發(fā)這樣一套管理系統(tǒng)是十分必要的。</p><p>  隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)技術(shù)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)

24、點(diǎn)能夠極大地提高工作的效率,也是信息正規(guī)化管理與世界接軌的重要條件。</p><p>  1.3 開發(fā)環(huán)境簡(jiǎn)介</p><p>  本項(xiàng)目開發(fā)工具及版本如下:Eclipse,jdk6.0,mysql5.6,Tomcat6.0,struts2,spring3.0,hibernate3.6 final,在window7系統(tǒng)平臺(tái)進(jìn)行項(xiàng)目的開發(fā),調(diào)試,與運(yùn)行。</p><p&

25、gt;  本系統(tǒng)用時(shí)下流行的javaweb開發(fā)框架SSH(Spring+Struts+Hibernate)進(jìn)行開發(fā),數(shù)據(jù)庫(kù)采用輕巧穩(wěn)定的MySql,界面使用jsp實(shí)現(xiàn)。本論文主要涉及軟件,數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)技術(shù)等。涵蓋知識(shí)面廣,可有效地提高綜合運(yùn)用所學(xué)知識(shí)分析解決問(wèn)題的能力,增強(qiáng)對(duì)事物的理解與掌握能力,掌握科學(xué)的研究方法,正確的設(shè)計(jì)思想,獨(dú)立思考,勇于進(jìn)取,探索創(chuàng)新,為今后進(jìn)一步學(xué)習(xí)與工作奠定了良好的基礎(chǔ)。</p><p&

26、gt;  2 可行性研究與需求分析</p><p>  2.1 可行性研究</p><p>  2.1.1 技術(shù)可行性</p><p>  技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本系統(tǒng)用的是SSH框架開發(fā),主打語(yǔ)言是JAVA,由于框架對(duì)一些復(fù)用的代碼做了很好的封裝,并且提供了友好的API,所以上手較快,開發(fā)效率

27、也大大提高,采用流行的開發(fā)IDE: Eclipse,對(duì)開發(fā)調(diào)試都有很好的支持,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開發(fā)平臺(tái)成熟可行,它們速度快、容量大、可靠性能高、價(jià)格低,完全能滿足系統(tǒng)的需求。</p><p>  2.1.2 經(jīng)濟(jì)可行性 </p><p>  開發(fā)該系統(tǒng)所需的相關(guān)資料可以通過(guò)已存在的相關(guān)系

28、統(tǒng)進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得.因此,開發(fā)成本較低。而引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點(diǎn),可以節(jié)省不少人力、物力及財(cái)力。所以,從經(jīng)濟(jì)的角度來(lái)看,該系統(tǒng)可行。</p><p>  2.1.3 運(yùn)行可行性</p><p>  運(yùn)行可行性是對(duì)組織結(jié)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)和環(huán)境對(duì)系統(tǒng)的適應(yīng)性及人員培訓(xùn)補(bǔ)充計(jì)劃的可行性。當(dāng)前信息化技術(shù)已經(jīng)相

29、當(dāng)普及,各類操作人員水平都有相當(dāng)?shù)母叨?,所以在運(yùn)行上是可行性的。</p><p>  2.1.4 法律可行性</p><p> ?、?所有技術(shù)資料都為合法。</p><p> ?、?開發(fā)過(guò)程中不存在知識(shí)產(chǎn)權(quán)問(wèn)題。</p><p> ?、?未抄襲任何系統(tǒng),不存在侵犯版權(quán)問(wèn)題。</p><p> ?、?開發(fā)過(guò)程中未涉及任

30、何法律責(zé)任。</p><p><b>  2.2 需求分析</b></p><p>  需求分析是軟件設(shè)計(jì)的一個(gè)重要的環(huán)節(jié)。本階段對(duì)系統(tǒng)管理系統(tǒng)的應(yīng)用情況作全面調(diào)查,以確定系統(tǒng)目標(biāo)。確定用戶的需求。用戶對(duì)系統(tǒng)的需求我們從以下幾方面進(jìn)行分析。</p><p>  2.2.1 系統(tǒng)需求</p><p>  用JSP開發(fā)系

31、統(tǒng)管理系統(tǒng)基于B/S模式,系統(tǒng)軟件和數(shù)據(jù)集中存放于服務(wù)器中,軟件的安裝與升級(jí)在服務(wù)器上進(jìn)行。所有的工作基于瀏覽器,安裝、使用、維護(hù)、升級(jí)十分簡(jiǎn)單。</p><p>  2.2.2 性能需求</p><p>  為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行。系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。由于本系統(tǒng)的添加功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來(lái)源,其準(zhǔn)

32、確性和及時(shí)性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)開發(fā)過(guò)程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性和及時(shí)性。</p><p>  2.2.3 應(yīng)用需求分析</p><p>  (表2-1)系統(tǒng)需求硬件分析</p><p>  系統(tǒng)的性能要求通常指系統(tǒng)需要的存儲(chǔ)容量以及后援存儲(chǔ),重新啟動(dòng)和安全性,運(yùn)行效率等方面的考慮。 </p><p>  硬件系

33、統(tǒng)環(huán)境:C600、1G MB(RAM)、500MB(HD)。系統(tǒng)運(yùn)行時(shí)對(duì)數(shù)據(jù)的保密性要求不高對(duì)一般的數(shù)據(jù)不要求進(jìn)行加密。此外,對(duì)其它軟件幾乎沒有依賴性,程序健壯性較好。</p><p>  2.2.4其他需求分析</p><p>  本系統(tǒng)有較好的可維護(hù)性、可靠性、可理解性、效率。易于用戶理解和操作。可維護(hù)性包括了可讀性、可修改性、可測(cè)試性、等含義。可靠性通常包括正確性和健壯性。開發(fā)過(guò)程中

34、,在各種矛盾的目標(biāo)之間作權(quán)衡,并在一定的限制的條件下(經(jīng)費(fèi)、時(shí)間、可用的軟、硬件資源等),使上述各方面最大限度的得到滿足。</p><p><b>  3 實(shí)現(xiàn)技術(shù)簡(jiǎn)介</b></p><p>  本系統(tǒng)開發(fā)使用了主流的javaweb開發(fā)技術(shù),該系統(tǒng)核心開發(fā)部分Sturts+Spring+Hibernate,用戶視圖使用的是jsp做數(shù)據(jù)處理,使用ajax異步使用后臺(tái)

35、的數(shù)據(jù)到傳輸?shù)揭晥D層,并用Html5.0+CSS3.0+javascript對(duì)視圖進(jìn)行了修飾。數(shù)據(jù)的存儲(chǔ)使用的是mysql數(shù)據(jù)庫(kù)。</p><p>  3.1 Html5+Css3.0+Javascript簡(jiǎn)介</p><p>  2012年12月17日,萬(wàn)維網(wǎng)聯(lián)盟(W3C)正式宣布凝結(jié)了大量網(wǎng)絡(luò)工作者心血的HTML5規(guī)范已經(jīng)正式定稿。根據(jù)W3C的發(fā)言稿稱:“HTML5是開放的Web網(wǎng)絡(luò)平

36、臺(tái)的奠基石。到現(xiàn)在html5技術(shù)已經(jīng)成熟,并在許多網(wǎng)站得以使用。Html5相比html4有了更好的擴(kuò)展,而且比之前的html語(yǔ)言要簡(jiǎn)練好用,增加了許多新的標(biāo)簽。同時(shí)也將一部分常用的javascript的交互操作進(jìn)行了封裝。用html5.0生成的頁(yè)面,具有更好的效果。配合上CSS3.0的使用更是如虎添翼。在頁(yè)面開發(fā)占據(jù)了重要的地位。目前許多瀏覽器廠商都兼容html這種語(yǔ)言,html5還支持移動(dòng)的app開發(fā)。所以通過(guò)這次使用html5開發(fā)頁(yè)

37、面,著實(shí)加深了對(duì)html的掌握。</p><p>  頁(yè)面的交互使用了jQuery,jQuery是用javascript開發(fā)的一個(gè)框架。使用jQuery我們無(wú)須操心瀏覽器的兼容問(wèn)題。jQuery在瀏覽器兼容方面有了很好的支持,而且jQuery語(yǔ)法簡(jiǎn)單,優(yōu)雅簡(jiǎn)潔。可以使我們更好的維護(hù)前端部分。</p><p>  3.2 Ajax和JSON</p><p>  Aja

38、x并不是一門單一的技術(shù),而是將多技術(shù)融合形成的一種數(shù)據(jù)處理方式,通過(guò)ajax可以實(shí)現(xiàn)視圖的局部更新。是的頁(yè)面數(shù)據(jù)顯示更加靈活。而對(duì)于javascript 一下簡(jiǎn)稱js來(lái)說(shuō),ajax從服務(wù)器請(qǐng)求到的數(shù)據(jù)時(shí)經(jīng)過(guò)js做處理的。Js可以處理xml,JSON,但是JSON成了本項(xiàng)目的ajax操作的數(shù)據(jù)傳輸格式。</p><p>  JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式

39、。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個(gè)子集。 JSON采用完全獨(dú)立于語(yǔ)言的文本格式。js操作JSON也是非常簡(jiǎn)單的,相對(duì)于XMl,JSON更易于js解碼。</p><p>  3.3 JSP技術(shù)簡(jiǎn)介</p><p>  JSP(Java Server Page服務(wù)器網(wǎng)頁(yè))是從1998年開始出現(xiàn)的新技術(shù)

40、。由Sun公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),是基于JavaServlet以及整個(gè)Java體系的web開發(fā)技術(shù)。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入腳本片段和JSP標(biāo)記(Tag),構(gòu)成JSP網(wǎng)頁(yè)(*.jsp)。JSP技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的web頁(yè)面提供了簡(jiǎn)便的方法。JSP作為Java家族的一員,承襲了Java的特點(diǎn),即跨平臺(tái)的特性,也即一次編譯,到處運(yùn)行。</p><p&

41、gt;  在國(guó)外,己經(jīng)大量使用JSP作為網(wǎng)絡(luò)應(yīng)用程序的開發(fā)工具,而在國(guó)內(nèi),盡管JSP還不是主流開發(fā)技術(shù),但是由于JSP的強(qiáng)大優(yōu)勢(shì),許多網(wǎng)站都已經(jīng)準(zhǔn)備轉(zhuǎn)向JSP,利用JSP來(lái)開發(fā)動(dòng)態(tài)網(wǎng)站。 </p><p>  本系統(tǒng)使用通過(guò)使用jsp對(duì)將后臺(tái)處理過(guò)的數(shù)據(jù)進(jìn)行格式化后給用戶顯示,是視圖(view)核心部分。</p><p>  3.4 Struts+Spring+Hiberate技術(shù)<

42、/p><p>  本項(xiàng)目的服務(wù)端是在Struts+Spring+Hiberate這三大框架的基礎(chǔ)上進(jìn)行的開發(fā)的。對(duì)于javaweb的開發(fā),這三大框架式目前開發(fā)領(lǐng)域比較流行,也是比較的經(jīng)典和比較成熟的技術(shù)。</p><p>  3.4.1 Struts2.x技術(shù)</p><p>  Struts是建立在MVC這種公認(rèn)的好的模式上的,Struts在M、V和C上都有涉及,但它

43、主要是提供一個(gè)好的控制器和一套定制的標(biāo)簽庫(kù)上,也就是說(shuō)它的著力點(diǎn)在C和V上,因此,它天生就有MVC所帶來(lái)的一系列優(yōu)點(diǎn),如:結(jié)構(gòu)層次分明,高可重用性,增加了程序的健壯性和可伸縮性,便于開發(fā)與設(shè)計(jì)分工,提供集中統(tǒng)一的權(quán)限控制、校驗(yàn)、國(guó)際化、日志等等;其次,它是個(gè)開源項(xiàng)目得到了包括它的發(fā)明者Craig R.McClanahan在內(nèi)的一些程序大師和高手持續(xù)而細(xì)心的呵護(hù),并且經(jīng)受了實(shí)戰(zhàn)的檢驗(yàn),使其功能越來(lái)越強(qiáng)大,體系也日臻完善;最后,是它對(duì)其他技

44、術(shù)和框架顯示出很好的融合性。Struts可以規(guī)范程序員的行為Struts是對(duì)MVC2模型的實(shí)現(xiàn),下圖是spring的基本原理:</p><p>  3.4.2 spring技術(shù)</p><p>  Spring框架對(duì)于在java開發(fā)領(lǐng)域是一個(gè)并不陌生的框架,是一款優(yōu)秀的組件管理框架,其框架有著如下特點(diǎn):</p><p>  1、spring能簡(jiǎn)化企業(yè)級(jí)開發(fā), spr

45、ing可以用簡(jiǎn)單的java bean來(lái)代替實(shí)現(xiàn)復(fù)雜的EJB。 </p><p>  2、spring是一個(gè)輕量級(jí)的IOC和AOP框架,可以spring的IOC實(shí)現(xiàn)松耦合,而作為一個(gè)AOP框架他又能分離系統(tǒng)服務(wù),實(shí)現(xiàn)內(nèi)聚開發(fā) 。</p><p>  3、spring是非侵入式,基于spring的系統(tǒng)可以不依賴于spring的類。</p><p>  良好的spring

46、運(yùn)用可以使程序代碼清晰,容易維護(hù),容易測(cè)試。使用Spring可以避免factory和siglton的泛濫 ,Spring 的IOC容器通過(guò)配置文件,幫我們將業(yè)務(wù)邏輯類對(duì)象和依賴于它的對(duì)象全部實(shí)例化 ,不用我們?nèi)ナ止ew對(duì)象,不僅降低了耦合性,而且使得程序員可以更關(guān)注于業(yè)務(wù)邏輯的實(shí)現(xiàn)。數(shù)據(jù)操作層和業(yè)務(wù)邏輯層用spring管理,因?yàn)檫@些包含到事務(wù)注入以及以后的擴(kuò)展,pojo如果僅僅是用來(lái)傳值,也不會(huì)在上邊做什么改動(dòng)的,則不用放在sprin

47、g容器里好了. 同理 ,業(yè)務(wù)對(duì)象和持久層加以來(lái)讓Spring管理,這樣可以使用Spring的事務(wù)支持,簡(jiǎn)單的pojo,只充當(dāng)dto功能的,不存在狀態(tài)改變的,就不需要讓Spring來(lái)管理了DAO模式需要為每個(gè)DAO組件編寫DAO接口,同時(shí)至少提供一個(gè)實(shí)現(xiàn)類,根據(jù)不同需要,可能有多個(gè)實(shí)現(xiàn)類。用Spring容器代替DAO工廠。通常情況下,引入接口就不可避免需要引入工廠來(lái)負(fù)責(zé)DAO組件的生成。Spring實(shí)現(xiàn)了兩種基本模式:?jiǎn)螒B(tài)模式和工廠模式。

48、而使用Spring可以完全避免使用工廠模式,因?yàn)镾pring就是個(gè)功能非常強(qiáng)大的工廠。因此,完全可以讓</p><p>  由Spring充當(dāng)DAO工廠時(shí),無(wú)須程序員自己實(shí)現(xiàn)工廠模式,只需要將DAO組件配置在Spring容器中,由ApplicationContext負(fù)責(zé)管理DAO組件的創(chuàng)建即可。借助于Spring提供的依賴注入,其他組件甚至不用訪問(wèn)工廠,一樣可以直接使用DAO實(shí)例。</p><

49、p>  3.4.3.hibernate技術(shù)</p><p>  Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB

50、的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任.這樣我們就可以專注在業(yè)務(wù)邏輯代碼中了。采用Hibernate作為持久層技術(shù)的最大的好處在于:可以完全以面向?qū)ο蟮姆绞竭M(jìn)行系統(tǒng)分析、系統(tǒng)設(shè)計(jì)。這樣更加方便清晰地處理業(yè)務(wù)邏輯,更多的精力放在處理邏輯的上面。</p><p><b>  4系統(tǒng)的概要設(shè)計(jì)</b></p><p>  系統(tǒng)的概要設(shè)計(jì)是在系統(tǒng)分析的基礎(chǔ)上由抽象到

51、具體的過(guò)程。主要包括系統(tǒng)設(shè)計(jì)、數(shù)據(jù)庫(kù)的需求分析以及網(wǎng)站的整體設(shè)計(jì)三大塊。系統(tǒng)設(shè)計(jì)主要目標(biāo)是將系統(tǒng)分析階段所提出的反映了信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)運(yùn)行環(huán)境的具體方案,進(jìn)行系統(tǒng)的概要設(shè)計(jì),為下一階段系統(tǒng)詳細(xì)設(shè)計(jì)提供必要的技術(shù)資料。</p><p>  4.1 項(xiàng)目的功能概述</p><p>  該項(xiàng)目以一個(gè)網(wǎng)站的形態(tài)存在,該網(wǎng)站的功能模塊結(jié)構(gòu)如下圖:</p>

52、<p>  首頁(yè):首頁(yè)是用戶瀏覽網(wǎng)站首先看到的信息頁(yè)面:其算法是從書榜中隨機(jī)獲取到10本熱門小說(shuō)展現(xiàn)給用戶。</p><p>  書庫(kù):書庫(kù)可以說(shuō)是本站的重要功能,該模塊為用戶提供了海量的書籍供用戶閱讀瀏覽,網(wǎng)站中任何地方的有關(guān)書籍的信息都可以從書庫(kù)里獲得。</p><p>  論壇:展現(xiàn)給用戶的是論壇的版塊,以瀑布流的模式展現(xiàn)給用戶:每個(gè)論壇版塊的底部都會(huì)顯示1-3條不等的

53、最新帖子。</p><p>  書榜:書榜是為用戶提供建議讀物的一種方式,通過(guò)書榜,可以了解到哪些書籍是廣大用戶正在閱覽的,書榜分日點(diǎn)擊,周點(diǎn)擊,月點(diǎn)擊,日推薦,周推薦,月推薦等六個(gè)榜單:分別統(tǒng)計(jì)出每天,每周,每個(gè)月的用戶閱讀數(shù),推薦書最高的榜。</p><p>  搜索:輸入關(guān)鍵字,可以找到與關(guān)鍵字有關(guān)的作者,書名等書籍。</p><p>  登錄:用戶輸入用戶名

54、,密碼,系統(tǒng)檢測(cè)后可進(jìn)行相關(guān)的操作,登錄的流程采用的ajax操作。</p><p>  注冊(cè):用戶輸入注冊(cè)信息便可成為本站的會(huì)員。從而進(jìn)行推薦,評(píng)論,發(fā)帖等操作。</p><p>  小說(shuō)詳情:在這里可以收藏該小說(shuō)(加入書架),推薦小說(shuō),評(píng)論該小說(shuō),并且系統(tǒng)會(huì)隨機(jī)推薦給用戶與之相關(guān)的書籍.</p><p>  帖子列表:用戶可以在這里發(fā)表帖子:</p>

55、<p>  用戶中心,在這里可以看到自己的昵稱,個(gè)性簽名,等級(jí)等,也能看到自己曾經(jīng)讀過(guò)的書,收藏的書,以及推薦過(guò)的書。</p><p>  設(shè)置中心,用戶可以設(shè)置密碼,昵稱,用戶頭像等個(gè)人信息,</p><p>  4.2數(shù)據(jù)庫(kù)概要設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)作為系統(tǒng)的基礎(chǔ),在信息管理系統(tǒng)中占有非常重要的地位,首先要保證其設(shè)計(jì)的合理性,一個(gè)設(shè)計(jì)合理的

56、數(shù)據(jù)庫(kù),可以提高數(shù)據(jù)的存儲(chǔ)效率,是對(duì)數(shù)據(jù)有效管理的前提條件,保證數(shù)據(jù)的完整和一致,也是系統(tǒng)設(shè)計(jì)的關(guān)鍵。擁有設(shè)計(jì)合理的數(shù)據(jù)庫(kù)往往可以起到事半功倍的效果。數(shù)據(jù)庫(kù)如果設(shè)計(jì)不當(dāng),系統(tǒng)運(yùn)行當(dāng)中會(huì)產(chǎn)生大量的冗余數(shù)據(jù),從而造成數(shù)據(jù)庫(kù)的極度膨脹,影響系統(tǒng)的運(yùn)行效率。</p><p>  本項(xiàng)目是面向大量用戶而開發(fā)的一個(gè)系統(tǒng),面對(duì)大數(shù)據(jù)時(shí)代,有必要去設(shè)計(jì)合適的數(shù)據(jù)庫(kù)來(lái)進(jìn)行對(duì)數(shù)據(jù)的存儲(chǔ)管理。數(shù)據(jù)的。本系統(tǒng)主要設(shè)計(jì)了如下的數(shù)據(jù)表:&l

57、t;/p><p>  board 這里主要存放論壇的版塊信息;</p><p>  book信息,項(xiàng)目的所有與書籍相關(guān)的數(shù)據(jù)都存放在這個(gè)表里</p><p>  bookread:當(dāng)用戶對(duì)一本書籍進(jìn)行閱讀的時(shí)候,會(huì)在該表插入記錄</p><p>  bookshelf:當(dāng)用戶收藏書籍的時(shí)候,會(huì)在該表存放那個(gè)記錄。</p><p

58、>  Booksort:對(duì)書籍的分類情況在這個(gè)表里存放。</p><p>  Booktop:項(xiàng)目里榜單的信息都放在這里</p><p>  Comment:存放在用戶對(duì)于發(fā)的帖子,評(píng)論,回復(fù)</p><p>  Explog:記錄用戶加經(jīng)驗(yàn)的詳細(xì)情況.</p><p>  Recommend:記錄了用戶推薦書籍的記錄</p>

59、;<p>  User:這是記錄用戶的名稱,密碼,等級(jí)等信息。</p><p>  Userinfo:記錄用戶的收藏?cái)?shù),推薦數(shù),閱讀數(shù)等統(tǒng)計(jì)信息。</p><p><b>  數(shù)據(jù)模型如下:</b></p><p><b>  4.3文件結(jié)構(gòu)</b></p><p>  為了是項(xiàng)目在開

60、發(fā)過(guò)程中能夠明確,清晰,所以搭建一個(gè)好的目錄也是必須的,這樣在日后的維護(hù)與更新也是非常容易的:</p><p>  下圖是本項(xiàng)目的目錄結(jié)構(gòu)圖:</p><p><b>  各個(gè)目錄簡(jiǎn)介:</b></p><p>  SRC包下放的是后臺(tái)業(yè)務(wù)相關(guān)的代碼:</p><p>  action包存放的是自定義的Action類,&

61、lt;/p><p>  dao包里是與操作數(shù)據(jù)相關(guān)的接口,旗下的impl包是對(duì)其接口的實(shí)現(xiàn)類</p><p>  entity是與數(shù)據(jù)表對(duì)應(yīng)的java實(shí)體類</p><p>  json包存放的是將數(shù)據(jù)下發(fā)的結(jié)構(gòu)進(jìn)行封裝成json的方法類。</p><p>  Service里存放的是業(yè)務(wù)邏輯的接口。旗下的impl是對(duì)接口的實(shí)現(xiàn)。</p&g

62、t;<p>  Servel包里存放的是自定義的一些servlet ,fileter等</p><p>  Util包里是一些通用的自定義工具類,如MD5加密工具類,系統(tǒng)提示的字符串常量類等。</p><p>  Vo包中是對(duì)多參數(shù)請(qǐng)求的參數(shù)封裝。</p><p><b>  5項(xiàng)目的詳細(xì)設(shè)計(jì)</b></p><

63、;p><b>  5.1項(xiàng)目架構(gòu)圖</b></p><p>  通過(guò)概要設(shè)計(jì)可以總結(jié)出項(xiàng)目的具體架構(gòu),為了對(duì)項(xiàng)目進(jìn)行更好的開發(fā)和日后的管理,所以對(duì)項(xiàng)目的封層是很有必要的下圖便是本項(xiàng)目的分層結(jié)構(gòu)圖:</p><p>  下面對(duì)各個(gè)分層做詳細(xì)的介紹</p><p>  1.View層:主要有Jsp構(gòu)成,其中包含少量的html,用來(lái)講數(shù)據(jù)結(jié)果格

64、式化后顯示給用戶。</p><p>  2.Action層:是控制層的一部分,有Struts組件進(jìn)行開發(fā),主要負(fù)責(zé)解析校驗(yàn)請(qǐng)求參數(shù)和執(zhí)行請(qǐng)求方法嗎以及對(duì)請(qǐng)求的轉(zhuǎn)發(fā)。</p><p>  3.Service層,是控制層的核心部分,實(shí)現(xiàn)整個(gè)業(yè)務(wù)邏輯,通過(guò)調(diào)用Dao層的基本業(yè)務(wù)操作方法來(lái)完成整個(gè)業(yè)務(wù)流程的實(shí)現(xiàn)。</p><p>  4.Dao層,該層是業(yè)務(wù)基本方法的實(shí)現(xiàn),

65、有hibernate組件實(shí)現(xiàn),從數(shù)據(jù)持久層獲取期望的數(shù)據(jù)。</p><p>  5.數(shù)據(jù)持久層,是系統(tǒng)與數(shù)據(jù)庫(kù)的中間件,實(shí)現(xiàn)了對(duì)象與關(guān)系的封裝。主要給Dao層提供結(jié)果映射。</p><p>  5.2項(xiàng)目AJAX的請(qǐng)求</p><p>  本項(xiàng)目的頁(yè)面顯示用了大量的異步請(qǐng)求,使用了ajax技術(shù),每個(gè)頁(yè)面的各個(gè)部分都是通過(guò)不同的異步請(qǐng)求得到數(shù)據(jù)而對(duì)頁(yè)面進(jìn)行顯示的:如下

66、圖:</p><p>  小說(shuō)的信息是一個(gè)ajax請(qǐng)求,然后填充數(shù)據(jù),書香紛紜的版塊是一個(gè)ajax請(qǐng)求的數(shù)據(jù),你可能喜歡的版塊同樣也是一個(gè)ajax請(qǐng)求。</p><p>  5.3項(xiàng)目功能模塊的詳細(xì)實(shí)現(xiàn)</p><p>  項(xiàng)目中使用了眾多的業(yè)務(wù),每個(gè)功能同時(shí)關(guān)聯(lián)著多個(gè)業(yè)務(wù)功能,,所以從項(xiàng)目擇取了幾個(gè)經(jīng)典的模塊供以介紹:</p><p>  

67、登錄模塊:客戶端在登錄窗口輸入登錄號(hào)碼和登錄密碼,點(diǎn)擊“登錄”按鈕??蛻舳税l(fā)送“l(fā)ogin”請(qǐng)求,表示需要登錄,連接服務(wù)器。服務(wù)器接收到客戶端發(fā)送過(guò)來(lái)的賬號(hào)和密碼信息后,業(yè)務(wù)邏輯層Service比較輸入的用戶名和密碼和數(shù)據(jù)庫(kù)中信息是否相符,如果相符則表示登錄成功,并封裝好跟蹤用戶的信息轉(zhuǎn)入本項(xiàng)目的網(wǎng)站。否則,則出現(xiàn)信息出錯(cuò)提示框:</p><p><b>  相關(guān)代碼</b></p&g

68、t;<p>  public String login(String username, String password , HttpServletRequest request ) throws Exception {</p><p>  // TODO Auto-generated method stub</p><p>  String md5Pass = MD5Uti

69、l.getMd5(password) ;</p><p>  User u = userDao.getUser(username) ;</p><p>  if(null == u ){</p><p>  return JSONUtil.result(0, TipString.ERR_LOGIN);</p><p><b>  }

70、</b></p><p>  if(!u.getPassword().equals(md5Pass)) {</p><p>  return JSONUtil.result(0, TipString.ERR_PASS) ; </p><p><b>  } </b></p><p>  SimpleDateF

71、ormat sdf = new SimpleDateFormat("yyyy-MM-dd");</p><p>  List list = explogDao.get(u.getUserid(), Constants.EXP_LOGIN, sdf.format(new Date()));</p><p>  if(list == null || list.size()

72、<= 0 ){</p><p>  explogDao.add(u.getUserid(),Constants.EXP_LOGIN, sdf.format(new Date()), Constants.EXP_LOGIN) ;</p><p><b>  }</b></p><p>  u.setExp(u.getExp()+Consta

73、nts.EXP_LOGIN);</p><p>  int newlevel = LevelUtil.getLevel(u.getExp(), u.getLevel())[0];</p><p>  u.setLevel(newlevel) ;</p><p>  userDao.update(u);</p><p>  request.ge

74、tSession().setAttribute(Constants.USER_SESSION, u) ;</p><p>  return JSONUtil.result(1, TipString.SUCC_LOGIN) ;</p><p><b>  }</b></p><p><b>  注冊(cè)模塊</b></p&

75、gt;<p><b>  相關(guān)代碼:</b></p><p>  public String regist(String username, String password,String nick , HttpServletRequest request) throws Exception {</p><p>  // TODO Auto-generat

76、ed method stub</p><p>  if(StringUtils.isEmpty(username)||StringUtils.isEmpty(password)){</p><p>  return JSONUtil.result(0, TipString.NO_USER);</p><p><b>  }</b></p&

77、gt;<p>  User u = userDao.getUser(username) ;</p><p>  if ( null != u ) {</p><p>  return JSONUtil.result( 0 ,TipString.USER_EXIST ) ;</p><p><b>  } </b></p>

78、;<p>  u = new User() ;</p><p>  String md5Pass = MD5Util.getMd5(password) ;</p><p>  u.setUsername(username);</p><p>  u.setPassword(md5Pass);</p><p>  u.setHea

79、dimg(Constants.HEAD_IMG_M) ;</p><p>  u.setLevel(1) ;</p><p>  u.setSex(1);</p><p>  userDao.saveUser(u) ;</p><p>  UserInfo info = userDao.getUserInfo(u.getUserid());&

80、lt;/p><p>  u.setUserInfo(info);</p><p>  u.setNickname("書友"+u.getUserid()) ;</p><p>  if(!StringUtils.isEmpty(nick)){</p><p>  u.setNickname(nick);</p>&

81、lt;p><b>  }</b></p><p>  request.getSession().setAttribute(Constants.USER_SESSION, u) ; </p><p>  return JSONUtil.result(1, TipString.SUCC_REG) ;</p><p><b>  }&

82、lt;/b></p><p>  圖5-3-6 回復(fù)流程圖</p><p><b>  對(duì)回復(fù)進(jìn)行回復(fù):</b></p><p>  修改頭像模塊:修改這個(gè)功能使用了兩個(gè)請(qǐng)求來(lái)完成這個(gè)業(yè)務(wù):</p><p><b>  設(shè)置頭像的效果:</b></p><p><

83、b>  生成小頭像的代碼:</b></p><p>  public String getCut(int x1 , int y1 , int x2, int y2) throws Exception {</p><p>  String fileName = this.getImage_fileFileName();</p><p>  Strin

84、g perffix = fileName.substring(fileName.indexOf('.')+1, fileName.length());</p><p>  Iterator<ImageReader> it = ImageIO.getImageReadersByFormatName(perffix);</p><p>  ImageReader r

85、eader = it.next(); </p><p>  FileInputStream fis = new FileInputStream(getImage_file());</p><p>  ImageInputStream iis = ImageIO.createImageInputStream(fis); </p><p>  reader.setInp

86、ut(iis, true);</p><p>  int nw = reader.getWidth(0);</p><p>  int hw = reader.getHeight(0);</p><p>  ImageReadParam param = reader.getDefaultReadParam(); </p><p>  R

87、ectangle rect = new Rectangle(x1, y1, 170, 170); </p><p>  param.setSourceRegion(rect); </p><p>  BufferedImage bi = reader.read(0, param); </p><p>  // 保存新圖片 </p><

88、;p>  String newname = UUID.randomUUID().toString()+"."+perffix;</p><p>  String path = this.getRequest().getRealPath("/file/img");</p><p>  ImageIO.write(bi, perffix, new

89、File(path+"\\"+newname)); </p><p>  JSONObject jo = new JSONObject();</p><p>  jo.put("result", 1) ;</p><p>  jo.put("url", "http://127.0.0.1:8080

90、/booksky/file/img/"+newname);</p><p>  return jo.toString();</p><p><b>  }</b></p><p>  5.4數(shù)據(jù)表庫(kù)的詳細(xì)設(shè)計(jì)</p><p>  為了讓本項(xiàng)目的邏輯更完善,所以設(shè)計(jì)了如下的數(shù)據(jù)表:</p><

91、p>  Board表:是記錄了論壇版塊的信息,其中id是主鍵,并沒有任何的實(shí)際意義,user_name字段記錄了參與論壇的人數(shù),comment_num字段記錄</p><p><b>  用戶發(fā)帖的數(shù)量。</b></p><p>  Book表:是包含了書籍的信息,書名,作者,該書的簡(jiǎn)介,以及書的封面都在這個(gè)表記錄,comment_num和tuijian_num

92、,shoucang_num還有read_num分別記錄了用戶讀書的評(píng)論數(shù),推薦數(shù),閱讀數(shù),收藏?cái)?shù)。</p><p>  圖5-4-2 book表</p><p>  Bookread表,當(dāng)用戶第一次讀書的時(shí)候,會(huì)在這里記錄一下,用以顯示用戶的讀書記錄。</p><p>  圖5-4-3 bookread表</p><p>  Bookshel

93、f,在業(yè)務(wù)里稱之為書架,也叫收藏。當(dāng)用戶將一本書收藏后,會(huì)記錄到這個(gè)表里。當(dāng)查看一個(gè)用戶的書架時(shí),會(huì)從這個(gè)表里讀取記錄。其中status代表是否刪除,這里摒棄了delete軟件,而是使用update語(yǔ)句做了軟刪除。</p><p>  圖5-4-4 bookshelf表</p><p>  Booksort:這里是對(duì)站內(nèi)的圖書資源做了一個(gè)分類,利用type字段可以為以后的書籍類別擴(kuò)展子類別

94、更好的實(shí)現(xiàn)。</p><p>  圖5-4-5 booksort表</p><p>  Booktop:這個(gè)表示記錄的排行榜的書籍信息。通過(guò)業(yè)務(wù)的定時(shí)任務(wù)功能模塊對(duì)計(jì)算書籍的排行榜,并寫入到表中,為了加快數(shù)據(jù)查詢的速度,這里書籍的部分信息放到這個(gè)表中,避免了聯(lián)表查詢。</p><p>  圖5-4-6 booktop表</p><p>  C

95、omment表:這張表記錄了用戶發(fā)的帖子,回帖,以及對(duì)書的評(píng)論,回復(fù)都在這個(gè)表中。其中type區(qū)分的記錄的類型,1是對(duì)書的評(píng)論,2是與論壇業(yè)務(wù)相關(guān)的記錄</p><p>  圖5-4-7 comment表</p><p>  Explog 用戶加經(jīng)驗(yàn)的記錄表,通過(guò)該表可以作為是否對(duì)用繼續(xù)加經(jīng)驗(yàn)的依據(jù)。</p><p>  Recommend表:當(dāng)用戶推薦一本書的就會(huì)

96、在該表記錄,同時(shí)查看用戶的推薦也是從該表獲取。</p><p>  User表:這個(gè)表記錄了用戶的詳細(xì)信息,用戶名,密碼,昵稱,個(gè)性簽名,頭像等信息。</p><p>  Userinfo表,這個(gè)表用來(lái)對(duì)用戶書架上的書,推薦的書,閱讀的書等數(shù)量,為了對(duì)這些記錄進(jìn)行更好的分頁(yè)</p><p>  圖5-4-9 userinfo表</p><p>

97、;<b>  5 總結(jié)</b></p><p>  通過(guò)這次畢業(yè)設(shè)計(jì),我體會(huì)到了很多,首先要把大學(xué)這四年所學(xué)的東西全部學(xué)以致用,在有限的時(shí)間內(nèi),一個(gè)人完成一個(gè)獨(dú)立的項(xiàng)目,從開發(fā)環(huán)境的搭建,數(shù)據(jù)庫(kù)的設(shè)計(jì),項(xiàng)目業(yè)務(wù)的設(shè)計(jì),以及前段UI的設(shè)計(jì),的確是一個(gè)極大的挑戰(zhàn)。但是在這個(gè)挑戰(zhàn)中我學(xué)習(xí)到了很多,不會(huì)的就到圖書管翻閱資料、或者去網(wǎng)上搜索,或者請(qǐng)教老師和同學(xué),特別是老師和同學(xué)們,給予了我很大的幫助。

98、在程序的設(shè)計(jì)中遇到了很多問(wèn)題,印象深刻的就是搭建spring環(huán)境時(shí)配置的xml,總是測(cè)試失敗,后來(lái)順藤摸瓜,發(fā)現(xiàn)了缺少dtd引用文件,這個(gè)事情使我明白計(jì)算機(jī)是一門嚴(yán)謹(jǐn)?shù)膶W(xué)科,容不得絲毫馬虎,也容不得半點(diǎn)紕漏,如果你對(duì)計(jì)算機(jī)開玩笑,那么它便會(huì)消耗你的時(shí)間來(lái)作為償還的代價(jià)。</p><p>  畢業(yè)設(shè)計(jì)給我?guī)?lái)的不僅僅是挑戰(zhàn),更是機(jī)遇,他教會(huì)我如何去發(fā)現(xiàn)問(wèn)題,然后如何解決問(wèn)題,教我不能放棄,要一直的努力才能得到最后的

99、勝利。通過(guò)畢業(yè)設(shè)計(jì)我不僅僅知道了更多的軟件方面的知識(shí),也學(xué)會(huì)了一些新的思考方式</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]Bruce Eckel,《Think In Java》第4版. 機(jī)械工業(yè)出版社, 2007-06-01 </p><p>  [2]Michael Kofler著.楊曉云,王建橋,楊濤等譯. M

100、ySQL5權(quán)威指南.北京:人民郵電出版社.2007-03.</p><p>  [3]李剛. 整合Struts+Hibernate+Spring應(yīng)用開發(fā)詳解[M]. 北京:清華大學(xué)出版社,2007</p><p>  [4]Cay S. Horstmann,Gary Cornell 著 周立新,陳波,葉乃文《Java核心技術(shù)·卷1:基礎(chǔ)知識(shí)》,機(jī)械工業(yè)出版社,2013</p

101、><p>  [5]單東林,張曉菲,魏然,等 著,《鋒利的jQuery》第2版,人民郵電出版社,2012</p><p>  [6]侯志松,《Hibernate完全手冊(cè)》 北京:機(jī)械工業(yè)出版社,2008 </p><p>  [7] [英] Ben Frain 著 王永強(qiáng) 譯,響應(yīng)式Web設(shè)計(jì):HTML5和CSS3實(shí)戰(zhàn),人民郵電出版社,2013</p>

102、<p><b>  致謝</b></p><p>  在本次畢業(yè)設(shè)計(jì)中,我特別要感謝的是我的指導(dǎo)老師張璠老師!在論文題目的選定、資料查閱、收集和寫作的整個(gè)過(guò)程中,張璠老師都給予我細(xì)心指導(dǎo)和耐心幫助。并對(duì)我的畢業(yè)設(shè)計(jì)做出了非常有價(jià)值的指點(diǎn)。張璠老師認(rèn)真負(fù)責(zé)的工作態(tài)度,扎實(shí)嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和精益求精的理論水平都使我受益匪淺。在張璠老師的幫助下,我的專業(yè)知識(shí)和專業(yè)能力達(dá)到了質(zhì)的飛躍。這一切

103、對(duì)于我在以后的工作和學(xué)習(xí)中都有著巨大的幫助。</p><p>  在此,我在這里再次忠心的感謝張璠老師在系統(tǒng)開發(fā)過(guò)程中給予我的大力幫助,使我有信心解決難題,一步步的完成畢業(yè)設(shè)計(jì),使得系統(tǒng)能及時(shí)開發(fā)完成。</p><p>  同時(shí),我還要感謝這四年來(lái)曾經(jīng)教過(guò)我的那些老師,沒有他們的指定與幫助,還有鼓舞,我的計(jì)算機(jī)水平或許還是停留在低級(jí)的階段。每一位老師都在教學(xué)和實(shí)驗(yàn)上幫我答疑解惑,并交給我許

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論