畢業(yè)論文---網(wǎng)絡(luò)協(xié)同辦公系統(tǒng)的設(shè)計與開發(fā)_第1頁
已閱讀1頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p>  論文題目:網(wǎng)絡(luò)協(xié)同辦公系統(tǒng)的設(shè)計與開發(fā)</p><p>  學(xué)生姓名: XXXX </p><p>  學(xué) 號: XXXXX </p><p>  專 業(yè):

2、 計算機科學(xué)與技術(shù) </p><p>  學(xué) 院: XXXXXX </p><p>  指導(dǎo)教師: XXXXX </p><p><b>  摘 要</b></p><p>  在現(xiàn)代企業(yè)的日常工作中,需要處理大量的公文、報告、報表、數(shù)據(jù)等各類信

3、息,涉及到多個部門和廣泛的合作伙伴。傳統(tǒng)的手工處理方式,文件、報表的傳遞方式和信息的利用方式已經(jīng)不能滿足企業(yè)發(fā)展的需要,影響了企業(yè)領(lǐng)導(dǎo)的決策和業(yè)務(wù)的發(fā)展,迫切需要利用已經(jīng)擁有的計算機、網(wǎng)絡(luò)資源,實現(xiàn)企業(yè)的信息化,加快內(nèi)部的信息流通與信息的有效利用。</p><p>  隨著計算機及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet/Intranet應(yīng)用在全球范圍內(nèi)日益普及。很多企業(yè)先后都采用各種相互獨立的網(wǎng)絡(luò)系統(tǒng)、應(yīng)用系統(tǒng)(文

4、檔管理,郵件管理,人事管理,銷售管理等),在部分提高了效率的同時,這些系統(tǒng)的相互獨立性也為企業(yè)的整體管理設(shè)置了障礙,它們?nèi)狈σ粋€統(tǒng)一的界面,沒有相互連接的信息渠道。孤島的存在阻礙了企業(yè)運作效率的提高,也制約了企業(yè)整體執(zhí)行力的提升。</p><p>  協(xié)同辦公系統(tǒng)就是在這種背景中產(chǎn)生的,其目的就是通過企業(yè)各個部門、環(huán)節(jié)的協(xié)同運作,使得企業(yè)運營效率大大提高,并通過提高效率獲得更快的流通速度和交易過程,降低協(xié)同過程中

5、的交易成本,節(jié)源開流從而提高企業(yè)的經(jīng)濟效益和社會效益。</p><p>  關(guān)鍵詞:網(wǎng)絡(luò),協(xié)同,辦公,異步 </p><p><b>  Abstract</b></p><p>  In the daily work of modern enterprises,a lot of information,such as documents, r

6、eports, statements, data and so on need to be deal with, involving some departments and various partners.The traditional manual manner, way of transmitting documents and statements and methods of using information have b

7、een unable to meet the needs of development of enterprise. It impacts leaders of enterprises making decision and business development, so it is urgent to make full use of the computer and network res</p><p>

8、  information.</p><p>  With rapid development of the computer network technology, the Internet/Intranet applications on a global scale grow more popular. Many enterprises have used various independent to ea

9、ch other network systems,applications systems. These systems improve the efficiency in part, mutual independence of the overall enterprise management has set up obstacles at the same time. They lack of a unified interfac

10、e and information channels to connect to each other. The existence of the island hampered the imp</p><p>  overall implementation of theenterprise upgrading.</p><p>  Coordination office system

11、broke up in this background. The purpose is to greatly enhance operational efficiency of enterprises by coordinated operation of sectors and parts of enterprises, to get faster flow speed and course of dealing and to red

12、uce the cost of coordination by means of improving efficiency, in order to enhance the economic efficiency of </p><p>  enterprises and social benefits.</p><p>  Keywords:Network,Collaboration,O

13、ffice,Asynchronous</p><p><b>  目 錄</b></p><p><b>  第一章 緒 論1</b></p><p>  1.1 課題背景1</p><p>  1.2 課題目標(biāo)2</p><p>  第二章 技術(shù)背景4</p&

14、gt;<p>  2.1 Java Web技術(shù)4</p><p>  2.1.1 Servlet技術(shù)4</p><p>  2.1.2 JSP技術(shù)5</p><p>  2.1.3 Java Web Server6</p><p>  2.2 數(shù)據(jù)訪問技術(shù)7</p><p>  2.2.1 JD

15、BC7</p><p>  2.2.2 連接池技術(shù)8</p><p>  2.3 Ajax技術(shù)10</p><p>  2.3.1 Ajax優(yōu)點和缺點11</p><p>  2.3.2 與傳統(tǒng)的web應(yīng)用比較12</p><p>  2.3.3 異步交互過程14</p><p>

16、  2.5 WEB標(biāo)準(zhǔn)15</p><p>  2.5.1 結(jié)構(gòu)標(biāo)準(zhǔn)語言16</p><p>  2.5.2 表現(xiàn)標(biāo)準(zhǔn)語言16</p><p>  2.5.3 行為標(biāo)準(zhǔn)16</p><p>  2.5.4 采用標(biāo)準(zhǔn)的好處17</p><p>  第三章 系統(tǒng)分析和設(shè)計18</p><p&

17、gt;  3.1 客戶需求分析18</p><p>  3.2 系統(tǒng)設(shè)計原則19</p><p>  3.3系統(tǒng)設(shè)計模式—MVC20</p><p>  3.4 系統(tǒng)功能結(jié)構(gòu)設(shè)計21</p><p>  3.5 系統(tǒng)運行平臺及開發(fā)環(huán)境23</p><p>  3.6系統(tǒng)數(shù)據(jù)庫設(shè)計24</p>

18、<p>  第四章 系統(tǒng)實現(xiàn)29</p><p>  4.1 模型層實現(xiàn)29</p><p>  4.1.1 基礎(chǔ)類和對象29</p><p>  4.1.2 數(shù)據(jù)庫連接類和Tomcat連接池配置30</p><p>  4.1.3 DAO接口32</p><p>  4.1.4 DAO接口實現(xiàn)3

19、2</p><p>  4.1.5 工廠設(shè)計33</p><p>  4.1.6 數(shù)據(jù)轉(zhuǎn)型34</p><p>  4.2 視圖層實現(xiàn)35</p><p>  4.2.1 頁面布局35</p><p>  4.2.2 登陸圖象驗證碼36</p><p>  4.2.3 與控制層數(shù)據(jù)交互

