畢業(yè)論文-S2SH投票管理系統(tǒng)_第1頁
畢業(yè)論文-S2SH投票管理系統(tǒng)_第2頁
畢業(yè)論文-S2SH投票管理系統(tǒng)_第3頁
畢業(yè)論文-S2SH投票管理系統(tǒng)_第4頁
畢業(yè)論文-S2SH投票管理系統(tǒng)_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 太原理工大學(xué)畢業(yè)設(shè)計(論文)用紙 緒 論1.1 課題來源及意義 網(wǎng)上投票調(diào)系統(tǒng)是一種在網(wǎng)站上提出投票題目,由用戶在線投票并對調(diào)查投票的統(tǒng)計結(jié)果直接顯示的調(diào)查工具。網(wǎng)站管理方可以通過網(wǎng)上調(diào)查并對投票結(jié)果自動進(jìn)行系統(tǒng)分析后得出有用信息,如瀏覽用戶對某產(chǎn)品或服務(wù)的看法等,是企業(yè)利用網(wǎng)站低成本進(jìn)行市場調(diào)查的重要手段。Internet是目前世界上最大的計算機(jī)互聯(lián)網(wǎng)絡(luò),它遍布全球,將世界各地各種規(guī)模的網(wǎng)絡(luò)連接成一個整體。作為Internet上一種先進(jìn)的,易于被人們所接受的信息檢索手段,World Wide Web(簡稱WWW)發(fā)展十分迅速,成為目前世界上最大的信息資源寶庫。如今,網(wǎng)絡(luò)技術(shù)已經(jīng)滲入到人們?nèi)?/p>

2、常生活的每個角落,隨處都可以看到網(wǎng)絡(luò)的存在,隨處都可以享受到網(wǎng)絡(luò)給我們帶來的方便。網(wǎng)絡(luò),不僅僅代表著一項技術(shù)、一種應(yīng)用,更代表著一個時代、一種時尚。隨著Internet的發(fā)展,Web技術(shù)日新月異,人們已經(jīng)不再滿足于靜態(tài)HTML技術(shù),更多的是要求動態(tài)、交互的網(wǎng)絡(luò)技術(shù)。然而,在計算機(jī)網(wǎng)絡(luò)中,任何方便實用的技術(shù)都必須建立在信息安全這塊基石上。一項網(wǎng)絡(luò)技術(shù)的安全性,也是決定著想技術(shù)成敗的關(guān)鍵性的性質(zhì)。而具有動態(tài)驗證的網(wǎng)上投票系統(tǒng)既能使信息的保密性得到保證,又能確認(rèn)投票者身份的有效性與唯一性,這樣才能保證統(tǒng)計結(jié)果的真實有效。網(wǎng)上投票對象只能來源于網(wǎng)絡(luò)的使用者,而目前這部分使用者具有一定的特殊性,特別是在

3、中國。據(jù)CNNIC 2006年9月公布的調(diào)查結(jié)果顯示,我國互聯(lián)網(wǎng)繼續(xù)保持持續(xù)、穩(wěn)定的增長態(tài)勢。其中網(wǎng)民數(shù)、上網(wǎng)計算機(jī)數(shù)分別達(dá)到了11000萬人、4950萬臺,與上年同期相比分別增長了18.1%和19.0%。在網(wǎng)民的特征結(jié)構(gòu)方面,男性、未婚、30歲以下、大學(xué)本科以下、月收入在2000元及以下(含無收入)網(wǎng)民的比例依然在網(wǎng)民各特征數(shù)據(jù)中占據(jù)主要地位,所占比例分別為58.7%、57.9%、82.6%、70.8%、70.9%,其中未婚、30歲以上網(wǎng)民的比例與上年同期相比都有所上升,但男性網(wǎng)民比例、大學(xué)本科以下、月收入在2000元及以下(含無收入)網(wǎng)民所占比例與上年同期相比有所下降;在職業(yè)方面,學(xué)生所占

4、比例超過了總網(wǎng)民的三分之一,達(dá)到了35.1%,其次是企業(yè)單位工作人員,占總數(shù)的29.6%,排在第三位的是學(xué)校教師及行政人員,所占比例為7.3%,國家機(jī)關(guān)、黨群組織工作人員所占比例為6.6%,事業(yè)單位工作人員所占比例為6.5%,其他職業(yè)的網(wǎng)民所占比例都在5.0%以下。隨著Internet網(wǎng)正在向全世界各大洲延伸和擴(kuò)散,Internet是一個國際性的通信網(wǎng)絡(luò)集合體,它集現(xiàn)代通信技術(shù)和現(xiàn)代計算機(jī)技術(shù)于一體, 是計算機(jī)之間進(jìn)行國際信息交流和實現(xiàn)資源共享的良好手段。Internet也是人類歷史發(fā)展中的一個偉大的里程碑,它是未來信息高速公路的雛形,人類正由此進(jìn)入一個前所未有的信息化社會。人們用各種名稱來稱

5、呼Internet,如國際互聯(lián)網(wǎng)絡(luò)、因特網(wǎng)、交互網(wǎng)絡(luò)、網(wǎng)際網(wǎng)等等,已經(jīng)成為世界上覆蓋面最廣、規(guī)模最大、信息資源最豐富的計算機(jī)信息網(wǎng)絡(luò)。近年來,借助著Internet的蓬勃發(fā)展,伴隨著信息化建設(shè)的推進(jìn),電子商務(wù)迅速崛起,其市場范圍在全球急劇擴(kuò)大,各發(fā)達(dá)國家都把發(fā)展電子商務(wù)作為拓展全球市場的有效手段,積極地參與協(xié)商和合作。當(dāng)今社會作為一個飛速發(fā)展的社會,網(wǎng)絡(luò)已滲入人們的生活,網(wǎng)絡(luò)已成為信息傳播的一大媒介,可以說網(wǎng)絡(luò)資源的獲取已逐步改變了人們以往的生活方式,網(wǎng)絡(luò)已經(jīng)成為人們?nèi)粘9ぷ?,休閑的主要工具之一。從娛樂網(wǎng)站到官方網(wǎng)站,各種網(wǎng)上投票系統(tǒng)隨處可見,意見調(diào)查,用戶信息統(tǒng)計,經(jīng)營情況調(diào)查等都可以作為投

