

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 皖西學院</b></p><p><b> 畢業(yè)論文(設計)</b></p><p> 題 目:網絡投票管理系統(tǒng)</p><p> 姓 名:懷雪飛</p><p> 學 號:2009012200</p><p><
2、b> 指導教師:何富貴</b></p><p> 班 級:計科0903</p><p> 系 部:信息工程學院</p><p><b> 網絡投票管理系統(tǒng)</b></p><p> 摘要:隨著信息化技術的發(fā)展,網絡投票也需要一套有先進管理思想的系統(tǒng),作為實現(xiàn)目標和提高現(xiàn)有投票管理水
3、平的一種重要手段。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。</p><p> 本文采用JSP開發(fā)語言和SQL數據庫開發(fā)了網絡投票管理系統(tǒng)解決了管理人員的煩瑣事務,達到了無紙化的調查問卷的替代效果。其系統(tǒng)的主要特點有:高度可用性,該系統(tǒng)擁有前臺展示的功能,系統(tǒng)前臺用戶可以進行投票和查看投票結果,支持后臺管理,投票項目及投票選項的
4、管理(增加和刪除投票主題)及維護功能;實現(xiàn)界面友好性:交互界面美觀、友好、快捷,能給出及時的反饋。</p><p> 關鍵詞:JSP;投票;數據庫</p><p> Internet Voting Management System</p><p> Abstract: With the development of information technolog
5、y, Internet voting also need a system with the advanced management mode, as the goal and improving the existing voting management level. With improvement of science and technology, its powerful functions in computer scie
6、nce plays an increasingly important role on various fields of society. </p><p> In this paper, using JSP programming language and SQL database the Internet voting system is developed to solve the tedious af
7、fairs management, as the substitution of no survey paper. The main feature of the system are: high availability. The system has a front display function. The user can vote and view the voting results.And it supports the
8、backstage management, voting and polling options Management (add and delete vote-topic) and maintenance function. It has the friendly interface: interface</p><p> Keywords: JSP; Vote; Database目 錄</p>
9、<p><b> 1 緒論1</b></p><p> 1.1 研究意義1</p><p> 1.2 可行性分析1</p><p> 1.2.1 技術可行性1</p><p> 1.2.2 經濟可行性1</p><p> 1.2.3 操作可行性2&
10、lt;/p><p> 2 基礎理論知識2</p><p> 2.1 MySQL數據庫簡介2</p><p> 2.2 JSP編程語言3</p><p> 2.3 SQL語句3</p><p> 2.4 數據庫系統(tǒng)4</p><p><b> 3 需求分析
11、5</b></p><p> 3.1 功能需求5</p><p> 3.2 系統(tǒng)主要特色5</p><p> 3.3 模塊功能需求5</p><p> 3.4 性能需求6</p><p> 3.5 開發(fā)流程6</p><p> 3.6 數據流圖6&
12、lt;/p><p><b> 4 總體設計7</b></p><p> 4.1 基本設計概念和系統(tǒng)總流程圖;7</p><p> 4.2 系統(tǒng)功能邏輯結構7</p><p> 4.3 系統(tǒng)功能模塊的設計9</p><p> 4.4 數據庫的設計9</p>&
13、lt;p><b> 5 系統(tǒng)開發(fā)9</b></p><p> 5.1 數據庫9</p><p> 5.1.1 創(chuàng)建數據庫9</p><p> 5.1.2 創(chuàng)建表10</p><p> 5.1.3 連接數據庫10</p><p> 5.2 功能的實現(xiàn)12&l
14、t;/p><p> 5.3 問題及解決13</p><p> 6 運行部分13</p><p> 6.1 系統(tǒng)的安裝13</p><p> 6.2 系統(tǒng)的使用14</p><p><b> 結論25</b></p><p><b> 致謝
15、26</b></p><p><b> 參考文獻27</b></p><p><b> 1 緒論</b></p><p><b> 1.1 研究意義</b></p><p> 隨著INTERNET的發(fā)展,世界網民的數量急劇增加,社會的信息化強度增強,
16、企業(yè)競爭之激烈,故對市場信息的掌握范圍不僅僅是周邊的一些信息,而應把范圍擴展到全國,甚至全世界,INTERNET恰恰是實現(xiàn)這目標的有利工具。對于新產品,新觀點的調查范圍應該更廣泛,消息應該及時反饋給企業(yè)單位,故一個網上網絡投票管理系統(tǒng)應允而生,它正好充分滿足客戶的需求,信息反饋的范圍擴大,人力資源的節(jié)省,從而使得企業(yè)在競爭激烈的市場中擁有更強大的資本。開發(fā)此投票系統(tǒng)是為了更好的把市場的信息更準確更快速的反饋給客戶,使信息的來源更廣泛,從
17、而提高信息的準確性。運用此系統(tǒng)可以降低企業(yè)為市場調查而消耗的人力和物力,利用節(jié)省的資源提高產品的質量,增強競爭力[1]。</p><p> 一個網站不斷發(fā)展的前提就是眾多用戶的支持,一個好的網站一定要注意與用戶之間信息的交流。能夠有效得到用戶反饋的信息,并及時對網站內容進行改進,這也是一個網站持續(xù)發(fā)展的基礎。</p><p> 也正是由于以上原因,網絡上各式各樣的投票系統(tǒng)層出不窮。本次
18、課程設計的目的,就是來制作一個網絡投票管理系統(tǒng),該系統(tǒng)可以實現(xiàn)對投票數量進行累加、查詢、統(tǒng)計票數等操作。</p><p> 網絡投票管理系統(tǒng)主要用來統(tǒng)計網站用戶對某個主題或熱門話題的意見。決策者通過這些統(tǒng)計數據做出相應的決策。網絡投票管理系統(tǒng)是一般網站必備的程序之一。我設計的投票系統(tǒng)主要是針對網民對于熱門話題的做出的選擇[2]。</p><p> 1.2 可行性分析</p>
19、;<p> 1.2.1 技術可行性 </p><p> ?。?)操作系統(tǒng): Windows 2000 Server 及以上服務器版本;</p><p> ?。?)數據庫管理系統(tǒng):MySQL;</p><p> (3)服務器:Tomcat 5;</p><p> ?。?)編程工具:編程軟件為MyEclipse5.5,編程語
20、言選用JSP[3]。</p><p> 1.2.2 經濟可行性</p><p><b> ?。?)支出 </b></p><p><b> ?、?系統(tǒng)開發(fā)費用 </b></p><p> 1)人員費用:本系統(tǒng)開發(fā)期為三周,試運行一周。開發(fā)期需要開發(fā)人員1人,試運行期需要開發(fā)人員1人。人員費用為
21、0.4萬元。 </p><p> 2)設備費:本系統(tǒng)所需的硬件設備費用為0.6萬元。 </p><p> 3)不可預見費:按開發(fā)費用的15%計算。 </p><p><b> ② 系統(tǒng)運行費用</b></p><p> 1)系統(tǒng)維護費:需要 6人/年進行系統(tǒng)維護,維護費為1.8萬元。</p><
22、;p> 2)設備維護費:設備更新費為0.6萬元。設備維護費為0.6萬元。 </p><p> 3)消耗材料費:每年按600元計算。 </p><p><b> ?。?)收益 </b></p><p> ?。?)提高工作效率。</p><p> ?。?)減少工作人員[4]。</p><p>
23、; 1.2.3 操作可行性</p><p> 本網絡投票管理系統(tǒng)的用戶只需懂得運用互聯(lián)網絡者均可以使用,此系統(tǒng)在網站中的使用頻度預計非常的頻繁; </p><p> 該系統(tǒng)屬于實用型網站,需要對數據的處理,比如對投票票數的統(tǒng)計并把結果反饋給投票者,故對數據的及時更新要求較高,保證數據的真實性。該系統(tǒng)在任何操作系統(tǒng)下都可以運行,但必須裝有MySQL數據庫[5]。</p>
24、<p> 該系統(tǒng)的操作包括:單選投票、多選投票、查看投票、投票設計。</p><p> 單選投票:參與投票的人從提供的選擇中選擇一項來進行投票。</p><p> 多選投票:參與投票的人從提供的選擇中可以選擇一個或多個來進行投票。</p><p> 查看投票:提供參與投票的人查看目前投票的情況,投票的結果是以條形圖來顯示的。</p>
25、<p> 投票設計:管理員有權限設計不一樣的投票主題,還有投票主題的具體內容供參與投票的人來進行投票,投票設計還包括這些功能需求:增加主題、刪除主題、查看主題、修改主題。</p><p><b> 2 基礎理論知識</b></p><p> 2.1 MySQL數據庫簡介</p><p> MySQL是一種開放源代碼的關系
26、型數據庫管理系統(tǒng)(RDBMS),MySQL數據庫系統(tǒng)使用最常用的數據庫管理語言--結構化查詢語言(SQL)進行數據庫管理[6]。</p><p> MySQL因為其速度、可靠性和適應性而備受關注。大多數人都認為在不需要事務化處理的情況下,MySQL是管理內容最好的選擇。</p><p> MySQL被廣泛地應用在Internet上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤
27、其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫。</p><p> 與其他的大型數據庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經綽綽有余,而且由于MySQ
28、L是開放源碼軟件,因此可以大大降低總體擁有成本[7]。</p><p> 2.2 JSP編程語言</p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準。JSP技術有點類似ASP技術,它是在傳統(tǒng)的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP
29、標記(tag),從而形成JSP文件(*.jsp)。 用JSP開發(fā)的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行[8]。</p><p><b> 其優(yōu)點包括:</b></p><p> (1)一次編寫,到處運行。除了系統(tǒng)之外,代碼不用做任何更改。</p><p> ?。?)系統(tǒng)的多平臺支持。基本上可以在所有平臺上的
30、任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP的局限性JSP的優(yōu)勢是顯而易見的。</p><p> (3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數臺服務器,Java顯示了一個巨大的生命力。</p><p> (4)多樣化和功能強
31、大的開發(fā)工具支持。這一點與ASP很像,Java已經有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經可以順利的運行于多種平臺之下。</p><p> ?。?)支持服務器端組件。web應用需要強大的服務器端組件來支持,開發(fā)人員需要利用其他工具設計實現(xiàn)復雜功能的組件供web頁面調用,以增強系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來實現(xiàn)復雜商務功能。</p><p&g
32、t;<b> 其缺點有:</b></p><p> ?。?)與ASP也一樣,Java的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產品的復雜性。</p><p> (2)Java的運行速度是用class常駐內存來完成的,所以它在一些情況下所使用的內存比起用戶數量來說確實是“最低性能價格比”了[9]。</p>
33、;<p> 2.3 SQL語句</p><p> SQL語句主要包括數據定義語言、數據操作語言、數據控制語言等。具體有:</p><p> ?。?)數據定義功能:數據定義語言(DDL): CREATE, ALTER, DROP, DECLARE用戶通過它可以方便地對數據庫中的數據對象進行定義。</p><p> ?。?)數據操縱功能:數據操作語言
34、(DML):SELECT, INSERT,DELETE, UPDATE,用戶可以使用DML操縱數據,實現(xiàn)對數據庫的基本操作,如查詢、插入、刪除、修改等。</p><p> ?。?)數據控制語言(DCL):GRANT, REVOKE, COMMIT。</p><p> 在數據庫里做修改后 (INSERT,DELETE, UPDATE,)未commit 之前,使用ROLLBACK可以
35、恢復數據到修改之前[10]。</p><p> 2.4 數據庫系統(tǒng)</p><p> 與人工管理和文件系統(tǒng)相比,數據庫系統(tǒng)的特點主要有以下幾個方面:</p><p><b> 數據結構化:</b></p><p> 在文件系統(tǒng)中,盡管其記錄內部已有了某些結構,但記錄之間沒有聯(lián)系。而數據庫系統(tǒng)則實現(xiàn)了整體數據的結
36、構化,這是數據庫的主要特征之一,也是數據庫與文件系統(tǒng)的本質區(qū)別[11]。</p><p> 數據的共享性高、冗余度低、易于擴充:</p><p> 數據庫系統(tǒng)從整體角度看待和描述數據,數據不再面向某個特定的應用程序,而是面向整個系統(tǒng);因此,數據可以被多個用戶、多個應用程序共享使用。數據共享可以大大減少數據冗余,節(jié)約存儲空間。數據共享還能夠避免數據之間的不相容性與不一致性[12]。<
37、;/p><p><b> 數據獨立性高:</b></p><p> 數據獨立性包括數據的物理獨立性和邏輯獨立性[13]。</p><p> 物理獨立性是指用戶的應用程序與存儲在磁盤上的數據庫中的數據是相互獨立的。也就是說,數據在磁盤上的數據庫中如何存儲是由DBMS管理的,用戶程序不需要了解,應用程序要處理的只是數據的邏輯結構,這樣一來當數據的
38、物理存儲結構改變時,用戶的程序不用改變[14]。</p><p> 邏輯獨立性是指用戶的應用程序與數據庫的邏輯結構是相互獨立的,也就是說,數據的邏輯結構改變了,用戶程序也可以不改變。</p><p> 數據由DBMS統(tǒng)一管理和控制:</p><p> 數據庫的共享是并發(fā)的(concurrency)共享,即多個用戶可以同時存取數據庫中的數據,甚至可以同時存取數據
39、庫中的同一個數據[15]。</p><p> DBMS必須提供以下幾方面的數據控制功能:</p><p> 數據的安全性保護(security);</p><p> 數據的完整性檢查(integrity);</p><p> 數據庫的并發(fā)訪問控制(concurrency);</p><p> 數據庫的故障恢復
40、(recovery)[16]。</p><p><b> 3 需求分析</b></p><p><b> 3.1 功能需求</b></p><p> 通過對用戶的需求調查分析,可以概括出用戶的功能需求如下:單選投票、多選投票、查看投票、投票設計。</p><p> 單選投票:參與投票的人
41、從提供的選擇中選擇一項來進行投票。</p><p> 多選投票:參與投票的人從提供的選擇中可以選擇一個或多個來進行投票。</p><p> 查看投票:提供參與投票的人查看目前投票的情況,投票的結果是以條形圖來顯示的。</p><p> 投票設計:管理員有權限設計不一樣的投票主題,還有投票主題的具體內容供參與投票的人來進行投票,投票設計還包括這些功能需求:增加主
42、題、刪除主題、查看主題、修改主題。</p><p> 本系統(tǒng)將是用圖形化的界面來顯示投票的結果,清晰明了的反饋參與投票的需求信息。</p><p> 3.2 系統(tǒng)主要特色</p><p> 本網絡投票管理系統(tǒng)具有的主要特色:</p><p> ?。?)操作方便。以前手工投票管理全都是人工操作,效率低下,缺乏方便性,網絡投票管理系統(tǒng)運用
43、計算機和其他附加設備,不再需要手工操作,全都是自動化,能夠節(jié)省人力、最大限度地利用各種寶貴的資源,提高了工作效率。 </p><p> ?。?)界面友好。友好的用戶界面能給人一種親切的感覺,使用的時候不會覺得沉悶,效率自然也會大大的提高了。</p><p> ?。?)功能強大,能夠滿足各種統(tǒng)計需要,能夠實現(xiàn)快速簡單統(tǒng)計。</p><p> 3.3 模塊功能需求&
44、lt;/p><p> 各個模塊所對應的需求如下:</p><p> ?。?)投票首頁模塊:該模塊面向對象為所有訪問頁面用戶,其中包括:當前系統(tǒng)時間的顯示,實現(xiàn)截止時間的要求;管理員信息的查詢,登錄用戶信息的顯示;對主題進行投票,并對結果進行查詢。</p><p> ?。?)投票實現(xiàn)模塊:該模塊供參與投票的人對投票主題進行投票設計。在投票首頁上,將會顯示最近一個投票主題
45、,用戶可自由選擇那些尚未過期的主題進行投票。投票操作具體為:用戶選擇一個或多個選項,確定,提交,即可投票成功,提交此頁面,會跳轉鏈接至顯示投票結果的頁面。</p><p> ?。?)投票結果模塊:該模塊供參與投票的人,查看此項目已有的投票情況。投票結果顯示頁面會顯示,相應投票選項的得票率和該項目總的得票數。</p><p> ?。?)管理員登錄模:該模塊用于管理員登錄。登錄驗證后,管理員才
46、可以對投票信息進行維護。</p><p> ?。?)投票管理模塊:該模塊為管理員操作的模塊。管理員登入系統(tǒng)后,可對本系統(tǒng)的所有投票項目進行相應的管理,如:增加投票主題,刪除投票主題,修改投票主題,查看投票主題。</p><p><b> 3.4 性能需求</b></p><p> 硬件環(huán)境:普通電腦硬盤200MB以上即可;</p&g
47、t;<p> 軟件環(huán)境:Windows XP系統(tǒng);</p><p> 專門配置要求:需安裝Tomcat服務器;</p><p><b> 其他要求:無。</b></p><p><b> 3.5 開發(fā)流程</b></p><p> 軟件工程中幾個經典的開發(fā)模型瀑布模型,快速
48、原型模型,增量模型,螺旋模型,形式化方法模型,基于組件的開發(fā)模型[17]。本系統(tǒng)具體要的開發(fā)流程包括:</p><p><b> ?數據庫選擇 ;</b></p><p> ?數據庫接口的實現(xiàn) ;</p><p> ?數據庫建模方法 ;</p><p> ?程序開發(fā)軟件 ;</p><
49、p><b> ?需求分析 ;</b></p><p><b> ?需求的提取 ;</b></p><p> ?需求定義與規(guī)約; </p><p> ?系統(tǒng)總體設計 ;</p><p><b> ?系統(tǒng)結構圖 ;</b></p><p
50、> ?數據功能模塊設計; </p><p> ?系統(tǒng)的主要功能設計; </p><p> ?投票界面模塊的設計 ;</p><p> ?投票主題模塊的設計 ;</p><p> ?投票結果模塊的設計 ;</p><p> ?用戶信息模塊的設計 ;</p><p>
51、 ?管理員登錄的設計與實現(xiàn)[18]。</p><p><b> 3.6 數據流圖</b></p><p><b> ?。?)符號定義</b></p><p> ?、?數據的源點或終點</p><p><b> ?、?變換數據的處理</b></p><
52、p><b> ?、?數據存儲</b></p><p><b> ④ 數據流</b></p><p> ?。?)數據流圖的組成元素</p><p> 表1 數據流圖的組成元素</p><p><b> 4 總體設計</b></p><p>
53、 4.1 基本設計概念和系統(tǒng)總流程圖;</p><p> 該部分將對系統(tǒng)進行總體設計,包括系統(tǒng)邏輯圖,功能模塊的概要設計,交互界面設計等內容,采用軟件工程設計思想,為詳細設計打好基礎[19]。</p><p> 本系統(tǒng)的總流程圖如圖1所示:</p><p> 4.2 系統(tǒng)功能邏輯結構</p><p> 本系統(tǒng)按照功能邏輯分為五個板
54、塊:投票首頁模塊,投票實現(xiàn)模塊,投票結果模塊,管理員登錄模塊,投票項目管理模塊。具體功能邏輯圖如圖2所示:</p><p> 圖1 系統(tǒng)的總流程圖</p><p> 圖 2具體功能邏輯圖</p><p> 4.3 系統(tǒng)功能模塊的設計</p><p><b> 網絡投票管理系統(tǒng)</b></p>&l
55、t;p> ?。?)單選投票:顯示單選投票表單;</p><p> ?。?)多選投票:顯示多選投票表單;</p><p> ?。?)查看投票:顯示查看投票結果表單;</p><p> ?。?)投票統(tǒng)計:顯示增加、刪除、修改、查看投票主題表單。</p><p><b> 如圖3所示:</b></p>&
56、lt;p> 圖 3系統(tǒng)功能模塊的設計圖</p><p> 4.4 數據庫的設計</p><p> 該系統(tǒng)的數據庫采用MySQL,根據投票系統(tǒng)功能設計的要求,可以列出以下數據項和數據結構[20]:</p><p> 投票表:存放投票信息,數據項包括:序號(id)、標識(flag)、選項類型(optType)、投票主題(question)、投票選項內容(
57、optContent)、得票數(number)。</p><p><b> 5 系統(tǒng)開發(fā)</b></p><p><b> 5.1 數據庫</b></p><p> 5.1.1 創(chuàng)建數據庫</p><p> CREATE DATABASE db2009; //創(chuàng)建數據庫db2009&
58、lt;/p><p> 5.1.2 創(chuàng)建表</p><p> 創(chuàng)建數據庫中用到的投票表:</p><p> CREATE TABLE vote</p><p><b> (</b></p><p> id INT NOT NULL AUTO_INCREMENT, //序號</p>
59、;<p> flag int, //標識</p><p> optType int, //選項類型</p><p> question CHAR(255), //投票主題</p><p> optContent CHAR(255), //投票選項內容</p><p> number INT, //得票數<
60、/p><p> PRIMARY KEY(id),</p><p><b> );</b></p><p> 數據庫創(chuàng)建后的結構圖如圖4所示:</p><p><b> 圖4 數據庫結構圖</b></p><p> 5.1.3 連接數據庫</p><
61、p> 該系統(tǒng)使用了MySQL的JDBC驅動程序來連接數據庫[21]。由于對數據庫的訪問,在整個系統(tǒng)中還是比較頻繁,將對數據庫的操作,寫成一個DBConnect的類,通過該類來連接數據庫和訪問數據庫[22]。</p><p><b> //代碼如下</b></p><p> DBConnect.java</p><p> packa
62、ge vote;</p><p> import java.sql.*;</p><p> public class DBConnect {</p><p> //設置連接數據庫的參數</p><p> private String user = "root";</p><p> priv
63、ate String password = "821192";</p><p> //MySQL的JDBC驅動程序</p><p> String sDBDriver = "org.gjt.mm.mysql.Driver";</p><p><b> //連接數據庫</b></p>&
64、lt;p> String sConnStr = "jdbc:mysql://localhost:3306/db2009?user&password";</p><p> Connection conn = null;</p><p> Statement stmt = null;</p><p> ResultSet rs
65、= null; </p><p> public DBConnect() {</p><p><b> try {</b></p><p> //加載數據庫驅動程序</p><p> Class.forName(sDBDriver);</p><p><b> //建立連接&
66、lt;/b></p><p> conn = DriverManager.getConnection(sConnStr);</p><p><b> }</b></p><p> catch (Exception e) {</p><p> System.out.println("DBConnec
67、t():" + e.getMessage());</p><p><b> }</b></p><p><b> }</b></p><p><b> //查詢</b></p><p> public ResultSet executeQuery(String
68、 sql) { </p><p><b> try {</b></p><p> stmt = conn.createStatement();</p><p> rs = stmt.executeQuery(sql);</p><p><b> }</b></p><
69、;p> catch (SQLException ex) {</p><p> System.out.println("sql.executeQuery:" + ex.getMessage());</p><p><b> }</b></p><p> return rs;</p><p&g
70、t;<b> }</b></p><p> public boolean executeUpdate(String sql){ //更新 </p><p><b> try{</b></p><p> stmt = conn.createStatement();</p><p> st
71、mt.executeUpdate (sql);</p><p> Return true;</p><p> } catch (SQLException ex) {</p><p> System.out.println ("sql.executeUpdate:" + ex.getMessage());</p><p&g
72、t; return false;</p><p><b> }</b></p><p><b> } </b></p><p> public void close () throws Exception { //關閉數據庫的連接 </p><p> conn.close ();&l
73、t;/p><p> stmt.close ();</p><p><b> }</b></p><p><b> }</b></p><p> 5.2 功能的實現(xiàn)</p><p> 投票流程圖:如圖5所示。</p><p><b>
74、 圖 5 投票流程圖</b></p><p> 該流程圖已經包含了網絡投票管理系統(tǒng)的制作的主要方法。</p><p> 5.3 問題及解決</p><p> (1)數據庫連接方面:該系統(tǒng)使用了MySQL的JDBC驅動程序來連接數據庫[23]。由于對數據庫的訪問,在整個系統(tǒng)中還是比較頻繁,將對數據庫的操作,寫成一個DBConnect的類,通過該類來
75、連接數據庫和訪問數據庫[24]。</p><p> (2)數據庫操作方面如下:</p><p> ?、?插入數據庫:sql="insert into vote(flag,optType,question) </p><p> values(0,"+optType+",'"+question+"')
76、";</p><p> dbBean.executeUpdate(sql);</p><p> sql="select * from vote order by id desc";</p><p> ResultSet rs=dbBean.executeQuery(sql) [25]; </p><p>
77、 ?、?查詢數據庫:sql="select * from vote where flag=0 and optType=0 order by id desc";</p><p> rs=dbBean.executeQuery(sql) [26];</p><p> ③ 刪除數據庫:String sql="delete from vote where id=&
78、quot;+id ; </p><p> dbBean.executeUpdate(sql) [27];</p><p><b> 6 運行部分</b></p><p> 6.1 系統(tǒng)的安裝</p><p> 該系統(tǒng)我在jdk1.5+MySQL環(huán)境下測試通過[28]:</p><p>
79、<b> 安裝步驟:</b></p><p> 該系統(tǒng)需要JSP運行環(huán)境和MySQL數據庫,如果服務器還沒有搭建的話請先搭建啟動Tomcat[29]。</p><p> ?。?)把vote、WEB-INF(vote文件夾存放的是.jsp文件,WEB-INF存放的是該系統(tǒng)使用到的一些.class文件)文件夾上傳到你的主機目錄。</p><p>
80、; (2) 修改DBConnect.java里連接MySQL數據庫的IP、用戶名和密碼為你自己的IP,user, password修改編譯之后放到WEB-INF\classes\目錄下面。</p><p> ?。?)請創(chuàng)建數據庫db2009,然后使用mysql db2009<vote.sql腳本創(chuàng)建該數據庫使用到的表。(腳本存放的路徑vote\vote.sql)</p><p>
81、?。?)然后先在瀏覽器輸入URL:http://localhost:8080 顯示Tomcat首頁證明已經成功啟動Tomcat服務器再輸入http://localhost:8080/vote/vote.jsp 顯示系統(tǒng)首頁[30]。</p><p> 6.2 系統(tǒng)的使用</p><p> 以下是系統(tǒng)運行過程中出現(xiàn)的一些界面和主要代碼,通過這些界面和代碼來更好的了解該投票系統(tǒng)。<
82、/p><p> ?。?)先啟動Tomcat服務器在IE瀏覽器的地址欄里輸入http://localhost:8080出現(xiàn)Tomcat首頁證明服務器已成功開啟,再在IE瀏覽器的地址欄里輸入網絡投票管理系統(tǒng)的URL: http://localhost:8080/vote/vote.jsp后,將進入投票系統(tǒng)的首頁。在首頁中明確顯示了該系統(tǒng)的操作單選投票、多選投票、查看投票、投票設計,如圖6所示。</p>
83、;<p> 圖6網絡投票管理系統(tǒng)首頁</p><p><b> vote.jsp</b></p><p> <%@page contentType="text/html;charset=gb2312"%></p><p> <%@page import="java.sql.*
84、"%></p><p> <jsp:useBean id="dbBean" class="vote.DBConnect" scope="page" /></p><p> <html><head></p><p> <title>網絡投票
85、管理系統(tǒng)</title></p><p> <link href="vote.css" rel="stylesheet" type="text/css"></p><p> </head><body><center></p><p> <
86、;h3>單選投票</h3> <hr></p><p> <form action="result.jsp" method="post"></p><p> <div align="left"> </p><p> <% String sql=
87、"select * from vote where flag = 0 and optType=0 order by id desc";</p><p> ResultSet rs=dbBean.executeQuery(sql);</p><p> int questionNum=0,optType,id,id1;</p><p> St
88、ring question,str,optContent,type;</p><p> while(rs.next()){ //輸出投票的主題</p><p> questionNum++;</p><p> str="主題"+questionNum+":";</p><p> questio
89、n=rs.getString("question");</p><p> optType=rs.getInt("optType");</p><p> id=rs.getInt("id");</p><p> out.print(str+question+"<br>")
90、;</p><p> ResultSet rs1;</p><p> sql="select * from vote where flag="+id;</p><p> rs1=dbBean.executeQuery(sql);</p><p> out.print("<hr>");
91、 //輸出該主題的選項</p><p> while(rs1.next()){</p><p> id1=rs1.getInt("id");</p><p> optContent=rs1.getString("optContent");</p><p> if(optType==0)<
92、/p><p> type="radio";</p><p><b> else{</b></p><p> type="checkbox"; } %></p><p> <input type="<%=type%>" name=&
93、quot;vote" value="<%=id1%>"></p><p> <%=optContent%> <br></p><p> <%}%> </div><hr></p><p> <div align="left">
94、; </p><p> <%}%> </div></p><p> <input type="submit" name="sumbit1" value="確定"></form><%rs.close();%></p><p> </cen
95、ter></body></html></p><p> (2)在網絡投票管理系統(tǒng)首頁中點擊你所要進行的操作,能打開相應的頁面。如點擊“單選投票”鏈接就可以打開單選投票頁面,如圖7所示。</p><p> 圖7網絡投票管理系統(tǒng)單選投票</p><p> ?。?)如果在首頁中點擊“多選投票“鏈接,即可打開多選投票頁面如圖8所示。<
96、/p><p> 圖8網絡投票管理系統(tǒng)多選投票</p><p> ?。?)如果在首頁中點擊“查看投票“鏈接,即可查看投票的結果如圖9所示。</p><p> 圖9網絡投票管理系統(tǒng)投票結果</p><p> result.jsp</p><p> <%@page contentType="text/ht
97、ml;charset=gb2312"%></p><p> <%@page import="java.sql.*"%></p><p> <html><head></p><p> <title>投票結果</title></p><p>
98、<link href="vote.css" rel="stylesheet" type="text/css"></head></p><p><b> <body></b></p><p> <jsp:useBean id="dbBean" c
99、lass="vote.DBConnect" scope="page" /></p><p> <h3 align="center">單選投票結果</h3><hr></p><p> <%String sql="select * from vote order by id
100、 ";</p><p> ResultSet rs=dbBean.executeQuery(sql);</p><p> String id;</p><p> id = request.getParameter("vote");</p><p> sql="update vote set nu
101、mber=number+1 where id="+id;</p><p> dbBean.executeQuery(sql);</p><p> ResultSet rs1,rstotal;</p><p> int questionNum=0,optType,id1,number,total=0;</p><p> Str
102、ing question,str,optContent;</p><p> sql="select * from vote where flag=0 and optType=0 order by id desc";</p><p> rs=dbBean.executeQuery(sql);</p><p> while(rs.next())
103、{</p><p> questionNum++;</p><p> str="主題"+questionNum+":";</p><p> question=rs.getString("question");</p><p> optType=rs.getInt("
104、optType"); </p><p> id=Integer.toString(rs.getInt(“id”));</p><p> out.print(str+question+"<br>");</p><p> sql="select * from vote where flag="+id;&
105、lt;/p><p> rstotal=dbBean.executeQuery(sql); //求得投票的總數</p><p> while(rstotal.next()){</p><p> number=rstotal.getInt("number");</p><p> total+=number; }<
106、/p><p> sql="select * from vote where flag="+id;</p><p> rs1=dbBean.executeQuery(sql);</p><p> out.print("<hr>"); //輸出各選項的得票數</p><p> while(
107、rs1.next()){</p><p> id1=rs1.getInt("id");</p><p> optContent=rs1.getString("optContent");</p><p> number=rs1.getInt("number");%></p><
108、p> <%=optContent%> 得票數:<%=number%> </p><p> <img src = bar.gif width ="<%=100*number/total%>" height = 10><br><%}%></p><p> <hr><div
109、align="left"><%}%></div> </p><p> <div align="center"><a href="index.jsp"> 返回主頁 </a> </div></body></html></p><p&g
110、t; (5)如果在首頁中點擊“投票設計“鏈接,即可打開投票設計中的”增加主題“頁面,在增加主題頁面上還有投票設計中的其它幾項功能:刪除主題、查看主題、修改主題、返回首頁。增加主題的方法如10圖所示: </p><p> 圖10網絡投票管理系統(tǒng)增加主題</p><p><b> add.jsp</b></p><p> <%@pag
111、e contentType="text/html;charset=gb2312"%></p><p> <%@page import="java.sql.*"%></p><p> <jsp:useBean id="dbBean" scope="page" class="v
112、ote.DBConnect"/></p><p> <% String question=request.getParameter("question");</p><p> if(question==null){</p><p> question =""; }</p><p
113、> String type=request.getParameter("type");</p><p> int num=0,optType=0;</p><p> try{ num=Integer.parseInt(request.getParameter("num")); }</p><p> catch
114、(Exception e){}%></p><p> <html><head></p><p> <title>增加主題</title></p><p> <meta http-equiv="Content-Type" content="text/html; charse
115、t=gb2312"></p><p> <link href="vote.css" rel="stylesheet" type="text/css"></p><p> </head><body><center></p><p> <
116、;h3>增加主題</h3></p><p> <hr><a href=”add.jsp”>增加主題</a>||<a href=”del.jsp”>刪除主題</a>||<a href=”display.jsp”>查看主題</a>||<a href=”modify.jsp”>修改主題</a>
117、||<a href=”index.jsp”>返回首頁</a><hr></p><p> <form action="add.jsp" method="post"> 請輸入主題名:<br></p><p> <input type="text" name=&quo
118、t;question" size="50" value="<%=question%>"><p> </p><p> <input type="checkbox" value="T" name="type" </p><p> <%if(
119、type!=null){</p><p> out.print("checked");</p><p> optType=1;}</p><p><b> else{</b></p><p> optType=0;} %> >多選 請輸
120、入選項的數目: </p><p> <input typ="text" name="num" size="5" value="<%=num%>"></p><p> <input type="submit" name="sumbit" v
121、alue="創(chuàng)建選項"> <p> </p><p> <%String submit=request.getParameter("sumbit");</p><p> if(submit!=null){</p><p> for(int i=1;i<=num;i++){ %> 選
122、項<%=i%>:</p><p> <input type="text" name="<%=i%>" value="" size="50"></p><p><b> <br><%}%></b></p><
123、p> <input type="submit" name="submit1" value="增加主題"></p><p> <%}%></form></p><p> <% String submit1=request.getParameter("submit1&q
124、uot;),str="",optContent,sql;</p><p><b> int id;</b></p><p> if(submit1!=null){</p><p> sql="insert into vote(flag,optType,question) values(0,"+opt
125、Type+",'"+question+"')";</p><p> dbBean.executeUpdate(sql);</p><p> sql="select * from vote order by id desc";</p><p> ResultSet rs=dbBean.
126、executeQuery(sql); </p><p> id=rs.getInt(1);</p><p> for(int i=1;i<=num;i++){</p><p> str=Integer.toString(i);</p><p> optContent=request.getParameter(str);</
127、p><p> sql="insert into vote(flag,optContent,number) values("+id+",'"+optContent+"',0)";</p><p> dbBean.executeUpdate(sql); }</p><p> out.print
128、("成功插入主題!"); }%></p><p> </center></body></html></p><p> (6)如果在投票設計中點擊“刪除主題“鏈接,即可打開刪除主題頁面。如果你要刪除某個主題還有選項,只需在文本框中輸入其id號即可。(如果不知道待刪除主題的id號,請點擊”查看主題“查看其id號,如圖11所示。
129、</p><p> 圖11網絡投票管理系統(tǒng)刪除主題</p><p><b> del.jsp</b></p><p> <%@page contentType="text/html;charset=gb2312"%></p><p> <jsp:useBean id=&quo
130、t;dbBean" scope="session" class="vote.DBConnect"/></p><p> <% String id=request.getParameter("id");</p><p> String sql="delete from vote where id=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網絡投票管理系統(tǒng)畢業(yè)設計
- 基于lamp的網絡在線投票系統(tǒng)的設計與實現(xiàn)【畢業(yè)設計】
- 通用投票系統(tǒng)的功能測試設計(畢業(yè)設計論文)
- 畢業(yè)論文---網絡投票管理信息系統(tǒng)的設計與實現(xiàn)
- 在線投票管理系統(tǒng)設計
- 基于java的網上投票系統(tǒng)(doc畢業(yè)設計論文)
- 在線投票管理系統(tǒng)設計
- 基于lamp的網絡在線投票系統(tǒng)的設計與實現(xiàn)【畢業(yè)設計+開題報告+文獻綜述】
- jsp網絡遠程作業(yè)管理系統(tǒng)畢業(yè)設計
- 網絡日志管理系統(tǒng)的畢業(yè)設計
- 網絡廣告管理系統(tǒng)畢業(yè)設計----網絡廣告管理系統(tǒng)設計與實現(xiàn)
- 投票管理系統(tǒng)
- 網絡考試系統(tǒng)畢業(yè)設計
- 畢業(yè)設計--畢業(yè)設計選題管理系統(tǒng)
- 畢業(yè)設計論文 畢業(yè)設計管理系統(tǒng)設計
- 畢業(yè)設計--畢業(yè)設計選題管理系統(tǒng)
- 網絡管理系統(tǒng)的安裝與調試畢業(yè)設計
- 投票管理畢業(yè)論文
- 畢業(yè)設計 畢業(yè)設計(論文)管理系統(tǒng)設計
- 畢業(yè)論文——asp網上投票系統(tǒng)設計
評論
0/150
提交評論