20、38</p><p>  4.3 控制層實現(xiàn)39</p><p>  4.3.1與模型層數(shù)據(jù)交互39</p><p>  4.3.2 與視圖層數(shù)據(jù)交互39</p><p>  4.3.3 視圖導(dǎo)向控制40</p><p>  第五章 運行結(jié)果及前景展望41</p><p>  5.1

21、 程序運行結(jié)果41</p><p>  5.2 前景展望42</p><p><b>  致 謝44</b></p><p><b>  參考文獻(xiàn)45</b></p><p><b>  第一章 緒 論</b></p><p><b>

22、  1.1 課題背景</b></p><p>  隨著全球信息化的迅猛發(fā)展,傳統(tǒng)的辦公方式已經(jīng)落后于信息化改革的要求,必將被全新的辦公方式取代。構(gòu)建內(nèi)部企業(yè)信息網(wǎng),實現(xiàn)辦公自動化已經(jīng)成為一種迫切的要求。企業(yè)借助計算機網(wǎng)絡(luò)實現(xiàn)資源的共享,信息高速、及時、準(zhǔn)確的傳遞已成為提高工作效率和加強市場競爭力的有效手段。</p><p>  很多企業(yè)先后都采用各種相互獨立的網(wǎng)絡(luò)系統(tǒng)、應(yīng)用系統(tǒng)

23、(文檔管理,郵件管理,人事管理,銷售管理等),在部分提高了效率的同時,這些系統(tǒng)的相互獨立性也為企業(yè)的整體管理設(shè)置了障礙,它們?nèi)狈σ粋€統(tǒng)一的界面,沒有相互連接的信息渠道。孤島的存在阻礙了企業(yè)運作效率的提高,也制約了企業(yè)整體執(zhí)行力的提升。</p><p>  在這個競爭異常激烈,客戶需求個性化的信息時代,企業(yè)不僅需要依靠降低產(chǎn)品的成本和提高響應(yīng)速度以確保在激烈的競爭環(huán)境下站穩(wěn)腳跟,更需要不斷地獲取知識、提升創(chuàng)新能力和

24、深化協(xié)同工作以獲取成功。協(xié)同生產(chǎn)、協(xié)同設(shè)計、協(xié)同辦公、協(xié)同政務(wù)……,“協(xié)同”的概念及基于此思想設(shè)計的應(yīng)用系統(tǒng)猶如菜市場小販的吆喝聲不斷地充斥著企業(yè)老總的神經(jīng)。隨著經(jīng)濟全球一體化的發(fā)展、行業(yè)價值鏈的形成和企業(yè)外包業(yè)務(wù)的發(fā)展,企業(yè)的成功更多地取決于組織靈活性和協(xié)作性,企業(yè)單體之間的競爭逐步轉(zhuǎn)變?yōu)椤奥?lián)盟體”之間的競爭。企業(yè)迫切需要將物流、資金流、知識流通過一個紐帶形成現(xiàn)代化管理平臺,使得企業(yè)各部門、供應(yīng)商、分銷商、業(yè)務(wù)伙伴及客戶協(xié)同運作,通過

25、價值鏈上下游各成員的信息共享和業(yè)務(wù)有序鏈接實現(xiàn)高效和緊密協(xié)作,從而以敏銳的洞察力和快速的反應(yīng)能力應(yīng)對瞬息萬變的市場,最終獲得決勝目標(biāo)。</p><p>  協(xié)同辦公系統(tǒng)就是在這種背景中產(chǎn)生的。其目的就是通過企業(yè)各個部門、環(huán)節(jié)的協(xié)同運作,使得企業(yè)運營效率大大提高,并通過提高效率獲得更快的流通速度和交易過程,降低協(xié)同過程中的交易成本,節(jié)源開流從而提高企業(yè)的經(jīng)濟效益和社會效益。</p><p>

26、  毫無疑問,協(xié)同對企業(yè)來說是非常重要的,面對企業(yè)的這些需求,無論是應(yīng)用分散的傳統(tǒng)ERP,還是滿足公文流轉(zhuǎn)和信息發(fā)布的辦公自動化系統(tǒng)系統(tǒng)顯然都“力不從心”。從而希望有這么一套系統(tǒng),能夠?qū)崿F(xiàn)價值鏈上下游各成員信息的高度共享和高效緊密協(xié)作,這就是協(xié)同工作套件或叫協(xié)同應(yīng)用系統(tǒng)。通過協(xié)同應(yīng)用系統(tǒng)擴大企業(yè)管理半徑,支持團隊或組織的協(xié)同工作為目的而進行的溝通、信息交換、進度安排與項目跟蹤以及人力資源管理等功能,并通過協(xié)同工作平臺,與企業(yè)內(nèi)部資源進行

27、高度共享和工作的協(xié)同。企業(yè)可以通過協(xié)同應(yīng)用系統(tǒng)快速建立自身的“價值鏈”管理體系,使信息流、資金流、物流通暢地運行在整個價值鏈中,同時實時掌握各種動態(tài)信息。</p><p><b>  1.2 課題目標(biāo)</b></p><p>  本課題設(shè)計是專門為“XXX大學(xué)計算機協(xié)會”定制的一套個性化網(wǎng)絡(luò)辦公系統(tǒng),其根本目標(biāo)是:設(shè)計一套能夠管理人事、資產(chǎn)、財務(wù)、項目、活動、IT運維

28、和辦公審批等內(nèi)容,同時分享資源、傳遞信息、傳達(dá)消息和分發(fā)文件的網(wǎng)絡(luò)協(xié)同辦公系統(tǒng)。具體目標(biāo)如下:</p><p>  1.頁面風(fēng)格符合行業(yè)特點,界面美觀大方;</p><p>  2.界面感受良好、操作方便簡潔;</p><p>  3.設(shè)計信息中心模塊,支持公告、活動報道、工作動態(tài)、規(guī)章制度、發(fā)展歷程、計協(xié)功勛等信息傳遞;</p><p> 

29、 4.設(shè)計短信息模塊,方便會員間交流;</p><p>  5.設(shè)計人事管理模塊,支持一個會員屬于多個部門;</p><p>  6.設(shè)計資產(chǎn)管理模塊,支持資產(chǎn)借出、收回和辦公用品入庫、出庫;</p><p>  7.設(shè)計財務(wù)管理模塊,支持財務(wù)收支和統(tǒng)計;</p><p>  8.設(shè)計項目中心管理模塊,支持項目和項目參與人管理;</p&