6、票的內(nèi)容,網(wǎng)上投票系統(tǒng)憑借其方便快捷等特點(diǎn),已經(jīng)成為互聯(lián)網(wǎng)資源中不可缺少的一部分,并且,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)上投票系統(tǒng)的作用將會越來越大。并且在投票的過程中網(wǎng)上投票系統(tǒng)對網(wǎng)絡(luò)的要求也越來越高。原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在線投票管理系統(tǒng)運(yùn)用計算機(jī)和其他附加設(shè)備,不再需要手工操作,基本上是全自動化,能夠節(jié)省人力、最大限度地利用各種寶貴的資源,大大的提高了效率。網(wǎng)上投票系統(tǒng)可以快速,真實的反應(yīng)出你的投票結(jié)果和他人的投票結(jié)果,而不必等待最終結(jié)果。完全的真實性,每個人都可以看見自己的或者他人的投票的增加,防止了以往的暗箱操作。網(wǎng)絡(luò)投票系統(tǒng)應(yīng)具有的獨(dú)特的功能其一,方便的操

7、作。原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,網(wǎng)絡(luò)投票管理系統(tǒng)運(yùn)用計算機(jī)和其他附加設(shè)備,不再需要手工操作,基本上是全自動化,能夠節(jié)省人力、最大限度地利用各種寶貴的資源,大大的提高了效率。 其二,友好的界面。友好的用戶界面會給人一種親切的感覺,在使用起來不會覺得沉悶,效率自然也會提高了。其三,強(qiáng)大的功能,能夠滿足學(xué)校教學(xué)需要,快速簡單的統(tǒng)計教學(xué)任務(wù),提高教學(xué)質(zhì)量。1.2 國內(nèi)外發(fā)展?fàn)顩r隨著計算機(jī)技術(shù)的飛速發(fā)展,尤其是網(wǎng)絡(luò)技術(shù)的超速發(fā)展,帶動了信息的廣泛交流,人們每天需要大量的信息來充實自己,傳統(tǒng)的投票和調(diào)查方式已經(jīng)不能滿足我們的需要,針對這種情況,網(wǎng)上投票系統(tǒng)應(yīng)運(yùn)而生。網(wǎng)上投票系

8、統(tǒng)除了能夠完成傳統(tǒng)的功能之外,更具有時效高和范圍廣的優(yōu)點(diǎn),更符合現(xiàn)代社會的需要。從國際互聯(lián)網(wǎng)到校園網(wǎng),企業(yè)局域網(wǎng),各種網(wǎng)上投票系統(tǒng)隨處可見,意見調(diào)查,用戶信息統(tǒng)計,經(jīng)營情況調(diào)查都可以作為投票的內(nèi)容,網(wǎng)上投票系統(tǒng)憑借其方便快捷等特點(diǎn),已經(jīng)成為互聯(lián)網(wǎng)資源中不可缺少的一部分,并且,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)上投票系統(tǒng)的作用將會越來越大。據(jù)新聞報道,日本政府正投資10億日元開發(fā)電子投票系統(tǒng)用于選舉,荷蘭、比利時和巴西等國家已經(jīng)開始在部分地區(qū)使用網(wǎng)上投票系統(tǒng),可見其巨大的發(fā)展?jié)摿Α?.3 研究目標(biāo)、內(nèi)容 網(wǎng)上投票系統(tǒng)的設(shè)計是采用JSP和SQL Server2000技術(shù)開發(fā)的簡易投票系統(tǒng),并在用戶登陸過程中設(shè)

9、置動態(tài)驗證碼,提高系統(tǒng)的安全性。它實現(xiàn)了以下功能:投票、結(jié)果查看、增加、刪除及搜索投票等。本論文首先介紹了網(wǎng)上投票系統(tǒng)的概念及和適用范圍。在系統(tǒng)開發(fā)環(huán)境中主要對JSP、SQL和動態(tài)口令認(rèn)證機(jī)制的基本概念作了詳盡的介紹。接著通過E-R圖說明數(shù)據(jù)庫的搭建和數(shù)據(jù)庫的設(shè)計。然后介紹了本系統(tǒng)的總體設(shè)計,包括:系統(tǒng)結(jié)構(gòu)和總體功能設(shè)計。論文以功能模塊圖的形式說明了功能的設(shè)計并給出了部分核心代碼及主要功能界面圖。1.3.1 前臺模塊1用戶注冊:用戶可以通過這一功能在網(wǎng)站上將自己的信息通過填寫注冊窗體的形式,發(fā)送到后臺數(shù)據(jù)庫中并存儲,以便在網(wǎng)站上進(jìn)行投票。用戶注冊功能能提高投票信息的公正性和有效性,防止部分人員

10、隨意投票。2.用戶登陸:用戶注冊后就可以在登陸框中輸入正確的用戶名和密碼,便可登陸到網(wǎng)站。(1)進(jìn)行投票:在“投票選項”中選中所選類別提交后,所選內(nèi)容會存儲在數(shù)據(jù)庫中,并在投票管理頁面中顯示投票結(jié)果。(2)顯示投票結(jié)果:用戶提交投票信息后,數(shù)據(jù)存入數(shù)據(jù)庫并計算出每個投票選項的所得投票數(shù),并將投票數(shù)最多的那一選項的信息顯示到此頁面。1.3.2 后臺模塊:(1)管理員登陸:管理登陸之后才能管理投票信息。在此模塊中同樣引入了動態(tài)口令認(rèn)證以保證安全。(2)設(shè)計投票管理主界面:當(dāng)管理員登錄成功后,會轉(zhuǎn)到投票管理界面。在該界面可以進(jìn)行以下操作:增加投票,刪除投票,更新投票信息。(3)增加,修改,刪除投票:

11、添加投票界面是管理員新建投票信息并存儲在數(shù)據(jù)庫中的媒介,并在投票管理界面中顯示。2 系統(tǒng)概述與技術(shù)介紹作為一個投票網(wǎng)站,首先布局一定要新穎、有特色,只有這樣才能引起用戶的關(guān)注,最大限度的滿足人們的需求,而且要有很強(qiáng)的交互性,交互性差的網(wǎng)站會讓用戶產(chǎn)生厭煩情緒。當(dāng)然一個好的投票網(wǎng)站還要有很完整的處理信息的功能,以便及時的更新網(wǎng)站中的信息。通過對用戶的調(diào)查和對現(xiàn)有的投票網(wǎng)站運(yùn)行的流程分析,為了滿足大多數(shù)用戶的需求,所以我的目標(biāo)是要構(gòu)建一個頁面簡單清晰但包含信息相對全面、交互性強(qiáng)的網(wǎng)上投票系統(tǒng)。2.1 BS結(jié)構(gòu)介紹本系統(tǒng)采用BS結(jié)構(gòu),即BrowserServer(瀏覽器服務(wù)器)結(jié)構(gòu),就是只安裝維護(hù)一

12、個服務(wù)器(Server),而客戶端采用瀏覽器(Browse)運(yùn)行軟件。它是隨著Internet技術(shù)的興起,對CS結(jié)構(gòu)的一種變化和改進(jìn)。主要利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合多種Script語言(VBScript、JavaScript)和ActiveX技術(shù),是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。 在BS體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進(jìn)行處理,將用戶所需信息返回到瀏覽器。而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成、對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行等工作全部由Web Server完成。2.2 SQL Server數(shù)據(jù)庫因為本系統(tǒng)存放的信息數(shù)據(jù)量

13、比較大的,因此我選擇存放信息的數(shù)據(jù)庫為微軟的SQL Server數(shù)據(jù)庫。SQL Server是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),是Office系列應(yīng)用軟件之一。SQL Server是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個OS/2版本。Microsoft SQL Server近年來不斷更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server /7.0版本和用戶見面;

14、SQL Server 2005是Microsoft公司于2005年推出,目前最新版本是2012年3月份推出的SQL SERVER 2012。2.3 MyEclipse介紹本系統(tǒng)是跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁。構(gòu)建網(wǎng)上投票系統(tǒng)所用的網(wǎng)頁編輯器為MyEclipse, MyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開元產(chǎn)品的支持十分不錯。MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse I

15、DE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。2.4 JavaScrip語言Javascript是一種解釋性的,基于對象的腳本語言,Javascript主要是基于客戶端運(yùn)行的,用戶點(diǎn)擊帶有Javascript的網(wǎng)頁,網(wǎng)頁里的Javascript就傳到瀏覽器,由瀏覽器對此作處理。它的代碼可以直接嵌入到HTML命令中,最大特點(diǎn)是可以方便操縱網(wǎng)站上的

16、元素,并與Web瀏覽器交互,同時JavaScrip可以捕捉用戶操作并作出反映。JavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作。JavaScript的一個重要功能就是面向?qū)ο蟮墓δ?,通過基于對象的程序設(shè)計,可以用更直觀、模塊化和可重復(fù)使用的方式進(jìn)行程序開發(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)中很

17、多地方使用了javascript技術(shù),比如說,檢驗用戶輸入數(shù)據(jù)的有效性,是否重復(fù),是否為空等等。2.5 JSP技術(shù)JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)

18、頁所需要的功能。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端就是一個HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο螅哂衅脚_無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。JSP技術(shù)的優(yōu)點(diǎn):(1)一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。 (2)系統(tǒng)的

19、多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/.net的局限性是顯而易見的。 (3)強(qiáng)大的可伸縮性。從只有一個小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。 (4)多樣化和功能強(qiáng)大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下(5)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來支持,開發(fā)人員需要利用其他工具設(shè)

20、計實現(xiàn)復(fù)雜功能的組件供web頁面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來實現(xiàn)復(fù)雜商務(wù)功能。內(nèi)部對象說明:request 客戶端請求,此請求會包含來自GET/POST請求的參數(shù); response網(wǎng)頁傳回客戶端的響應(yīng);pageContext 網(wǎng)頁的屬性是在這里管理; session 與請求有關(guān)的會話; application servlet正在執(zhí)行的內(nèi)容;out 用來傳送響應(yīng)的輸出流; config代碼片段配置對象;pageJSP網(wǎng)頁本身; exception針對錯誤網(wǎng)頁,未捕捉的例外。2.6 MVC模式為了滿足系統(tǒng)對先進(jìn)性、安全性、跨平臺性、可擴(kuò)展性、可移植性、分

21、布式等方面的要求,系統(tǒng)總體架構(gòu)設(shè)計采用先進(jìn)的基于java的B/S的三層體系結(jié)構(gòu)。MVC是三個單詞的縮寫,分別為: 模型(Model),HYPERLINK /view/71981.htm視圖(View)和控制Controller)9。 MVC模式的目的就是實現(xiàn)Web系統(tǒng)的職能分工。Model層實現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean或EJB來實現(xiàn)。 View層用于與用戶的交互,通常用JSP來實現(xiàn)。 Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。Web瀏覽技術(shù)已經(jīng)廣泛地