30、gt;<p>  9.設(shè)計活動中心管理模塊,支持活動、活動參與人及參與人請假、簽到和簽退管理;</p><p>  10.設(shè)計IT運維中心管理模塊,支持運維對象、運維對象管理員和配置管理;</p><p>  11.設(shè)計綜合辦公模塊,支持工作流功能;</p><p>  12.設(shè)計文件管理模塊,支持文件上傳功能和文件關(guān)聯(lián)功能;</p>&

31、lt;p>  13.合理的用戶權(quán)限管理,能夠驗證、設(shè)置和回收權(quán)限;</p><p>  14.索引功能,方便用戶查找各類信息;</p><p>  15.支持分頁功能;</p><p>  16.系統(tǒng)運行安全穩(wěn)定。</p><p><b>  第二章 技術(shù)背景</b></p><p>  2

32、.1 Java Web技術(shù)</p><p>  2.1.1 Servlet技術(shù)</p><p>  Servlet是一種獨立于平臺和協(xié)議的服務(wù)器端的Java應(yīng)用程序,可以生成動態(tài)的Web頁面。</p><p>  Servlet是位于Web服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由包含支持Servlet的Ja

33、va虛擬機的Web服務(wù)器進行加載。</p><p>  Java Servlet與CGI的比較:</p><p>  與傳統(tǒng)的CGI和許多其他類似CGI的技術(shù)相比,Java Servlet具有更高的效率,更容易使用,功能更強大,具有更好的可移植性,更節(jié)省投資。在未來的技術(shù)發(fā)展過程中,Servlet有可能徹底取代CGI。</p><p><b>  1.高效

34、</b></p><p>  在傳統(tǒng)的CGI中,每個請求都要啟動一個新的進程,如果有N個并發(fā)的對同一CGI程序進行請求,則該CGI程序的代碼在內(nèi)存中重復(fù)裝載了N次;而對于Servlet,處理請求的是N個線程,只需要一份Servlet類代碼。在性能優(yōu)化方面,Servlet也比CGI有著更多的選擇。</p><p><b>  2.方便 </b></p&

35、gt;<p>  Servlet提供了大量的實用工具例程,例如自動地解析和解碼HTML表單數(shù)據(jù)、讀取和設(shè)置HTTP頭、處理Cookie、跟蹤會話狀態(tài)等。</p><p><b>  3.功能強大</b></p><p>  在Servlet中,許多使用傳統(tǒng)CGI程序很難完成的任務(wù)都可以輕松地完成。例如,Servlet能夠直接和Web服務(wù)器交互,而普通的C

36、GI程序不能。Servlet還能夠在各個程序之間共享數(shù)據(jù),使得數(shù)據(jù)庫連接池之類的功能很容易實現(xiàn)。</p><p><b>  4.可移植性好</b></p><p>  Servlet用Java編寫,ServletAPI具有完善的標(biāo)準(zhǔn)。因此,為IPlanetEnterpriseServer寫的Servlet無需任何實質(zhì)上的改動即可移植到Apache、Microsoft

37、IIS或者WebStar。幾乎所有的主流服務(wù)器都直接或通過插件支持Servlet。</p><p><b>  5.節(jié)省投資</b></p><p>  不僅有許多廉價甚至免費的Web服務(wù)器可供個人或小規(guī)模網(wǎng)站使用,而且對于現(xiàn)有的服務(wù)器,如果它不支持Servlet的話,要加上這部分功能也往往是免費的或只需要極少的投資。</p><p>  2.

38、1.2 JSP技術(shù)</p><p>  JSP(Java Server Pages)是由Sun公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件。</p><p>  JSP技術(shù)使用Java編程語言編寫類XML的Tags和Scriptlets,來

39、封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過Tags和Scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。</p><p>  Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實

40、現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。</p><p>  JSP是在服務(wù)器端執(zhí)行的。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器,因此客戶端只要有瀏覽器就能瀏覽。</p><p>  Java Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和

41、JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο螅哂衅脚_無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點。</p><p><b>  JSP技術(shù)的優(yōu)勢:</b></p><p>  1.一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。</p><p>  2.系統(tǒng)的多平臺支持。<

42、/p><p>  3.強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務(wù)器進行集群和負(fù)載均衡,到多臺Application進行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。</p><p>  4.多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種

43、平臺之下。</p><p>  2.1.3 Java Web Server</p><p>  Tomcat是Java Web Server的主流,是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache、Sun和其它一些公司及個人共同開發(fā)而成。由于Sun公司的參與和支持,最新的Servlet和JSP規(guī)范總能在Tomcat中得到體現(xiàn)。

44、</p><p>  Tomcat 5.5x中采用的Servlet容器:Catalina,完整的實現(xiàn)了Servlet 2.3和ISP 1.2規(guī)范。Tomcat提供了各種平臺的版本供下載,可以從其官方網(wǎng)站上下載其源代碼版或者二進制版。由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性。</p><p>  2.2 數(shù)據(jù)訪問技術(shù)</p><p>  2.

45、2.1 JDBC</p><p>  JDBC常被認(rèn)為是代表“Java數(shù)據(jù)庫連接(Java Database Connectivity)”。它由一組用Java編程語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,能夠用純JavaAPI來編寫數(shù)據(jù)庫應(yīng)用程序。</p><p>  使用JDBC向各種關(guān)系數(shù)據(jù)庫發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBCAP

46、I,就不必為訪問MySQL數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,為訪問DB2數(shù)據(jù)庫又寫另一個程序,等等。只需用JDBC API寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL語句。將Java和JDBC結(jié)合起來將使程序員只須寫一遍程序就可讓它在任何平臺上運行。</p><p>  圖2.1 JDBC原理圖</p><p>  用JDBC來實現(xiàn)訪問數(shù)據(jù)庫記錄可以采用下面的

47、幾個步驟:</p><p>  1. 通過驅(qū)動器管理器獲取連接接口;</p><p>  2.獲得Statement或它的子類;</p><p>  3. 限制Statement中的參數(shù); </p><p>  4. 執(zhí)行Statement;</p><p>  5.查看返回的行數(shù)是否超出

48、范圍;</p><p>  6.關(guān)閉Statement;</p><p>  7. 處理其它的Statement;</p><p>  8. 關(guān)閉連接接口。</p><p>  2.2.2 連接池技術(shù)</p><p><b>  1.連接池運作原理</b></p>

49、<p>  在實際應(yīng)用開發(fā)中,特別是在WEB應(yīng)用系統(tǒng)中,如果JSP、Servlet或EJB使用JDBC直接訪問數(shù)據(jù)庫中的數(shù)據(jù),每一次數(shù)據(jù)訪問請求都必須經(jīng)歷建立數(shù)據(jù)庫連接、打開數(shù)據(jù)庫、存取數(shù)據(jù)和關(guān)閉數(shù)據(jù)庫連接等步驟,而連接并打開數(shù)據(jù)庫是一件既消耗資源又費時的工作,如果頻繁發(fā)生這種數(shù)據(jù)庫操作,系統(tǒng)的性能必然會急劇下降,甚至?xí)?dǎo)致系統(tǒng)崩潰。數(shù)據(jù)庫連接池技術(shù)是解決這個問題最常用的方法,在許多應(yīng)用程序服務(wù)器(例如:Weblogic,W

50、ebSphere,JBoss,Tomcat)中,基本都提供了這項技術(shù)。</p><p>  數(shù)據(jù)庫連接池技術(shù)的思想非常簡單,將數(shù)據(jù)庫連接作為對象存儲在一個Vector對象中,一旦數(shù)據(jù)庫連接建立后,不同的數(shù)據(jù)庫訪問請求就可以共享這些連接,這樣,通過復(fù)用這些已經(jīng)建立的數(shù)據(jù)庫連接,可以克服上述缺點,極大地節(jié)省系統(tǒng)資源和時間。</p><p>  圖2.2 連接遲原理圖</p>&l

51、t;p>  2.?dāng)?shù)據(jù)庫連接池的主要操作如下:</p><p>  建立數(shù)據(jù)庫連接池對象(服務(wù)器啟動);</p><p>  按照事先指定的參數(shù)創(chuàng)建初始數(shù)量的數(shù)據(jù)庫連接(即:空閑連接數(shù));</p><p>  對于一個數(shù)據(jù)庫訪問請求,直接從連接池中得到一個連接。如果數(shù)據(jù)庫連接池對象中沒有空閑的連接,且連接數(shù)沒有達(dá)到最大(即:最大活躍連接數(shù)),創(chuàng)建一個新的數(shù)據(jù)庫連

52、接;</p><p><b>  存取數(shù)據(jù)庫;</b></p><p>  關(guān)閉數(shù)據(jù)庫,釋放所有數(shù)據(jù)庫連接(此時的關(guān)閉數(shù)據(jù)庫連接,并非真正關(guān)閉,而是將其放入空閑隊列中。如實際空閑連接數(shù)大于初始空閑連接數(shù)則釋放連接);</p><p>  釋放數(shù)據(jù)庫連接池對象(服務(wù)器停止、維護期間,釋放數(shù)據(jù)庫連接池對象,并釋放所有連接)。</p>

53、<p><b>  4、連接池模型</b></p><p>  本文討論的連接池包括一個連接池類(DB Connection Pool)和一個連接池管理類(DB Connetion Pool Manager)。連接池類是對某一數(shù)據(jù)庫所有連接的“緩沖池”,主要實現(xiàn)以下功能:</p><p>  從連接池獲取或創(chuàng)建可用連接;</p><p&g

54、t;  使用完畢之后,把連接返還給連接池;</p><p>  在系統(tǒng)關(guān)閉前,斷開所有連接并釋放連接占用的系統(tǒng)資源;</p><p>  還能夠處理無效連接,并能夠限制連接池中的連接總數(shù)不低于某個預(yù)定值和不超過某個預(yù)定值。</p><p>  連接池管理類是連接池類的外覆類(wrapper),符合單例模式,即系統(tǒng)中只能有一個連接池管理類的實例。其主要用于對多個連接池

55、對象的管理,具有以下功能:</p><p>  裝載并注冊特定數(shù)據(jù)庫的JDBC驅(qū)動程序;</p><p>  根據(jù)屬性文件給定的信息,創(chuàng)建連接池對象;</p><p>  為方便管理多個連接池對象,為每一個連接池對象取一個名字,實現(xiàn)連接池名字與其實例之間的映射;</p><p>  跟蹤客戶使用連接情況,以便需要是關(guān)閉連接釋放資源。連接池管理

56、類的引入主要是為了方便對多個連接池的使用和管理,如系統(tǒng)需要連接不同的數(shù)據(jù)庫,或連接相同的數(shù)據(jù)庫但由于安全性問題,需要不同的用戶使用不同的名稱和密碼。</p><p>  2.3 Ajax技術(shù)</p><p>  Ajax全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML),結(jié)合了Java技術(shù)、XML以及JavaScript等編程技術(shù),

57、是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。Ajax技術(shù)是目前在瀏覽器中通過JavaScript腳本可以使用的所有技術(shù)的集合。Ajax以一種嶄新的方式來使用所有的這些技術(shù),使得古老的B/S方式的Web開發(fā)煥發(fā)了新的活力。</p><p>  Ajax的核心是JavaScript對象XmlHttpRequest。XmlHttpRequest使客戶可以使用JavaScript向服務(wù)器提出請求并處理響應(yīng),而不阻塞用戶。&

58、lt;/p><p>  Ajax的工作原理相當(dāng)于在用戶和服務(wù)器之間加了—個中間層,使用戶操作與服務(wù)器響應(yīng)異步化。把以前的一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利于客戶端閑置的處理能力來處理,減輕服務(wù)器和帶寬的負(fù)擔(dān),從而達(dá)到節(jié)約ISP的空間及帶寬租用成本的目的。</p><p>  2.3.1 Ajax優(yōu)點和缺點</p><p>  使用Ajax的最大優(yōu)點,就是能在不更新整

59、個頁面的前提下維護數(shù)據(jù)。這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒有改變過的信息。</p><p>  Ajax不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執(zhí)行。</p><p>  對應(yīng)用Ajax最主要的批評就是,它可能破壞瀏覽器后退按鈕的正常行為。在動態(tài)更新頁面的情況下,用戶無法回到前一個頁面狀態(tài),這是因為瀏覽器僅能記下歷史記錄中的靜態(tài)