22、應(yīng)用于Internet,并被廣大用戶接受和使用。Web技術(shù)是隨http和html一起出現(xiàn)的。Web服務(wù)器利用http傳遞html文件,Web瀏覽器使用http檢索html文件。Web服務(wù)器一旦檢索到信息,Web瀏覽器就會以靜態(tài)和交互(如文本、圖像)方式顯示各種對象。在電子商務(wù)業(yè)務(wù)進(jìn)行過程中,需要在各種貿(mào)易角色之間瀏覽和交換各種信息,此時就要使用Web瀏覽技術(shù)。 這種模型使系統(tǒng)結(jié)構(gòu)更加清楚,分工更加明確,有利于整個系統(tǒng)后期的維護(hù)和升級。MVC(Model View Controller)模型(model)視圖(view)控制器(controller)MVC本來是存在于Desktop程序中的,M是

23、指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC 的目的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計數(shù)據(jù)你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。模型視圖控制器(MVC)是Xerox PARC在八十年代為編程語言Smalltalk80發(fā)明的一種HYPERLINK /view/117325.htm軟件設(shè)計模式,至今已被廣泛使用。最近幾年被推薦為Oracle旗下Sun公司Java EE平臺的設(shè)計模式,并且受到越來越多的使用 ColdFusion 和 PHP 的開發(fā)者的歡迎。模型視圖控制器模式是一個有用的HYP

24、ERLINK /view/1241761.htm工具箱,它有很多好處,但也有一些缺點(diǎn)。 三層體系結(jié)構(gòu)由瀏覽器、web服務(wù)器和數(shù)據(jù)庫組成,并結(jié)合HTML語言、jsp、JavaScript腳本語言、Ajax、ODBC等技術(shù),后臺的數(shù)據(jù)庫采用微軟的SQL Server 2005,系統(tǒng)一般的MVC模型如圖2-1所示。 圖2-1 系統(tǒng)MVC結(jié)構(gòu)圖如圖1-1可知,用戶界面層是用戶和整個系統(tǒng)的接口,客戶端只需安裝通用的瀏覽器即可建立與本系統(tǒng)的連接。業(yè)務(wù)邏輯層負(fù)責(zé)處理用戶輸入的信息,或?qū)⑦@些信息發(fā)送給數(shù)據(jù)庫層進(jìn)行保存,或調(diào)用數(shù)據(jù)庫層中的函數(shù)再次讀出這些數(shù)據(jù)。數(shù)據(jù)訪問層是整個分層體系的最底層,它主要用來實現(xiàn)與數(shù)

25、據(jù)庫的交互,即完成查詢、插入、刪除和修改數(shù)據(jù)庫中數(shù)據(jù)的功能MVC是一個設(shè)計模式,它強(qiáng)制性的使HYPERLINK /view/330120.htm應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。分層概念視圖,模型,控制器。視圖是用戶看到并與之交互的界面。對老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Macromedia Flash和象XHTML,XML/XSL,WML等一些標(biāo)識語言和Web services。如何處理應(yīng)

26、用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusion Components這樣的構(gòu)件HYPERLINK /view/2387.htm對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù)。MVC模型還可以實現(xiàn)軟件工程的高內(nèi)聚,低耦合的終極目標(biāo)。由于應(yīng)用于模型的代碼

27、只需寫一次就可以被多個視圖重用,所以減少了代碼的重復(fù)性。控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HYPERLINK /view/3488030.htmHTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求自己本身并不參與業(yè)務(wù)邏輯處理,然后再確定用哪個視圖來顯示返回的數(shù)據(jù)。MVC的優(yōu)點(diǎn):1)低耦合性2)高重用性和可適用性3)較低的生命周期成本4)快速的部署5)可維護(hù)性6)有利于軟件工程化管理2.7 SSH框架SSH 為 struts+spring+hibernate的一個集成框架,是目前較流行的一種W

28、eb應(yīng)用程序開源框架。集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實現(xiàn)為基本的Java對象,然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實現(xiàn),采用Hibernat

29、e架構(gòu)實現(xiàn)的DAO類來實現(xiàn)Java類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后由Spring做管理,管理struts和hibernate。系統(tǒng)的基本業(yè)務(wù)流程是: 在表示層中,首先通過JSP頁面實現(xiàn)交互界面,負(fù)責(zé)傳送請求(Request)和接收響應(yīng)(Response),然后Struts根據(jù)配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應(yīng)的Action處理。在業(yè)務(wù)層中,管理服務(wù)組件的Spring IoC容器負(fù)責(zé)向Action提供業(yè)務(wù)模型(Model)組件和該組件的協(xié)作對象數(shù)據(jù)處理(DAO)組件完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件以提升系統(tǒng)性能

30、和保證數(shù)據(jù)的完整性。而在持久層中,則依賴于Hibernate的對象化映射和數(shù)據(jù)庫交互,處理DAO組件請求的數(shù)據(jù),并返回處理結(jié)果。如圖2-2所示:圖2-2 SSH框架分層采用上述開發(fā)模型,不僅實現(xiàn)了視圖、控制器與模型的徹底分離,而且還實現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動,并且數(shù)據(jù)庫的變化也不會對前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團(tuán)隊成員并行工作,大大提高了開發(fā)效率。2.7.1 Struts框架Struts對Model,View和Controller都提供了對應(yīng)的組件。ActionServlet,這個類是Struts的核

31、心控制器,負(fù)責(zé)攔截來自用戶的請求。Action,這個類通常由用戶提供,該控制器負(fù)責(zé)接收來自ActionServlet的請求,并根據(jù)該請求調(diào)用模型的業(yè)務(wù)邏輯方法處理請求,并將處理結(jié)果返回給JSP頁面顯示。Model部分:由ActionForm和JavaBean組成,其中ActionForm用于封裝用戶的請求參數(shù),封裝成ActionForm對象,該對象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionForm里面的請求參數(shù)處理用戶的請求。JavaBean則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫訪問等。View部分:該部分采用JSP(或HTML、PHP)實現(xiàn)。Struts提供了豐