60、頁面。一個被完整讀入的頁面與一個已經(jīng)被動態(tài)修改過的頁面之間的差別非常微妙;用戶通常都希望單擊后退按鈕,就能夠取消他們的前一次操作,但是在Ajax應(yīng)用程序中,卻無法這樣做。</p><p>  一個相關(guān)的觀點認(rèn)為,使用動態(tài)頁面更新使得用戶難于將某個特定的狀態(tài)保存到收藏夾中。</p><p>  進行Ajax開發(fā)時,網(wǎng)絡(luò)延遲——即用戶發(fā)出請求到服務(wù)器發(fā)出響應(yīng)之間的間隔——需要慎重考慮。不給予用

61、戶明確的回應(yīng),沒有恰當(dāng)?shù)念A(yù)讀數(shù)據(jù),或者對XMLHttpRequest的不恰當(dāng)處理,都會使用戶感到延遲,這是用戶不欲看到的,也是他們無法理解的。通常的解決方案是,使用一個可視化的組件來告訴用戶系統(tǒng)正在進行后臺操作并且正在讀取數(shù)據(jù)和內(nèi)容。</p><p>  一些手持設(shè)備(如手機、PDA等)現(xiàn)在還不能很好的支持Ajax。</p><p>  用JavaScript作的Ajax引擎,JavaSc

62、ript的兼容性和DeBug都是讓人頭痛的事。</p><p>  Ajax的無刷新重載,由于頁面的變化沒有刷新重載那么明顯,所以容易給用戶帶來困擾—用戶不太清楚現(xiàn)在的數(shù)據(jù)是新的還是已經(jīng)更新過的;現(xiàn)有的解決有:在相關(guān)位置提示、數(shù)據(jù)更新的區(qū)域設(shè)計得比較明顯、數(shù)據(jù)更新后給用戶提示等。</p><p>  2.3.2 與傳統(tǒng)的web應(yīng)用比較</p><p>  傳統(tǒng)的we

63、b應(yīng)用允許用戶填寫表單(form),當(dāng)提交表單時就向web服務(wù)器發(fā)送一個請求。服務(wù)器接收并處理傳來的表單,然後返回一個新的網(wǎng)頁。這個做法浪費了許多帶寬,因為在前後兩個頁面中的大部分HTML代碼往往是相同的。由于每次應(yīng)用的交互都需要向服務(wù)器發(fā)送請求,應(yīng)用的響應(yīng)時間就依賴于服務(wù)器的響應(yīng)時間。這導(dǎo)致了用戶界面的響應(yīng)比本地應(yīng)用慢得多。</p><p>  與此不同,Ajax應(yīng)用可以僅向服務(wù)器發(fā)送并取回必需的數(shù)據(jù),它使用S

64、OAP或其它一些基于XML的webservice接口,并在客戶端采用JavaScript處理來自服務(wù)器的響應(yīng)。因為在服務(wù)器和瀏覽器之間交換的數(shù)據(jù)大量減少,結(jié)果我們就能看到響應(yīng)更快的應(yīng)用。同時很多的處理工作可以在發(fā)出請求的客戶端機器上完成,所以Web服務(wù)器的處理時間也減少了。</p><p>  Ajax應(yīng)用程序的優(yōu)勢在于:</p><p>  1.通過異步模式,提升了用戶體驗</p&

65、gt;<p>  2.優(yōu)化了瀏覽器和服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用</p><p>  3.Ajax引擎在客戶端運行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的工作,從而減少了大用戶量下的服務(wù)器負(fù)載。</p><p>  傳統(tǒng)的web應(yīng)用模型工作起來就象這樣:大部分界面上的用戶動作觸發(fā)一個連接到Web服務(wù)器的HTTP請求。服務(wù)器完成一些處理---接收數(shù)據(jù),處理計算

66、,再訪問其它的數(shù)據(jù)庫系統(tǒng),最后返回一個HTML頁面到客戶端。</p><p>  圖2.3 傳統(tǒng)Web應(yīng)用模型(左)與Ajax模型的比較(右)</p><p>  舊的途徑同樣使用了多種技術(shù),但不會產(chǎn)生很好的用戶體驗。當(dāng)服務(wù)器正在處理用戶請求時,用戶只能等待,而且是每一次請求都要等待。</p><p>  2.3.3 異步交互過程</p><p&

67、gt;  通過在用戶和服務(wù)器之間引入一個Ajax引擎,可以消除Web的開始-停止-開始-停止這樣的交互過程。它就像增加了一層機制到程序中,使它響應(yīng)更靈敏,而它的確做到了這一點。</p><p>  在會話的開始,瀏覽器加載了一個Ajax引擎—采用JavaScript編寫并且通常在一個隱藏frame中。這個引擎負(fù)責(zé)繪制用戶界面以及與服務(wù)器端通訊。Ajax引擎允許用異步的方式實現(xiàn)用戶與程序的交互,不用等待服務(wù)器的通訊

68、。</p><p>  圖2.4 傳統(tǒng)Web應(yīng)用的同步交互過程</p><p>  圖2.5 Ajax應(yīng)用的異步交互過程</p><p>  通常要產(chǎn)生一個HTTP請求的用戶動作現(xiàn)在通過JavaScript調(diào)用Ajax引擎來代替。任何用戶動作的響應(yīng)不再要求直接傳到服務(wù)器,通常使用XML,不用再擔(dān)誤用戶界面的交互。</p><p><b&

69、gt;  2.5 WEB標(biāo)準(zhǔn)</b></p><p>  WEB標(biāo)準(zhǔn)不是某一個標(biāo)準(zhǔn),而是一系列標(biāo)準(zhǔn)的集合。網(wǎng)頁主要由三部分組成:結(jié)構(gòu)(Structure)、表現(xiàn)(Presentation)和行為(Behavior)。對應(yīng)的標(biāo)準(zhǔn)也分三方面:結(jié)構(gòu)化標(biāo)準(zhǔn)語言主要包括XHTML和XML,表現(xiàn)標(biāo)準(zhǔn)語言主要包括CSS,行為標(biāo)準(zhǔn)主要包括對象模型(如W3CDOM)、ECMAScript等。這些標(biāo)準(zhǔn)大部分由W3C起草和