32、富的標(biāo)簽庫,通過標(biāo)簽庫可以減少腳本的使用,自定義的標(biāo)簽庫可以實現(xiàn)與Model的有效交互,并增加了現(xiàn)實功能。對應(yīng)上圖的JSP部分。Controller組件:Controller組件有兩個部分組成系統(tǒng)核心控制器,業(yè)務(wù)邏輯控制器。系統(tǒng)核心控制器,對應(yīng)上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標(biāo)注的Servlet。該控制器負(fù)責(zé)攔截所有的HTTP請求,然后根據(jù)用戶請求決定是否要轉(zhuǎn)給業(yè)務(wù)邏輯控制器。業(yè)務(wù)邏輯控制器,負(fù)責(zé)處理用戶請求,本身不具備處理能力,而是調(diào)用Model來完成處理。對應(yīng)Action部分。2.7.2 Spring框架Spri

33、ng是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能范圍:任何Java應(yīng)用簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。輕量從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1M

34、B多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。控制反轉(zhuǎn)Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為IoC與JNDI相反不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。面向切面Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)(transaction)

35、管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對象只實現(xiàn)它們應(yīng)該做的完成業(yè)務(wù)邏輯僅此而已。它們并不負(fù)責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點(diǎn),例如日志或事務(wù)支持。容器Spring包含并管理應(yīng)用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨(dú)的實例或者每次需要時都生成一個新的實例以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用??蚣躍pring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象被聲明式地組合,典型地是在一個XML文

36、件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。2.7.3 Hibernate框架Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用E

37、JB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對這五個核心接口分別加以介紹。Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應(yīng)用中的Ht

38、tpSession。這里當(dāng)使用session這個術(shù)語時,其實指的是Hibernate中的session,而以后會將HttpSession對象稱為用戶session。SessionFactory接口:SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當(dāng)需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個SessionFactory。Configuration接口:Configuration接

39、口負(fù)責(zé)配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。Transaction接口:Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計編寫自己的底層事務(wù)處理代碼。Query和Criteria接口:Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達(dá)方式。3 需求分析3.1 開發(fā)環(huán)境本系統(tǒng)的開發(fā)環(huán)境為Windows 7,數(shù)據(jù)庫使用的是微軟的SQL Server 200

40、5,使用Dreamweaver MX 2004軟件制作網(wǎng)頁,發(fā)布使用MyEclipse工具。采用JSP為服務(wù)器端腳本環(huán)境,腳本語言使用JavaScript編寫的網(wǎng)上投票系統(tǒng),不需要安裝客戶端程序,客戶端只需安裝瀏覽器即可,使用方便,方便升級維護(hù),方便與Internet和Internet上的應(yīng)用程序集成。3.2 需求分析需求分析是指理解用戶需求,就軟件功能與客戶達(dá)成一致,估計軟件風(fēng)險和評估項目代價,最終形成開發(fā)計劃的一個復(fù)雜過程。需求分析之所以重要,就因為他具有決策性、方向性、策略性的作用,需求分析是軟件定義的最后一個階段,它的基本任務(wù)是回答“系統(tǒng)必須做什么” 這個問題。需求分析的任務(wù)不是確定系

41、統(tǒng)怎樣完成他的工作,而僅僅是確定系統(tǒng)完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求,它在軟件開發(fā)的過程中具有舉足輕重的地位。系統(tǒng)初步調(diào)查的主要目標(biāo)是從系統(tǒng)分析人員和管理人員的角度看新項目開發(fā)有無必要和可能,其基本內(nèi)容包括:系統(tǒng)的基本情況、系統(tǒng)信息處理情況和系統(tǒng)資源情況。伴隨網(wǎng)絡(luò)的發(fā)展,網(wǎng)民的數(shù)量急劇增加,社會的信息化強(qiáng)度增強(qiáng),企業(yè)競 爭之激烈,故對市場信息的把握范圍不僅僅是周邊的一些信息,而應(yīng)把范圍擴(kuò)展到全國,以至全世界,網(wǎng)絡(luò)恰恰是完成這目標(biāo)的有利工具.對于新產(chǎn)品,新觀點(diǎn)的調(diào)查范圍應(yīng)當(dāng)更廣泛,消息應(yīng)當(dāng)及時反饋給企業(yè)單位,故一個網(wǎng)上在線投票系統(tǒng)應(yīng)允而生,它正好充分滿意客戶的需求,

42、信息反饋的范圍擴(kuò)大,人力資源的節(jié)省,從而使得企業(yè)在競爭激烈的市場中擁有更強(qiáng)盛的資本.開發(fā)此投票系統(tǒng)是為了更好的把市場的信息更準(zhǔn)確更快速的反饋給客戶,使信息的來源更廣泛,從而提高信息的準(zhǔn)確性.運(yùn)用此系統(tǒng)可以降低企業(yè)為市場調(diào)查而消耗的人力和物力,利用節(jié)省的資源提高產(chǎn)品的質(zhì)量,增強(qiáng)競爭力。獨(dú)具匠心的網(wǎng)站規(guī)劃設(shè)計就像一幢宏偉的建筑前期的規(guī)劃設(shè)計一樣,要進(jìn)行認(rèn)真、科學(xué)總體規(guī)劃,之后才可以“破土動工”。3.3 可行性分析3.3.1 經(jīng)濟(jì)性服務(wù)器端的安裝簡潔明了,客戶機(jī)無需再裝任何軟件,通過瀏覽器就可以直接訪問,可以直接接入Internet,無論您身在何處,只要您可以訪問Internet都可以使用本系統(tǒng)?,F(xiàn)