70、發(fā)布,也有一些是其他標(biāo)準(zhǔn)組織制訂的標(biāo)準(zhǔn),比如ECMA(European Computer Manufacturers Association)的ECMAScript標(biāo)準(zhǔn)。這些標(biāo)準(zhǔn)的解釋如下:</p><p>  2.5.1 結(jié)構(gòu)標(biāo)準(zhǔn)語言</p><p><b>  1.XML</b></p><p>  XML是The Extensible M

71、arkup Language(可擴展標(biāo)識語言)的簡寫。目前推薦遵循的是W3C于2000年10月6日發(fā)布的XML1.0。和HTML一樣,XML同樣來源于SGML,但XML是一種能定義其他語言的語。XML最初設(shè)計的目的是彌補HTML的不足,以強大的擴展性滿足網(wǎng)絡(luò)信息發(fā)布的需要,后來逐漸用于網(wǎng)絡(luò)數(shù)據(jù)的轉(zhuǎn)換和描述。</p><p><b>  2.XHTML</b></p><p

72、>  XHTML是The Extensible HyperText Markup Language可擴展標(biāo)識語言的縮寫。目前推薦遵循的是W3C于2000年1月26日推薦XML1.0。XML雖然數(shù)據(jù)轉(zhuǎn)換能力強大,完全可以替代HTML,但面對成千上萬已有的站點,直接采用XML還為時過早。因此,在HTML4.0的基礎(chǔ)上,用XML的規(guī)則對其進行擴展,得到了XHTML。簡單的說,建立XHTML的目的就是實現(xiàn)HTML向XML的過渡。</

73、p><p>  2.5.2 表現(xiàn)標(biāo)準(zhǔn)語言</p><p>  CSS是Cascading Style Sheets層疊樣式表的縮寫。目前推薦遵循的是W3C于1998年5月12日推薦CSS2。W3C創(chuàng)建CSS標(biāo)準(zhǔn)的目的是以CSS取代HTML表格式布局、幀和其他表現(xiàn)的語言。純CSS布局與結(jié)構(gòu)式XHTML相結(jié)合能幫助設(shè)計師分離外觀與結(jié)構(gòu),使站點的訪問及維護更加容易。</p><p

74、>  2.5.3 行為標(biāo)準(zhǔn)</p><p><b>  1.DOM</b></p><p>  DOM是Document Object Model文檔對象模型的縮寫。根據(jù)W3CDOM規(guī)范,DOM是一種與瀏覽器,平臺,語言的接口,使得可以訪問頁面其他的標(biāo)準(zhǔn)組件。簡單理解,DOM解決了Netscaped的Javascript和Microsoft的Jscript之間的

75、沖突,給予web設(shè)計師和開發(fā)者一個標(biāo)準(zhǔn)的方法,讓他們來訪問他們站點中的數(shù)據(jù)、腳本和表現(xiàn)層對像。</p><p>  2.ECMAScript</p><p>  ECMAScript是ECMA(European Computer Manufacturers Association)制定的標(biāo)準(zhǔn)腳本語言(JAVAScript)。目前推薦遵循的是ECMAScript262。</p>

76、<p>  2.5.4 采用標(biāo)準(zhǔn)的好處</p><p>  1.采用標(biāo)準(zhǔn)對網(wǎng)站瀏覽者的好處如下:</p><p>  文件下載與頁面顯示速度更快;</p><p>  內(nèi)容能被更多的用戶訪問;</p><p>  內(nèi)容能被更廣泛的設(shè)備所訪問;</p><p>  用戶能夠通過樣式選擇定制自己的表現(xiàn)界面;&l

77、t;/p><p>  所有頁面都能提供適于打印的版本。</p><p>  2.采用標(biāo)準(zhǔn)對網(wǎng)站所有者的好處如下:</p><p>  更少的代碼和組件,容易維護;</p><p>  帶寬要求降低(代碼更簡潔),成本降低;</p><p>  更容易被搜尋引擎搜索到;</p><p>  改版方便,

78、不需要變動頁面內(nèi)容;</p><p>  提供打印版本而不需要復(fù)制內(nèi)容;</p><p><b>  提高網(wǎng)站易用性。</b></p><p>  第三章 系統(tǒng)分析和設(shè)計</p><p>  3.1 客戶需求分析</p><p>  1.系統(tǒng)能夠?qū)θ耸?、資產(chǎn)、財務(wù)等進行管理,監(jiān)視、統(tǒng)計相關(guān)內(nèi)容;&

79、lt;/p><p>  2.根據(jù)社團組織結(jié)構(gòu)(如圖)、職位組織會員參與工作;</p><p>  圖3.1 計算機協(xié)會組織結(jié)構(gòu)</p><p>  3.對項目、活動、IT運維等事務(wù)進行管理、監(jiān)視和統(tǒng)計分析;</p><p>  4.設(shè)計短消息、信息中心、文件管理加強信息溝通和資源分享能力;</p><p>  5.設(shè)計登陸

80、驗證技術(shù),防止用戶使用窮舉軟件窮舉用戶密碼;</p><p>  6.設(shè)計權(quán)限管理功能,防止非法用戶訪問和非法操作。</p><p>  3.2 系統(tǒng)設(shè)計原則</p><p>  要充分發(fā)揮Web應(yīng)用的內(nèi)在潛力,挖掘應(yīng)用深度和擴大適應(yīng)能力,需要采用先進的應(yīng)用架構(gòu)和以實用為根本準(zhǔn)則,使得系統(tǒng)既能滿足業(yè)務(wù)需求,又能適應(yīng)將來發(fā)展需要。因此,在開發(fā)Web應(yīng)用系統(tǒng)時需要盡量遵

81、循Web應(yīng)用系統(tǒng)設(shè)計原則。</p><p>  實用性原則:這是所有應(yīng)用軟件最基本的原則,直接衡量系統(tǒng)的成敗,每一個提交到用戶手中的系統(tǒng)都應(yīng)該是實用的,能解決用戶的實際問題。</p><p>  適應(yīng)性和可擴展性原則:系統(tǒng)需要具備一定的適應(yīng)能力,特別是Web應(yīng)用要能適應(yīng)于多種運行環(huán)境,來應(yīng)對未來變化的環(huán)境和需求??蓴U展性主要體現(xiàn)在系統(tǒng)易于擴展,例如可以采用分布式設(shè)計、系統(tǒng)結(jié)構(gòu)模塊化設(shè)計,系

82、統(tǒng)架構(gòu)可以根據(jù)網(wǎng)絡(luò)環(huán)境和用戶的訪問量而適時調(diào)整。</p><p>  可靠性原則:系統(tǒng)應(yīng)該是可靠的,在出現(xiàn)異常的時候應(yīng)該有人性化的異常信息方便用戶理解原因,或采取適當(dāng)?shù)膽?yīng)對方案。</p><p>  可維護性和可管理性原則:Web系統(tǒng)應(yīng)該有一個完善的管理機制,而可維護性和可管理性是重要的兩個指標(biāo)。</p><p>  安全性原則:現(xiàn)在的計算機病毒幾乎都來自于網(wǎng)絡(luò),W

83、eb應(yīng)用應(yīng)盡量采用五層安全體系,即網(wǎng)絡(luò)層安全、系統(tǒng)安全、用戶安全、用戶程序的安全和數(shù)據(jù)安全。系統(tǒng)必須具備高可靠性,對使用信息進行嚴(yán)格的權(quán)限管理,技術(shù)上,應(yīng)采用嚴(yán)格的安全與保密措施,保證系統(tǒng)的可靠性、保密性和數(shù)據(jù)一致性等。</p><p>  標(biāo)準(zhǔn)化原則:本系統(tǒng)遵守J2EE1.4標(biāo)準(zhǔn)和WEB標(biāo)準(zhǔn)</p><p>  總體規(guī)劃、分層實施原則:在開始設(shè)計之前應(yīng)該對Web系統(tǒng)進行總體設(shè)計,然后在總

84、體設(shè)計指導(dǎo)下分步開發(fā)。在適應(yīng)系統(tǒng)需求的準(zhǔn)則下,設(shè)計低耦合的分層結(jié)構(gòu),利于團隊成員的分工協(xié)作,提高開發(fā)效率,降低項目風(fēng)險,實現(xiàn)各個模塊的功能設(shè)計,完成整個系統(tǒng)的開發(fā)。</p><p>  3.3系統(tǒng)設(shè)計模式—MVC</p><p>  MVC英文即Model-View-Controller,即把一個應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一

85、個應(yīng)用被分成三個層——模型層、視圖層、控制層。</p><p>  視圖(View):代表用戶交互界面,對于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。一個應(yīng)用可能有很多不同的視圖,MVC設(shè)計模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。</p><p> 

86、 模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計可以說是MVC最主要的核心。</p><p>  控制(Controller):可以理解為從用戶接收請求,將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可

87、以完成什么樣的用戶請求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。</p><p>  模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導(dǎo)致顯示的更新。這實際上是一種模型的變化-傳播機制。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖3.2所示。&l

88、t;/p><p>  圖3.2 模型、視圖、控制器三者之間的關(guān)系和各自的主要功能</p><p>  3.4 系統(tǒng)功能結(jié)構(gòu)設(shè)計</p><p>  為滿足客戶需求,該系統(tǒng)的功能結(jié)構(gòu)如圖:</p><p>  圖3.3 系統(tǒng)功能結(jié)構(gòu)</p><p>  1.信息中心模塊:允許發(fā)布、編輯、查看和刪除公告、活動報道、工作動態(tài)、規(guī)

89、章制度、發(fā)展歷程、計協(xié)功勛等內(nèi)容,同時根據(jù)保密級別允許或阻止用戶訪問。</p><p>  2.短信息模塊:支持系統(tǒng)內(nèi)部擁護相關(guān)發(fā)送和接收短消息。設(shè)計寫短消息、收信箱、草稿箱和發(fā)信箱等塊,可以撰寫、編輯、查看和刪除短消息。</p><p>  3.文件管理模塊:支持文件上傳和下載功能,可以其他事務(wù)關(guān)聯(lián)可以引用文件。系統(tǒng)根據(jù)關(guān)聯(lián)關(guān)系操作文件。</p><p>  4.

90、綜合辦公模塊:以工作流為核心,可以設(shè)計和建立工作模板、實例、批復(fù)和關(guān)聯(lián)等內(nèi)容,支持用戶申請、報告和主管部門審批、下達(dá)指示等內(nèi)容,同時系統(tǒng)可以監(jiān)視工作狀態(tài)。</p><p>  5.活動中心模塊:將管理會議、活動、集會、培訓(xùn)、值班、集體辦公等內(nèi)容,允許參與人請假、簽到和簽退。</p><p>  6.項目管理模塊:對社團開展的項目和項目參與人進行管理,同是監(jiān)視項目進展情況。</p>

91、;<p>  7.運維中心模塊:對網(wǎng)站、服務(wù)器、計算機、辦公外設(shè)、網(wǎng)絡(luò)設(shè)備等對IT對象和其管理員和配置參數(shù)進行管理和監(jiān)視</p><p>  8.人事管理模塊:將管理會員、部門和職位等基本信息,同時允許會員就任和卸任職位。</p><p>  9.財務(wù)管理模塊:錄入財務(wù)收入、支出等信息,統(tǒng)計指定時間內(nèi)的收入、支出情況,并報告盈虧。</p><p>  

92、10.資產(chǎn)管理模塊:對固定資產(chǎn)、辦公用品進行管理,登記其來源、去向,并統(tǒng)計相關(guān)數(shù)據(jù)。</p><p>  11.系統(tǒng)管理模塊:支持系統(tǒng)環(huán)境配置和用戶權(quán)利分配等功能。</p><p>  本系統(tǒng)結(jié)構(gòu)沒有前臺和后臺之分,而是根據(jù)用戶權(quán)限來顯示操作菜單和訪問控制。</p><p>  3.5 系統(tǒng)運行平臺及開發(fā)環(huán)境</p><p><b>

93、;  1.開發(fā)環(huán)境</b></p><p><b>  表3.1 開發(fā)環(huán)境</b></p><p><b>  2.服務(wù)器運行環(huán)境</b></p><p>  表3.2 服務(wù)器運行環(huán)境</p><p><b>  3.客戶端運行環(huán)境</b></p>&

94、lt;p>  表3.3 客戶端運行環(huán)境</p><p>  3.6系統(tǒng)數(shù)據(jù)庫設(shè)計</p><p>  圖3.4 信息模塊E-R圖 </p><p>  圖3.5 活動模塊E-R圖</p><p>  圖3.6 短消息模塊E-R圖</p><p>  圖3.7 人事管理模塊E-R圖</p><