43、在的開發(fā)工具都可以在網(wǎng)上免費(fèi)下載,并且技術(shù)上也不存在什么難題,利用現(xiàn)有的開發(fā)工具,就可以對本系統(tǒng)進(jìn)行開發(fā)。系統(tǒng)本身簡單適用,毫無疑問在經(jīng)濟(jì)上是可行的。3.3.2 技術(shù)性本系統(tǒng)可用普通的PC,windows XP ,對硬件無很大要求?;炯夹g(shù)需求如下:操作系統(tǒng):Windows XP及以上服務(wù)器版本;數(shù)據(jù)庫管理系統(tǒng):SQL Server2005;編程工具:MyEclipseMyEclipse開發(fā)語言:Java, 主要使用了J2EE的技術(shù)java是一種面向?qū)ο缶幊陶Z言,簡單易學(xué)而且靈活方便。大學(xué)期間就學(xué)習(xí)了java課程,也系統(tǒng)的了解了J2EE的知識,網(wǎng)上投票系統(tǒng)總體上開發(fā)難度不高,數(shù)據(jù)庫的設(shè)計和操作

44、是本系統(tǒng)設(shè)計的核心。在大學(xué)期間學(xué)習(xí)過軟件工程,軟件測試,UML統(tǒng)一建模語言等課程,每個學(xué)期也會完成對應(yīng)的課程設(shè)計,具備一定的系統(tǒng)分析、設(shè)計和測試能力。因此,完成系統(tǒng)實現(xiàn)在技術(shù)上完全具有可行性。3.3.3 操作性本系統(tǒng)操作簡單,輸入信息頁面大多數(shù)都是下拉框的選擇形式,在某些頁面,信息可以自動生成,無需輸入,時間的輸入也是用的日歷控件,操作簡便,對用戶的要求很低,只需對WINDOWS操作熟練,而且本系統(tǒng)可視性非常好,所以在技術(shù)上不會有很大難度。3.3.4 法律性本系統(tǒng)是自行開發(fā)的管理系統(tǒng),是很有實際意義的系統(tǒng),開發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫都是開源代碼,開發(fā)這個系統(tǒng)不同于開發(fā)普通的系統(tǒng)軟件,不存在侵權(quán)

45、等問題.即法律上是可行的。3.4 問題分析本在線投票系統(tǒng)具有的特點(diǎn):其一:方便的操作。原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在線投票管理系統(tǒng)運(yùn)用計算機(jī)和其他附加設(shè)備,不再需要手工操作,基本上是全自動化能夠節(jié)省人力、最大限度地利用各種寶貴的資源,大大的提高了效率。其二:友好的界面。友好的用戶界面會給人一種親切的感覺,在使用起來不會覺得沉悶,效率自然也會提高了。 其三:強(qiáng)大的功能,網(wǎng)上投票系統(tǒng)可以快速,真實的反應(yīng)出你的投票結(jié)果和他人的投票結(jié)果,而不必等待最終結(jié)果。其四:完全的真實性,每個人都可以看見自己的或者他人的投票的增加,防止了以往的暗箱操作。3.5 分析模型(1) 投票首

46、頁模塊:該模塊面向?qū)ο鬄樗性L問頁面用戶,其中包括:管理員和用戶。(2) 投票實現(xiàn)模塊:此模塊供用戶對投票項目進(jìn)行投票所用。不同的用戶具有不同的功能,管理員對問卷內(nèi)容具有增刪改的功能,普通用戶只能在線進(jìn)行問卷調(diào)查。(3) 投票結(jié)果模塊:此模塊提供用戶查看該項目已有的投票情況。投票結(jié)果顯示面會顯示投票選項的總得票數(shù)。(4) 管理員登錄模塊:該模塊用于管理員的登錄。登錄驗證通過以后,管理員才可以對投票信息進(jìn)行維護(hù)。如增刪投票項目。(5) 投票管理模塊:此模塊為管理員操作的模塊。管理員登入系統(tǒng)后,可對本系統(tǒng)的所有投票項目進(jìn)行相應(yīng)的管理,如:添加投票項目,刪除投票項目。4 系統(tǒng)概要設(shè)計4.1 系統(tǒng)設(shè)計

47、概述系統(tǒng)設(shè)計是在系統(tǒng)分析的基礎(chǔ)上由抽象到具體的過程,同時,還應(yīng)考慮到系統(tǒng)所實現(xiàn)的內(nèi)外環(huán)境和主客觀條件,本著實事求是的態(tài)度進(jìn)行這一階段的工作。系統(tǒng)設(shè)計階段的主要目的是將系統(tǒng)分析階段所提出的反映用戶信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實施的基于計算機(jī)與通信系統(tǒng)的物理方案。這一階段的主要任務(wù)就是從管理信息系統(tǒng)的總體目標(biāo)出發(fā),根據(jù)系統(tǒng)分析階段對系統(tǒng)的邏輯功能的要求,并考慮到經(jīng)濟(jì)、技術(shù)和運(yùn)行環(huán)境等方面的條件,確定系統(tǒng)的總體結(jié)構(gòu)和系統(tǒng)各組成部分的技術(shù)方案,合理選擇計算機(jī)和通信的軟、硬件設(shè)備,提出系統(tǒng)的實施計劃,確保系統(tǒng)總體目標(biāo)的實現(xiàn)11。系統(tǒng)設(shè)計工作的特點(diǎn):1)系統(tǒng)設(shè)計階段,大量工作是技術(shù)性的。2)允許用戶對

48、已提出的信息需求做非原則性的修改或補(bǔ)充。3)用戶在操作使用和運(yùn)行環(huán)境等方面的具體要求也要在系統(tǒng)設(shè)計階段加以明確并在系統(tǒng)的技術(shù)方案中得反映,因此系統(tǒng)設(shè)計人員還要同管理環(huán)境打交道。4)系統(tǒng)設(shè)計工作的環(huán)境是管理環(huán)境和技術(shù)環(huán)境的結(jié)合,是系統(tǒng)設(shè)計工作的重要特點(diǎn)也是整個系統(tǒng)成功的一個必不可缺的環(huán)節(jié)。系統(tǒng)設(shè)計原則1)階段開發(fā)原則:系統(tǒng)框架和數(shù)據(jù)結(jié)構(gòu)全面設(shè)計,具體功能實現(xiàn)分階段進(jìn)行。2)易用性原則:方便上網(wǎng)客戶瀏覽和操作,最大限度地減輕后臺管理人員的負(fù)擔(dān),做到部分業(yè)務(wù)的自動化處理,提供良好的用戶體驗。3)業(yè)務(wù)完整性原則:對于業(yè)務(wù)進(jìn)行中的特殊情況能夠做出及時、正確的響應(yīng),保證業(yè)務(wù)數(shù)據(jù)的完整性,減少數(shù)據(jù)的誤讀。4