95、p>  圖3.8 財務(wù)管理模塊E-R圖</p><p>  圖3.9 IT運維模塊E-R圖</p><p>  圖3.10 資產(chǎn)管理模塊E-R圖</p><p>  圖3.11 項目模塊E-R圖</p><p>  圖3.12 綜合辦公模塊E-R圖</p><p><b>  第四章 系統(tǒng)實現(xiàn)</

96、b></p><p>  網(wǎng)絡(luò)協(xié)同辦公系統(tǒng)是根據(jù)MVC設(shè)計模式開發(fā)的,因此該系統(tǒng)實現(xiàn)可以分為模型層實現(xiàn)、視圖層實現(xiàn)和控制層實現(xiàn)。</p><p>  本章由于篇幅有限,本文只講述信息中心模塊的實現(xiàn)過程,其他模塊實現(xiàn)過程類似。</p><p><b>  4.1 模型層實現(xiàn)</b></p><p>  本層主要是設(shè)計

97、基本類和對象、DAO(數(shù)據(jù)訪問操作)接口和接口的實現(xiàn),將訪問數(shù)據(jù)庫,將對象屬性與數(shù)據(jù)表相互傳遞。</p><p>  4.1.1 基礎(chǔ)類和對象</p><p>  信息中心模塊中包含基礎(chǔ)類Info,與數(shù)據(jù)表info對應(yīng),Info的對象用于封裝信息中心中的一條數(shù)據(jù)。</p><p><b>  該類屬性有:</b></p><

98、p>  private int id;//信息編號</p><p>  private String title;//信息標(biāo)題</p><p>  private Date date;//發(fā)布時間</p><p>  private String content;//信息內(nèi)容</p><p>  priva

99、te int author; //信息作者</p><p>  所有屬性都是私有的,只能被類中的方法訪問,提高安了全性。</p><p><b>  該類方法有:</b></p><p>  public int getAuthor() {//獲取author植</p><p>  return autho

100、r;</p><p><b>  }</b></p><p>  public void setAuthor(int author) {//設(shè)置author植</p><p>  this.author = author;</p><p><b>  }</b></p><p&g

101、t;  及其他類中屬性的setXXX和getXXX方法。其中setXXX用于設(shè)置對象屬性XXX的值,getXXX用于獲取對象屬性XXX的值。</p><p>  4.1.2 數(shù)據(jù)庫連接類和Tomcat連接池配置</p><p><b>  1.?dāng)?shù)據(jù)庫連接類</b></p><p>  數(shù)據(jù)庫連接類(DataBaseConnection)用于管理

102、數(shù)據(jù)庫連接,其中包括打開連接、獲取連接對象和關(guān)閉連接。</p><p>  打開數(shù)據(jù)庫連接方法,</p><p>  public DataBaseConnection() {//類構(gòu)造方法</p><p>  DataSource ds = null; //數(shù)據(jù)源</p><p><b>  try {</b><

103、;/p><p>  InitialContext ctx = new InitialContext();</p><p>  if(ctx == null) throw new Exception("No Context");</p><p>  ds==(DataSource)ctx.lookup(//尋找數(shù)據(jù)源</p><p

104、>  "java:comp/env/jdbc/OfficeData");</p><p>  conn = ds.getConnection();//打開連接</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b

105、>  }</b></p><p><b>  }</b></p><p>  該方法中的DataSource,InitialContext及getConnection()方法是Tomcat中連接池類或方法,用于支持連接池技術(shù)。</p><p><b>  獲取連接對象方法</b></p>&

106、lt;p>  public Connection getConnection() {</p><p>  return this.conn ;</p><p><b>  }</b></p><p><b>  關(guān)閉數(shù)據(jù)庫連接方法</b></p><p>  public void dataB

107、aseclose() {</p><p><b>  try {</b></p><p>  if(conn != null)</p><p>  this.conn.close() ;</p><p>  } catch (Exception e) {</p><p>  e.printStac

108、kTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  當(dāng)數(shù)據(jù)庫連接類非空,調(diào)用close()方法關(guān)閉連接,當(dāng)連接為空或關(guān)閉失敗時,將拋出異常,由try catch 捕捉,并printStackTrace()打印堆棧信息。</p><p&

109、gt;  2.Tomcat連接池配置</p><p>  1) 在Tomcat中conf目錄下server.xml文件<GlobalNamingResources>中增加:</p><p>  <Resource name="jdbc/OfficeData" <!—-資源名 --></p><p>  type=&

110、quot;javax.sql.DataSource" <!--資源類型:數(shù)據(jù)源 --></p><p>  maxActive="100" <!--最大連結(jié)數(shù) --></p><p>  maxIdle="30" <!--在連結(jié)池中保留的連結(jié)數(shù)--></p><p

111、>  username="root"<!--數(shù)據(jù)庫用戶名 --></p><p>  maxWait="1000"<!—-連接超時1000秒--></p><p>  driverClassName="org.gjt.mm.mysql.Driver"</p><

112、p>  <!--Mydql數(shù)據(jù)庫驅(qū)動類--></p><p>  password="123456"<!--數(shù)據(jù)庫密碼--></p><p>  url="jdbc:mysql://localhost:3306/office"/> <!—數(shù)據(jù)庫地址--></p><p> 

113、 2) 在應(yīng)用程序根目錄WEB-INF/web.xml在田加以下代碼:</p><p>  <resource-ref></p><p>  <res-ref-name>jdbc/OfficeData</res-ref-name></p><p>  <res-type>javax.sql.DataSource<

114、/res-type></p><p>  <res-auth>Container</res-auth></p><p>  </resource-ref></p><p>  用于本應(yīng)用系統(tǒng)引用Tomcat連接池資源。</p><p>  3) 導(dǎo)入MySQL數(shù)據(jù)庫驅(qū)動類</p><

115、;p>  將mysql-connector-java-5.0.7-bin.jar文件拷貝到Tomcat的common\lib目錄下。</p><p>  4.1.3 DAO接口</p><p>  DAO(數(shù)據(jù)訪問操作)接口中定義了此模塊中將會用到的所有事務(wù)方法。在這個應(yīng)用程序中,當(dāng)需要和數(shù)據(jù)源進行交互的時候則使用這個接口。信息中心模塊中的DAO接口如下:</p>&l

116、t;p>  public interface InfoDAO {</p><p>  public void insert(Info info); //新增信息</p><p>  public void delete(int id) ; //刪除信息</p><p>  public void update(Info info); //修改

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論