49、)業(yè)務(wù)規(guī)范化原則:在系統(tǒng)設(shè)計的同時,也為將來的業(yè)務(wù)流程制定了較為完善的規(guī)范,具有較強(qiáng)的實際操作性,也給整個系統(tǒng)帶來安全性。5)可擴(kuò)展性原則:系統(tǒng)設(shè)計要考慮到業(yè)務(wù)未來發(fā)展的需要,要盡可能設(shè)計得簡明,各個功能模塊間的耦合度小,便于系統(tǒng)的擴(kuò)展。如果存在舊有的 HYPERLINK /view/7809.htm t _blank 數(shù)據(jù)庫系統(tǒng),則需要充分考慮 HYPERLINK /view/80015.htm t _blank 兼容性,比如說瀏覽器的兼容。4.2 系統(tǒng)用例圖普通用戶的操作:1、用戶注冊。2、查看最新的投票信息,進(jìn)行投票操作。會員用例圖,如圖4-1所示:圖 4-1 普通用戶用例圖管理員的操作

50、:1、管理員可以管理注冊的會員信息。2、管理員可以添加最新投票內(nèi)容。3、管理員可以管理系統(tǒng)公告信息。管理員用例圖,如圖4-2所示:圖 4-2 管理員用例圖4.3 系統(tǒng)流程圖當(dāng)會員進(jìn)入網(wǎng)站首頁之后,如果想要進(jìn)行投票,先要進(jìn)行注冊,注冊完成后,才能進(jìn)行投票操作。基本流程如圖4-3所示。圖4-3 會員流程圖當(dāng)管理員進(jìn)入本系統(tǒng)之后,管理員首先要登錄之后,才能管理后臺。登錄失敗,給管理員相關(guān)的提示,請管理員重新登錄。登錄成功之后,管理員可以對會員、投票信息、公告信息進(jìn)行管理。管理員的后臺管理的基本流程如下圖4-4所示:圖4-4 管理員流程圖4.4 系統(tǒng)功能分析圖 4-5 系統(tǒng)前臺功能圖1) 這就是本網(wǎng)站

51、前臺的功能框圖(如圖4-5所示)。它可以分為兩個大塊功能,分別為:用戶注冊模塊,用戶投票模塊。下面是兩個模塊的詳細(xì)介紹:用戶注冊模塊:通過該模塊完成用戶注冊功能。用戶投票模塊:用戶通過該模塊完成投票操作。圖 4-6 系統(tǒng)后臺功能圖2) 這就是本網(wǎng)站后臺臺的功能框圖(如圖4-6所示)。后臺的所有模塊的功能分析:投票信息模塊:管理投票信息及投票選項。公告管理模塊:管理網(wǎng)站前臺的公告信息。會員信息管理:管理注冊的會員信息。管理員管理:管理后臺的管理員信息。修改個人密碼:管理員登錄系統(tǒng),可以修改自己的登錄密碼。5 系統(tǒng)功能設(shè)計本系統(tǒng)按照功能邏輯分為五個板塊:投票首頁模塊,投票實現(xiàn)模塊,投票結(jié)果模塊,管

52、理員登錄模塊,投票項目管理模塊。具體功能邏輯圖如圖5-1所示:投票普通用戶管理員登陸模塊投票普通用戶管理員登陸模塊投票管理模塊投票首頁模塊管理員信息模塊信息公告模塊投票選項模塊用戶注冊模塊進(jìn)行投票模塊圖5-1 投票系統(tǒng)功能邏輯圖5.1系統(tǒng)功能模塊的設(shè)計5.1.1 用戶投票模塊:用戶投票模塊主要實現(xiàn)的是用戶對于投票選項的投票,如圖5-2所示:圖5-2用戶投票模塊5.1.2 管理員登錄模塊此模塊主要實現(xiàn)管理員的登錄設(shè)計,如圖5-3所示:圖5-3 管理員登錄模塊5.1.3 管理員添加投票項目模塊此模塊實現(xiàn)的是管理員對于投票項目的添加功能,如下圖5-4所示:圖5-4 管理員添加投票項目模塊5.1.4

53、管理員刪除投票項目模塊:此模塊實現(xiàn)的是管理員對于投票項目進(jìn)行刪除的設(shè)計,如圖5-5所示:圖5-5 管理員刪除投票項目模塊6 數(shù)據(jù)庫設(shè)計與實現(xiàn)6.1 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計數(shù)據(jù)庫是“按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫”。作為網(wǎng)絡(luò)的一個重要應(yīng)用,數(shù)據(jù)庫在網(wǎng)站建設(shè)中發(fā)揮著重要的作用,與普通網(wǎng)站相對而言,具有數(shù)據(jù)庫功能的網(wǎng)站網(wǎng)頁我們通常稱為動態(tài)頁面,也就是說頁面不是一層不變的,頁面上內(nèi)容(或部分內(nèi)容)是動態(tài)生成的,它可以根據(jù)數(shù)據(jù)庫中相應(yīng)部分內(nèi)容的調(diào)整而變化,使網(wǎng)站內(nèi)容更靈活,維護(hù)更方便,更新更便捷。SQL Server數(shù)據(jù)庫作為微軟推出的以標(biāo)準(zhǔn)JET為引擎的桌面型數(shù)據(jù)庫系統(tǒng),由于具有操作簡單、界面友好等

54、特點(diǎn),具有較大的用戶群體。本系統(tǒng)數(shù)據(jù)庫采用SQL Server數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為db_toupiao,下面分別給出數(shù)據(jù)表概要說明、主要數(shù)據(jù)表的結(jié)構(gòu)。6.1.1 表概要說明系統(tǒng)數(shù)據(jù)庫db_toupiao中含有5張數(shù)據(jù)表,投票信息表t_toupiao、投票選項信息表t_toupiaoxuanxiang、公告信息表t_gonggao、會員信息表t_user、管理員信息表t_admin。6.1.2 數(shù)據(jù)表的結(jié)構(gòu)(1)t_toupiao(投票信息表)投票信息表示主要用于保存投票項信息,包括投票項名稱,投票項發(fā)起時間等。該表結(jié)構(gòu)如表6-1所示:表6-1 t_toupaio的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵

55、否描述idint4是投票項編號titlevarchar50否投票項名稱faqishijiantime4否發(fā)起時間(2)t_toupiaoxuanxiang(投票選項信息表)投票選項信息表主要用于保存投票選項信息,比如投票信息、內(nèi)容、票數(shù)等,主要字段有類別名稱,該表結(jié)構(gòu)如表6-2所示。表6-2 t_toupiaoxuanxiang的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否描述idint4是自動編號xuangxiangneirongvarchar50否內(nèi)容piaoshuint4否票數(shù)toupiao_idvarchar50否投票信息(3)t_gonggao(公告信息表)公告信息表主要用于保存公告信息,比如標(biāo)題、

56、內(nèi)容、發(fā)布時間、發(fā)布人等,主要字段有類別名稱,該表結(jié)構(gòu)如表6-3所示。表6-3 t_gonggao的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否描述gonggao_idint4是自動編號gonggao_titlevarchar50否標(biāo)題gonggao_contentvarchar50否內(nèi)容gonggao_datavarchar50否發(fā)布時間gonggao_fabuzhevarchar50否發(fā)布人(4)t_user(會員信息表)會員信息表主要用于保存注冊的會員信息,主要用來存放會員的登錄賬號、登錄密碼、姓名等內(nèi)容。該表結(jié)構(gòu)如表6-4所示。表6-4 t_user的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否描述user_idin

57、t4是自動編號user_nameint50否登錄賬號user_pwvarchar50否登錄密碼user_realnamevarchar50否真實姓名user_addressvarchar50否地址user_sexvarchar50否性別user_telvarchar50否聯(lián)系電話user_emailvarchar50否電子郵件user_qqvarchar50否QQ(5)t_admin(管理員信息表)管理員信息表主要用于保存管理員的基本信息,該表結(jié)構(gòu)如表6-5所示。表6-5 t_admin的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否描述idint4是自動編號userNamevarchar50否登錄賬號user

58、Pwvarchar50否登錄密碼7 系統(tǒng)的實現(xiàn)7.1 前臺首頁設(shè)計前臺首頁是瀏覽者打開一個網(wǎng)站后第一眼看到的網(wǎng)頁,網(wǎng)站能不能吸引瀏覽者,在很大程度上取決于首頁做得怎么樣。首頁包含內(nèi)容雖然豐富但不雜亂,色彩搭配要合理,整體風(fēng)格要獨(dú)特。網(wǎng)站前臺首頁的運(yùn)行結(jié)果如圖7-1所示。圖7-1 網(wǎng)站首頁運(yùn)行結(jié)果7.2 網(wǎng)站導(dǎo)航設(shè)計導(dǎo)航是網(wǎng)站設(shè)計不可缺少的基礎(chǔ)元素之一,它不僅是信息結(jié)構(gòu)的基礎(chǔ)分類,也是瀏覽者的網(wǎng)站路標(biāo),就像一本書或雜志的目錄一樣,但比書籍或雜志的目錄更為重要,因為書籍我們可以一頁一頁的從頭向后翻,而我們的網(wǎng)頁卻不可以,只有有了清楚、明晰的導(dǎo)航,才能讓瀏覽者知道自己身處網(wǎng)站的什么位置。網(wǎng)站導(dǎo)航有很

59、多種,如帶圖標(biāo)的文字導(dǎo)航、按鈕導(dǎo)航、Flash導(dǎo)航等。網(wǎng)站導(dǎo)航設(shè)計效果頁面如圖7-2所示。圖7-2 網(wǎng)站導(dǎo)航頁面設(shè)計效果7.3 投票信息展示模塊投票信息展示模塊的主要功能是讓用戶瀏覽管理員發(fā)布的投票信息,因此投票信息展示模塊主要包括顯示投票列表功能。進(jìn)入投票列表頁面,頁面中會顯示投票的標(biāo)題和發(fā)布時間,該頁面的設(shè)計效果如圖7-3所示。圖7-3 投列表模塊界面設(shè)計此頁面的主要代碼是通過調(diào)用index.action的方法index()方法來實現(xiàn)的。該方法的主要功能是查詢數(shù)據(jù)庫,獲取相關(guān)的信息,并綁定這些信息,然后傳遞到JSP頁面顯示。顯示投票列表的代碼主要是:public String index(

60、)Map request=(Map)ServletActionContext.getContext().get(request);String sql=from TToupiao where del=no;List toupiaoList =toupiaoDAO.getHibernateTemplate().find(sql);request.put(toupiaoList, toupiaoList);return ActionSupport.SUCCESS;然后點(diǎn)擊投票標(biāo)題超鏈接進(jìn)入相應(yīng)的投票頁面,用戶可以在該頁面完成投票操作,但是需要用戶登錄后才能實現(xiàn),執(zhí)行頁面效果如圖7-4。圖7-4 用

溫馨提示

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

評論

0/150

提交評論