版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p><b> 在線調(diào)查問卷系統(tǒng)</b></p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí) 軟
2、件技術(shù)(軟件工程師方向)</p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b>
3、</p><p> 在校園、機(jī)關(guān)或企業(yè)里,由于各種調(diào)查研究的需要,經(jīng)常會(huì)有各種各樣的調(diào)查問卷,在傳統(tǒng)模式下,人們不但要花費(fèi)不少的費(fèi)用印刷問卷,而且還要消耗大量時(shí)間和精力發(fā)放問卷,回收問卷,統(tǒng)計(jì)問卷,并且問卷可控性差,容易產(chǎn)生漏卷,廢卷等問題。本系統(tǒng)建立在信息技術(shù)基礎(chǔ)上,構(gòu)建一個(gè)在線的問卷設(shè)計(jì)、分發(fā)、調(diào)查、回收、統(tǒng)計(jì)的系統(tǒng),基本解決傳統(tǒng)問卷的上述問題。本畢業(yè)設(shè)計(jì)的內(nèi)容是設(shè)計(jì)并且實(shí)現(xiàn)一個(gè)基于web技術(shù)的網(wǎng)絡(luò)調(diào)研問卷
4、網(wǎng)站,故而系統(tǒng)主要以j2EE作為開發(fā)基礎(chǔ),主要使用了struts2+spring+hibernate等多種框架的結(jié)合使用,用myeclipse作為開發(fā)工具,以MYSQL作為數(shù)據(jù)庫(kù),以Macromedia公司的Dreamweaver作為界面美化工具,使用JAVA語言開發(fā),頁面采取JSP動(dòng)態(tài)頁面開發(fā)技術(shù)。該系統(tǒng)界面簡(jiǎn)單、操作方便,容易維護(hù)。</p><p> 關(guān)鍵詞:網(wǎng)絡(luò)調(diào)研問卷網(wǎng)站,S.S.H(Struts ,H
5、ibernate ,Spring),JAVA , JSP</p><p><b> 目錄</b></p><p><b> 摘 要2</b></p><p><b> 一、緒論5</b></p><p> 1.1 課題研究的背景5</p><
6、p> 1.2 課題研究的意義5</p><p> 二、 系統(tǒng)的開發(fā)環(huán)境及技術(shù)簡(jiǎn)介6</p><p> 2.1 系統(tǒng)開發(fā)環(huán)境6</p><p> 2.1.1Eclipse6</p><p> 2.1.2 數(shù)據(jù)庫(kù)簡(jiǎn)介6</p><p> 2.1.3 Tomcat6</p>&l
7、t;p> 2.2系統(tǒng)開發(fā)的思想與技術(shù)7</p><p> 2.2.1JSP技術(shù)與MVC模式以及系統(tǒng)的基本框架7</p><p> 2.2.2 S.S.H框架的優(yōu)點(diǎn)7</p><p> 三、系統(tǒng)總體設(shè)計(jì)10</p><p> 3.1 總體功能模塊10</p><p> 3.2系統(tǒng)管理員的功能模
8、塊10</p><p> 3.3發(fā)布問卷用戶功能模塊11</p><p> 3.4調(diào)查問卷用戶的功能模塊11</p><p> 3.5 系統(tǒng)業(yè)務(wù)描述12</p><p> 3.5 程序流程圖13</p><p> 四、系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)13</p><p> 4.1系統(tǒng)和
9、數(shù)據(jù)庫(kù)的配置14</p><p> 4.2概念模型設(shè)計(jì)14</p><p> 4.3數(shù)據(jù)庫(kù)邏輯模型15</p><p> 4.4數(shù)據(jù)庫(kù)表結(jié)構(gòu)19</p><p> 五、系統(tǒng)功能實(shí)現(xiàn)22</p><p> 5.1程序的類圖22</p><p> 5.1.1課題Keti類圖
10、22</p><p> 5.1.2題目Timu類圖23</p><p> 5.1.3調(diào)查Diaocha類圖23</p><p> 5.1.4調(diào)查記錄Diaochajilu類圖24</p><p> 5.1.5統(tǒng)計(jì)Tongji類圖24</p><p> 5.1.6信息Xinxi類圖25</p&g
11、t;<p> 5.1.7用戶User類圖25</p><p> 5.2程序的時(shí)序圖26</p><p> 5.2.1課題模塊時(shí)序圖26</p><p> 5.2.2用戶信息模塊時(shí)序圖27</p><p> 5.3系統(tǒng)功能實(shí)現(xiàn)的主要框架27</p><p> 5.3.1 SSH框架
12、27</p><p> 5.3.2 hibernate配置文件27</p><p> 5.3.3 struts配置文件29</p><p> 5.3.4 spring配置文件29</p><p> 5.4系統(tǒng)功能實(shí)現(xiàn)的主要模塊32</p><p> 5.4.1 登陸頁面32</p>
13、<p> 5.4.2 發(fā)布問卷用戶首頁32</p><p> 5.4.3 調(diào)查課題審核主頁面35</p><p> 5.4.4 注冊(cè)頁面35</p><p> 5.4.5 調(diào)查問卷用戶的操作頁面首頁37</p><p> 5.4.6 關(guān)于信息管理與信息查詢38</p><p> 5.4
14、.7 關(guān)于管理員的一些特殊權(quán)限39</p><p> 5.4.8 關(guān)于個(gè)人信息管理39</p><p> 5.4.9 關(guān)于修改密碼40</p><p><b> 結(jié)束語41</b></p><p><b> 參考文獻(xiàn)42</b></p><p><b&
15、gt; 致謝43</b></p><p><b> 一、緒論</b></p><p> 1.1 課題研究的背景</p><p> 在當(dāng)前的各類企業(yè)網(wǎng)站中,通常都需要提供有相應(yīng)的網(wǎng)絡(luò)調(diào)查功能,以便收集廣大客戶的意見或看法。類似的,在企業(yè)對(duì)有關(guān)問題(如客戶的意見、售后服務(wù)的滿意程度、產(chǎn)品改進(jìn)要求等)進(jìn)行調(diào)查研究時(shí),也可通過網(wǎng)絡(luò)
16、調(diào)查的方式實(shí)時(shí)高效地獲取客戶反饋信息,作為決策制定的參考依據(jù)。</p><p> 1.2 課題研究的意義</p><p> 隨著INTERNET的發(fā)展,世界網(wǎng)民的數(shù)量急劇增加,社會(huì)的信息化強(qiáng)度增強(qiáng),企業(yè)競(jìng)爭(zhēng)越發(fā)激烈,故對(duì)市場(chǎng)信息的掌握范圍不僅僅是周邊的一些信息,而應(yīng)把范圍擴(kuò)展到全國(guó),甚至全世界,INTERNET恰恰是實(shí)現(xiàn)這目標(biāo)的有利工具。對(duì)于新產(chǎn)品,新觀點(diǎn)的調(diào)查范圍應(yīng)該更廣泛,消息應(yīng)該
17、及時(shí)反饋給企業(yè)單位,故一個(gè)網(wǎng)上在線調(diào)查問卷系統(tǒng)應(yīng)運(yùn)而生,它正好充分滿足客戶的需求,信息反饋的范圍擴(kuò)大,人力資源的節(jié)省,從而使得企業(yè)在競(jìng)爭(zhēng)激烈的市場(chǎng)中擁有更強(qiáng)大的資本。開發(fā)此調(diào)查問卷系統(tǒng)是為了更好的把市場(chǎng)的信息更準(zhǔn)確更快速的反饋給客戶,使信息的來源更廣泛,從而提高信息的準(zhǔn)確性。運(yùn)用此系統(tǒng)可以降低企業(yè)為市場(chǎng)調(diào)查而消耗的人力和物力,利用節(jié)省的資源提高產(chǎn)品的質(zhì)量,增強(qiáng)競(jìng)爭(zhēng)力。 通用網(wǎng)絡(luò)調(diào)查問卷系統(tǒng)的主要研究?jī)?nèi)容: 調(diào)查問卷主題的管理:調(diào)查問卷主
18、題的管理包括對(duì)調(diào)查主題的查看、添加、刪除和修改功能的實(shí)現(xiàn)。 調(diào)查問卷回答: 此功能在調(diào)查界面中實(shí)現(xiàn),受調(diào)查者對(duì)于其感性趣的主題回答問卷,沒有選擇任何選項(xiàng)時(shí)回做出“您沒有選擇選項(xiàng)” 的提示。除了這個(gè)功能外還有一個(gè)功能就記錄下每個(gè)對(duì)主題進(jìn)行投票調(diào)查者的IP地址,從而可以使調(diào)查的公平性得到保證,不給那</p><p> 二、 系統(tǒng)的開發(fā)環(huán)境及技術(shù)簡(jiǎn)介</p><p> 2.1 系統(tǒng)開發(fā)環(huán)境
19、</p><p> 2.1.1Eclipse</p><p> 雖然大多數(shù)用戶很樂于將 Eclipse 當(dāng)作 Java 集成開發(fā)環(huán)境(IDE)來使用,但 Eclipse 的目標(biāo)卻不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與
20、 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對(duì)于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場(chǎng)所。</p><p> 2.1.2 數(shù)據(jù)庫(kù)簡(jiǎn)介</p><p> 數(shù)據(jù)庫(kù)使用的是MySQL開源數(shù)據(jù)庫(kù)。</p><p> MySQL的特性:使用C和C++編寫,并使用了
21、多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性 。支持AIX、FreeBSD、HP-UX、Mac OS、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng) 。為多種編程語言提供API。這些編程語言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。支持多線程充分利用CPU資源。優(yōu)化的SQL查詢算法,有效地提高查詢速度。既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中
22、,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑。提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具??梢蕴幚頁碛猩锨f條記錄的大型數(shù)據(jù)庫(kù)。</p><p> 2.1.3 Tomcat</p><p> Tomcat 很受廣大程序員的
23、喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。 </p><p> Tomcat 是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)
24、對(duì)HTML 頁面的訪問請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 </p><p> 2.2系統(tǒng)開發(fā)的思想與技術(shù)</p><p> 2.2.1JSP技術(shù)與MVC模式以及系統(tǒng)的基本框架</p><p> 本系統(tǒng)采用jsp技術(shù),基于MVC模式開發(fā)
25、,使用SSH框架(struts2、spring、hibernate)來增加系統(tǒng)的開發(fā)速度。所謂的MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。程序就是用struts2和hibernate這兩個(gè)框架來實(shí)現(xiàn)模型層和控制器這兩層,jsp實(shí)現(xiàn)視圖這一層。一般來說程序就是在數(shù)據(jù)庫(kù)和頁面之間起橋梁作用的,jsp頁面請(qǐng)求先到action,再到dao,再回到a
26、ction,回到j(luò)sp頁面,action主要處理來自頁面的請(qǐng)求,dao主要是和數(shù)據(jù)庫(kù)的交互,struts2主要用在action,處理來自頁面的請(qǐng)求,處理完請(qǐng)求后跳轉(zhuǎn)回頁面。Hibernate主要用在dao,包括對(duì)數(shù)據(jù)庫(kù)的增、刪、改、查的操作,spring控制程序的流程。</p><p> 2.2.2 S.S.H框架的優(yōu)點(diǎn)</p><p> S.S.H框架是J2EE應(yīng)用中struts2+
27、spring+hibernate三大免費(fèi)開源框架的結(jié)合使用, 它可以看成工具,也是中間件。他是用來提高我們的開發(fā)效率,提高我們軟件產(chǎn)品的可維護(hù)性、可擴(kuò)展性乃至敏捷性的。他們里面有很多優(yōu)秀的設(shè)計(jì)理念及模式應(yīng)用。比如,struts屬于MVC框架,關(guān)鍵是要了解MVC的概念及大致原理;而hibernate屬于ORM系統(tǒng),屬于持久層的解決方案,同樣需要對(duì)ORM的概念及原理有一個(gè)總體的了解。而spring屬于應(yīng)用程序框架,其核心是IOC容器以及AO
28、P,Spring中還集成了很多適用東西,比如對(duì)JDBC的封裝、自己的MVC、對(duì)動(dòng)態(tài)語言的簡(jiǎn)潔訪問等,</p><p> 它由以下3個(gè)框架構(gòu)成:</p><p> 1.Struts2框架</p><p> Struts2是Apache組織的一個(gè)開放源碼項(xiàng)目。Struts2是一個(gè)比較好的MVC框架,提供了對(duì)開發(fā)MVC系統(tǒng)的底層支持,它采用的主要技術(shù)是Servlet
29、,JSP和Custom tag library。其基本構(gòu)成如圖2.1所示。</p><p> 圖2-1 Struts框架工作流程</p><p> 2.Spring框架</p><p> Spring 的核心是個(gè)輕量級(jí)(Lightweight)的容器(Container),它是實(shí)現(xiàn)IoC(Inversion of Control)容器、非侵入性(No int
30、rusive)的框架,并提供AOP(Aspect-oriented programming)概念的實(shí)現(xiàn)方式,提供對(duì)持久層(Persistence)、事務(wù)(Transaction)的支持,提供MVC Web 框架的實(shí)現(xiàn),并對(duì)一些常用的企業(yè)服務(wù)API(Application Interface)提供一致的模型封裝,是一個(gè)全方位的應(yīng)用程序框架(Application framework),除此之外,對(duì)于現(xiàn)存的各種框架(Struts、JSF、H
31、ibernate 等),Spring 也提供了與它們相整合的方案。</p><p> Spring框架由以下7個(gè)部分組成</p><p> 2.2 Spring框架構(gòu)成</p><p> 3.Hibernate框架</p><p> Hibernate 是一個(gè)開放源碼的 ORM 持久層框架。作為優(yōu)秀的持久層框架實(shí)現(xiàn),Hibernate
32、 框架提供了強(qiáng)大、高性能的對(duì)象到關(guān)系型數(shù)據(jù)庫(kù)的持久化服務(wù),開發(fā)人員可以使用面向?qū)ο蟮脑O(shè)計(jì)進(jìn)行持久層開發(fā)。簡(jiǎn)單的說,Hibernate 只是一個(gè)將持久化類與數(shù)據(jù)庫(kù)表相映射的工具,每個(gè)持久化類實(shí)例均對(duì)應(yīng)于數(shù)據(jù)庫(kù)表中的一個(gè)數(shù)據(jù)行而已。用戶只需直接使用面向?qū)ο蟮姆椒ú僮鞔顺志没悓?shí)例,即可完成對(duì)數(shù)據(jù)庫(kù)表數(shù)據(jù)的插入、刪除、修改、讀取等操作。</p><p> 圖2.3 Hibernate框架</p><
33、;p><b> 三、系統(tǒng)總體設(shè)計(jì)</b></p><p> 3.1 總體功能模塊</p><p> 本系統(tǒng)分管理員, 發(fā)布問卷用戶, 調(diào)查問卷用戶3個(gè)用戶角色。總功能圖如圖3-1所示 </p><p> 圖3-1.系統(tǒng)功能需求分析</p><p>
34、3.2系統(tǒng)管理員的功能模塊</p><p> 系統(tǒng)管理員的主要功能有用戶管理(調(diào)查問卷用戶管理和發(fā)布問卷用戶管理)、調(diào)查課題管理(調(diào)查課題審核和調(diào)查數(shù)據(jù)查詢)、調(diào)查記錄查詢、信息管理。</p><p> 系統(tǒng)管理員的功能圖如圖2所示</p><p> 圖3-2.系統(tǒng)管理員的功能圖</p><p> 3.3發(fā)布問卷用戶功能模塊</
35、p><p> 發(fā)布問卷用戶的主要功能有、調(diào)查課題管理、調(diào)查題目管理、調(diào)查數(shù)據(jù)查詢、調(diào)查記錄查詢、個(gè)人信息管理、信息管理。</p><p> 發(fā)布問卷用戶的功能圖如圖3-3所示</p><p> 圖3-3. 發(fā)布問卷用戶的功能圖</p><p> 3.4調(diào)查問卷用戶的功能模塊</p><p> 調(diào)查問卷用戶的主要功
36、能有調(diào)查課題查詢、調(diào)查操作、個(gè)人信息查詢、信息查詢、調(diào)查記錄查詢。調(diào)查問卷用戶的功能圖如圖3-4所示</p><p> 圖3-4 調(diào)查問卷用戶的功能圖</p><p> 3.5 系統(tǒng)業(yè)務(wù)描述</p><p> 本系統(tǒng)分管理員, 發(fā)布問卷用戶, 調(diào)查問卷用戶3個(gè)用戶角色。系統(tǒng)管理員的主要功能有用戶管理(調(diào)查問卷用戶管理和發(fā)布問卷用戶管理)、調(diào)查課題管理(調(diào)查課
37、題審核和調(diào)查數(shù)據(jù)查詢)、調(diào)查記錄查詢、信息管理;發(fā)布問卷用戶的主要功能有、調(diào)查課題管理、調(diào)查題目管理、調(diào)查數(shù)據(jù)查詢、調(diào)查記錄查詢、個(gè)人信息管理、信息管理;調(diào)查問卷用戶的主要功能有調(diào)查課題查詢、調(diào)查操作、個(gè)人信息查詢、信息查詢、調(diào)查記錄查詢。</p><p><b> 用例圖如下:</b></p><p> 圖3-5 系統(tǒng)業(yè)務(wù)描述</p><p&
38、gt;<b> 3.5 程序流程圖</b></p><p><b> 用戶登錄流程圖</b></p><p> 圖3-5 程序流程圖</p><p> 四、系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p> 4.1系統(tǒng)和數(shù)據(jù)庫(kù)的配置</p><p> 系統(tǒng)按通用的B/S(瀏覽
39、器、服務(wù)器)模式進(jìn)行設(shè)計(jì)(如圖4-1)</p><p> 圖4-1 B/S結(jié)構(gòu)</p><p> 數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率,以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。</p><p><b> 4.2概念模型設(shè)計(jì)</b><
40、/p><p> 概念模型設(shè)計(jì)的典型方法是用E-R圖方法,即用實(shí)體-聯(lián)系模型表示。E-R方法是用E-R圖來描述顯示世界,E-R圖包含三個(gè)基本成分:實(shí)體、聯(lián)系、屬性。它直觀易懂,能夠比較準(zhǔn)確地反映現(xiàn)實(shí)世界的信息聯(lián)系,從概念上表示一個(gè)數(shù)據(jù)庫(kù)的信息組織情況。</p><p><b> 本系統(tǒng)E-R圖如下</b></p><p> 圖4-2概念模型設(shè)計(jì)
41、</p><p> 4.3數(shù)據(jù)庫(kù)邏輯模型</p><p> 調(diào)查表(主鍵、添加時(shí)間、調(diào)查編號(hào)、關(guān)聯(lián)的課題ID、關(guān)聯(lián)的用戶ID)</p><p> 圖4-3 數(shù)據(jù)庫(kù)調(diào)查邏輯模型</p><p> 調(diào)查記錄表(主鍵、添加時(shí)間、我的答案、關(guān)聯(lián)的調(diào)查ID、關(guān)聯(lián)的題目、關(guān)聯(lián)的用戶ID)</p><p> 圖4-4 數(shù)據(jù)
42、庫(kù)調(diào)查記錄邏輯模型</p><p> 調(diào)查題(主鍵、A選項(xiàng)、B選項(xiàng)、C選項(xiàng)、添加時(shí)間、D選項(xiàng)、調(diào)查題類型、是否刪除標(biāo)志、問題、關(guān)聯(lián)的課題ID)</p><p> 圖4-5 數(shù)據(jù)庫(kù)調(diào)查題邏輯模型</p><p> 課題表(主鍵、添加時(shí)間、調(diào)查狀態(tài)、介紹、是否刪除標(biāo)志、審核狀態(tài)、已使用、調(diào)查時(shí)間、標(biāo)題、關(guān)聯(lián)的發(fā)布問卷用戶)</p><p>
43、 圖4-6 數(shù)據(jù)庫(kù)課題邏輯模型</p><p> 統(tǒng)計(jì)表(主鍵、A選項(xiàng)數(shù)量、B選項(xiàng)數(shù)量、C選項(xiàng)數(shù)量、D選項(xiàng)數(shù)量、關(guān)聯(lián)的調(diào)查題ID)</p><p> 圖4-7 數(shù)據(jù)庫(kù)統(tǒng)計(jì)邏輯模型</p><p> 信息表(主鍵、信息內(nèi)容、添加時(shí)間、信息標(biāo)題、添加時(shí)間、信息標(biāo)題、發(fā)布的用戶ID)</p><p> 圖4-8 數(shù)據(jù)庫(kù)信息邏輯模型<
44、/p><p> 用戶表(主鍵、地址、參考調(diào)查次數(shù)、添加時(shí)間、密碼、聯(lián)系方式、狀態(tài)、用戶名、是否刪除標(biāo)志、用戶名)</p><p> 圖4-9 數(shù)據(jù)庫(kù)用戶邏輯模型</p><p><b> 4.4數(shù)據(jù)庫(kù)表結(jié)構(gòu)</b></p><p><b> 表4-1 調(diào)查表</b></p><
45、;p><b> 表4-2調(diào)查記錄表</b></p><p><b> 表4-3 調(diào)查題表</b></p><p><b> 表4-4課題表</b></p><p><b> 表4-5統(tǒng)計(jì)表</b></p><p><b> 表4-
46、6信息表</b></p><p><b> 表4-7用戶表</b></p><p><b> 五、系統(tǒng)功能實(shí)現(xiàn) </b></p><p><b> 5.1程序的類圖</b></p><p> 5.1.1課題Keti類圖</p><p>
47、; 程序類圖5- 1課題類圖</p><p> 5.1.2題目Timu類圖</p><p> 程序類圖5- 2題目類圖</p><p> 5.1.3調(diào)查Diaocha類圖</p><p> 程序類圖5- 3調(diào)查類圖</p><p> 5.1.4調(diào)查記錄Diaochajilu類圖</p><
48、;p> 程序類圖5- 4調(diào)查數(shù)據(jù)類圖</p><p> 5.1.5統(tǒng)計(jì)Tongji類圖</p><p> 程序類圖5-5統(tǒng)計(jì)類圖</p><p> 5.1.6信息Xinxi類圖</p><p><b> 圖5-6 信息類圖</b></p><p> 5.1.7用戶User類圖&l
49、t;/p><p><b> 圖5-7 用戶類圖</b></p><p><b> 5.2程序的時(shí)序圖</b></p><p> 5.2.1課題模塊時(shí)序圖</p><p> 圖5-8課題模塊時(shí)序圖</p><p> 5.2.2用戶信息模塊時(shí)序圖</p>&l
50、t;p> 圖5-9用戶信息模塊時(shí)序圖</p><p> 5.3系統(tǒng)功能實(shí)現(xiàn)的主要框架</p><p> 5.3.1 SSH框架</p><p> SSH框架就是struts2,spring,hibernate的簡(jiǎn)稱,運(yùn)用3個(gè)框架的集成協(xié)作使用,可以有效的提高代碼編寫的效率,從而有效的降低程序開發(fā)的周期。</p><p> 5
51、.3.2 hibernate配置文件</p><p> <hibernate-configuration></p><p> <session-factory></p><p> <!-- Database connection settings --></p><p> <property
52、 name="proxool.pool_alias">DBPool</property></p><p> <property name="proxool.xml">proxool.xml</property></p><p> <property name="connection.pro
53、vider_class"></p><p> org.hibernate.connection.ProxoolConnectionProvider</p><p> </property></p><p> <!-- Echo all executed SQL to stdout --></p><p
54、> <property name="show_sql">true</property></p><p> <property name="format_sql">true</property></p><p> <property name="dialect">
55、;org.hibernate.dialect.MySQLDialect</property></p><p> <!-- Enable Hibernate's automatic session context management --></p><p> <property name="current_session_context_
56、class">thread</property></p><p> <property name="hibernate.hbm2ddl.auto">update</property></p><p> <mapping class="model.User"/></p>
57、<p> <mapping class="model.Keti"/></p><p> <mapping class="model.Timu"/></p><p> <mapping class="model.Diaocha"/></p><p> &l
58、t;mapping class="model.Diaochajilu"/></p><p> <mapping class="model.Tongji"/></p><p> <mapping class="model.Xinxi"/></p><p> </ses
59、sion-factory></p><p> </hibernate-configuration>這是Hibernate的配置文件,在該文件中<property name="proxool.xml">proxool.xml</property></p><p> 首先加載了連接池的一個(gè)配置,就是加載了數(shù)據(jù)庫(kù)的連接信息,<
60、;/p><p> <property name="show_sql">true</property></p><p> <property name="format_sql">true</property></p><p> 表示控制臺(tái)打印SQL語句,并格式化SQL語句<
61、/p><p> <property name="dialect">org.hibernate.dialect.MySQLDialect</property></p><p> 表示當(dāng)前數(shù)據(jù)庫(kù)的語言是MYSQL</p><p> <mapping class="model.User"/>&l
62、t;/p><p> <mapping class="model.Keti"/></p><p> <mapping class="model.Timu"/></p><p> <mapping class="model.Diaocha"/></p><
63、;p> <mapping class="model.Diaochajilu"/></p><p> <mapping class="model.Tongji"/></p><p> <mapping class="model.Xinxi"/></p><p>
64、 都表示當(dāng)前數(shù)據(jù)庫(kù)建立起來的表和類之間的映射關(guān)系,比如<mapping class="model.User"/>表示User類和t_user表之間的建立起來的對(duì)應(yīng)關(guān)系,其他也都類似</p><p> 5.3.3 struts配置文件</p><p><b> <struts></b></p><p&
65、gt; <constant name="struts.objectFactory" value="spring" /></p><p> <constant name="struts.i18n.encoding" value="UTF-8" /></p><p> <pack
66、age name="index" namespace="/" extends="struts-default"></p><p> <action name="index" method="index" class="manageAction" ></p>&l
67、t;p> <result name="success1">index.jsp</result></p><p> <result name="success2">login.jsp</result></p><p><b> </action></b>&
68、lt;/p><p> <action name="method" class="manageAction"></p><p> <result type="dispatcher">${url}</result></p><p> <result name=&quo
69、t;redirect" type="redirect">${url}</result></p><p><b> </action></b></p><p> </package></p><p> </struts>這是struts的配置文件,該文件的作
70、用主要起到來自JSP的請(qǐng)求的跳轉(zhuǎn)分配的作用.</p><p> 該struts配置文件是個(gè)總的配置文件。 </p><p> 5.3.4 spring配置文件</p><p> Spring 在本項(xiàng)目中主要用到了IOC的功能,就是把對(duì)象實(shí)例化</p><p> <!-- daos --&g
71、t;</p><p> <bean id="userDao" class="dao.impl.UserDaoImpl" ></p><p> <property name="sessionFactory"><ref bean="sessionFactory" /><
72、/property></p><p><b> </bean></b></p><p> <bean id="ketiDao" class="dao.impl.KetiDaoImpl" ></p><p> <property name="session
73、Factory"><ref bean="sessionFactory" /></property></p><p><b> </bean></b></p><p> <bean id="timuDao" class="dao.impl.TimuDaoImp
74、l" ></p><p> <property name="sessionFactory"><ref bean="sessionFactory" /></property></p><p><b> </bean></b></p><p>
75、; <bean id="diaochaDao" class="dao.impl.DiaochaDaoImpl" ></p><p> <property name="sessionFactory"><ref bean="sessionFactory" /></property><
76、;/p><p><b> </bean></b></p><p> <bean id="diaochajiluDao" class="dao.impl.DiaochajiluDaoImpl" ></p><p> <property name="sessionFa
77、ctory"><ref bean="sessionFactory" /></property></p><p><b> </bean></b></p><p> <bean id="tongjiDao" class="dao.impl.TongjiDaoI
78、mpl" ></p><p> <property name="sessionFactory"><ref bean="sessionFactory" /></property></p><p><b> </bean></b></p><p&
79、gt; <bean id="xinxiDao" class="dao.impl.XinxiDaoImpl" ></p><p> <property name="sessionFactory"><ref bean="sessionFactory" /></property></
80、p><p> </bean>本段代碼是把DAO實(shí)例化的代碼,通過spring的IOC模式</p><p> <bean id="userDao" class="dao.impl.UserDaoImpl" ></p><p> <property name="sessionFactor
81、y"><ref bean="sessionFactory" /></property></p><p><b> </bean></b></p><p> <bean id="ketiDao" class="dao.impl.KetiDaoImpl"
82、; ></p><p> <property name="sessionFactory"><ref bean="sessionFactory" /></property></p><p><b> </bean></b></p><p> <
83、;bean id="timuDao" class="dao.impl.TimuDaoImpl" ></p><p> <property name="sessionFactory"><ref bean="sessionFactory" /></property></p><
84、;p><b> </bean></b></p><p> <bean id="diaochaDao" class="dao.impl.DiaochaDaoImpl" ></p><p> <property name="sessionFactory"><r
85、ef bean="sessionFactory" /></property></p><p><b> </bean></b></p><p> <bean id="diaochajiluDao" class="dao.impl.DiaochajiluDaoImpl"
86、></p><p> <property name="sessionFactory"><ref bean="sessionFactory" /></property></p><p><b> </bean></b></p><p> <b
87、ean id="tongjiDao" class="dao.impl.TongjiDaoImpl" ></p><p> <property name="sessionFactory"><ref bean="sessionFactory" /></property></p>&
88、lt;p><b> </bean></b></p><p> <bean id="xinxiDao" class="dao.impl.XinxiDaoImpl" ></p><p> <property name="sessionFactory"><ref
89、 bean="sessionFactory" /></property></p><p><b> </bean></b></p><p> 本段代碼是把ManageAction實(shí)例化的代碼,原理也是spring的IOC模式。</p><p> 5.4系統(tǒng)功能實(shí)現(xiàn)的主要模塊</p&g
90、t;<p> 5.4.1 登陸頁面</p><p> 圖5-10 登陸頁面</p><p> 在登陸頁面中我會(huì)根據(jù)用戶表信息中的狀態(tài)來判斷客戶輸入的信息是否屬于他所在的用戶類型,比如說 客戶選擇的類型是管理員 那么Action會(huì)根據(jù)他所在表中的role信息來判斷他是否是管理員權(quán)限 (管理員權(quán)限是:“0”,調(diào)查問卷用戶的權(quán)限是:“1” 發(fā)布問卷用戶的權(quán)限是:“2”) 如
91、果不匹配 則登陸失敗。</p><p> 5.4.2 發(fā)布問卷用戶首頁</p><p> .圖5-11 發(fā)布問卷用戶首頁</p><p> 在發(fā)布問卷用戶首頁中,我們可以再調(diào)查管理中 可以添加新的調(diào)查課題,操作圖如下</p><p> 圖5-12發(fā)布問卷用戶添加調(diào)查的課題</p><p> 添加好課題之后我們
92、合一在調(diào)查課題管理下來查看我們添加的課題</p><p> 圖5-13發(fā)布問卷用戶調(diào)查課題管理</p><p> 在點(diǎn)擊調(diào)查題目管理中 我們可以對(duì)調(diào)查題進(jìn)行增刪改查,</p><p> 圖5-14發(fā)布問卷用戶調(diào)查題管理</p><p> 在添加調(diào)查題的頁面我們可以寫我們要調(diào)查的信息,并且可以上傳圖片(注意:該插件可以在IE瀏覽器上顯示
93、出來的)</p><p> 圖5-15發(fā)布問卷用戶調(diào)查題添加</p><p> 在課題調(diào)查管理中 我們進(jìn)入調(diào)查數(shù)據(jù)查詢 頁面來查看各個(gè)問題的 統(tǒng)計(jì)數(shù)據(jù), 點(diǎn)擊查看柱狀統(tǒng)計(jì)圖 例如:</p><p> 圖5-16 發(fā)布問卷用戶調(diào)查數(shù)據(jù)查詢 查看柱狀他統(tǒng)計(jì)圖</p><p> 5.4.3 調(diào)查課題審核主頁面</p><
94、p> 圖5-17調(diào)查題審核主頁面</p><p> 發(fā)布問卷用戶發(fā)布的信息不會(huì)直接就可以讓調(diào)查問卷用戶查看,在發(fā)布完信息后,我們要通過管路員登陸的頁面來管理發(fā)布者的信息權(quán)限,也就是說來update更新發(fā)布的調(diào)查權(quán)限,決定是否審核通過 </p><p> 5.4.4 注冊(cè)頁面</p><p> 注冊(cè)頁面在Actioan中 加上了相應(yīng)正則表達(dá)式的判斷,來判
95、斷用戶名是否合法,不合法的字段也會(huì)彈出對(duì)應(yīng)的信息,操作如下:</p><p> 圖5-18 注冊(cè)頁面的判斷</p><p> 圖5-19 注冊(cè)頁面的判斷</p><p> 在注冊(cè)頁面下還有手機(jī)格式的判斷和密碼的長(zhǎng)度判斷我就不一一展示了,基本都是利用了正則表達(dá)式來判斷的。</p><p> 5.4.5 調(diào)查問卷用戶的操作頁面首頁<
96、;/p><p> 登陸到首頁我們可以查看消息并且可以查看和修改我們的個(gè)人信息,或者參與調(diào)查投票</p><p> 圖5-20 注冊(cè)頁面的判斷</p><p> 在調(diào)查課題查詢頁面我們可以看到 審核通過的調(diào)查題,并且進(jìn)行投票,注意已經(jīng)投過票的 調(diào)查題我們就不能再次參加投票了,也就是我要調(diào)查的這個(gè)選項(xiàng)會(huì)根據(jù)jstl中的c:if 判斷你的投票次數(shù)大于是否1如果大于1將不
97、給予顯示。,如果不大于1那么你就可以投票了!</p><p> 點(diǎn)擊我要調(diào)查頁面,我們就可以對(duì)審核通過的調(diào)查題來進(jìn)行投票啦,選好我們投票的選項(xiàng)點(diǎn)擊提交即可,記住我們調(diào)查完畢之后,就不能再次參加嘍!</p><p> 圖5-21 投票頁面</p><p> 5.4.6 關(guān)于信息管理與信息查詢</p><p> 在各個(gè)用戶的首頁都會(huì)有個(gè)信
98、息管理頁面與信息查詢頁面,其實(shí)這個(gè)頁面就是我們大家可以在這個(gè)公共的信息平臺(tái)上,發(fā)送自己想要說的話,比如調(diào)查問題的一些建議,都可以發(fā)布</p><p> 這是查看信息頁面:↓</p><p> 圖5-22 信息查看頁面</p><p> 在消息管理中我們可以對(duì)自己發(fā)布的消息進(jìn)行增刪改查</p><p> 圖5-23 信息管理頁面<
99、/p><p> 在添加消息頁面中我們可以寫上自己說的話,或者上傳自己喜歡的照片</p><p> 圖5-24 信息添加頁面</p><p> 5.4.7 關(guān)于管理員的一些特殊權(quán)限</p><p> 在管理員頁面 我們不但可以對(duì)調(diào)查題審核,也可以刪除調(diào)查用戶和發(fā)布問卷用戶(注意:刪除不是正在的刪除,這句話是帶我的斌哥教我的 嘿嘿 只是修改了
100、一下他的刪除狀態(tài) 也就是鎖 如果被鎖狀態(tài)為1,那么登陸界面的Action就會(huì)判斷到他已經(jīng)被鎖了,就會(huì)登陸不上系統(tǒng))</p><p> 圖5-25 管理員操作用戶管理頁面列表</p><p> 5.4.8 關(guān)于個(gè)人信息管理</p><p> 個(gè)人信息管理頁面只會(huì)在調(diào)查問卷用戶與問卷調(diào)查用戶中顯示,我們點(diǎn)擊首頁的個(gè)人信息信息管理中可以編輯我們的昵稱與聯(lián)系地址等,
101、</p><p> 圖5-26 個(gè)人信息頁面</p><p> 5.4.9 關(guān)于修改密碼</p><p> 在首頁的左上角都會(huì)有修改密碼與用戶退出,(退出就不用解釋了,返回到首頁,并且把Session 銷毀。) 以下是修改密碼頁面,與傳統(tǒng)的修噶密碼一樣,我們要查詢客戶的舊密碼,并且與新密碼進(jìn)行比較</p><p> 圖5-27 修改
102、密碼頁面</p><p><b> 結(jié)束語</b></p><p> 忙忙碌碌的北漂生活,作為一名初來乍到的程序員實(shí)習(xí)生,慢慢熟悉公司的項(xiàng)目業(yè)務(wù),到上手敲代碼,避免不了長(zhǎng)時(shí)間的加班,這個(gè)畢業(yè)設(shè)計(jì) 是我在百忙之中抽出時(shí)間 一點(diǎn)一點(diǎn)的去優(yōu)化設(shè)計(jì),就像春蠶吐絲一般, 熟話說開山的鎬----兩頭忙 經(jīng)過反復(fù)的調(diào)BUG,熬夜的修復(fù)異常排錯(cuò),也基本達(dá)到預(yù)期的效果,但是還是會(huì)有
103、些瑕疵,外觀粗糙。功能不算嚴(yán)謹(jǐn),可是,我又會(huì)有點(diǎn)自戀式地安慰自己:做一件事情,不必過于在乎最終的結(jié)果,可貴的是過程中的收獲。以此語言來安撫我尚沒平復(fù)的心。 </p><p><b> 參考文獻(xiàn)</b></p><p> [1] 馮燕奎, 趙德奎. JSP實(shí)用案例教程[M] 清華大學(xué)出版社, 2004, 5: 70-100</p><p>
104、 [2] 王家華 軟件工程[M] 東北大學(xué)出版社2001年3月303頁</p><p> [3] 王宜貴 軟件工程[M] 北京:機(jī)械工業(yè)出版社,2002:20-79</p><p> [4] 孫衛(wèi)琴 精通struts[M]電子工業(yè)出版社 2004年8月 50-70</p><p> [5] 孫衛(wèi)琴 精通hibernate[M]電子工業(yè)出版社 2005
105、年4月 100-120</p><p> [6] 張洪斌 java2高級(jí)程序設(shè)計(jì)[M]中科多媒體出版社 2001年11月 85-90</p><p> [7] Jim Arlow UML2.0 and the Unified Process[M]機(jī)械工業(yè)出版社 2006年6月 30-40</p><p> [8] 林信良 spring2.0技術(shù)手冊(cè)[M]
106、電子工業(yè)出版社 2006年6月 50-100</p><p> [9] 熊節(jié)、林儀明、張凱峰、陳玉泉等主編[《CSDN社區(qū)電子雜志——Java雜志》創(chuàng)刊號(hào)] </p><p> [10]《程序員》雜志 2007 年第4期</p><p> [11] 耿祥義編著.JSP基礎(chǔ)編程[M].清華大學(xué)出版社,2004.55-162</p><p>
107、; [12]徐建波,周新蓮.Web設(shè)計(jì)原理于編程技術(shù)[M].中南大學(xué)出版社,2005.185-193</p><p> [13] 孫鑫編著.Java Web開發(fā)詳解[M].電子工業(yè)出版社,2006.189-274</p><p> [14] 林上杰,林康司編著.JSP2.0技術(shù)手冊(cè)[M].電子工業(yè)出版社,2004.3-6</p><p> [15] 薩師煊,
108、王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論(第三版)[M].北京:高等教育出版社,1998.</p><p> [16] 蔡劍,景楠.Java Web應(yīng)用開發(fā):J2EE和Tomcat[M].北京:清華大學(xué)出版社,2004.</p><p><b> 致謝</b></p><p> 畢業(yè)設(shè)計(jì),也許是我大學(xué)生涯交上的最后一個(gè)作業(yè)了,感謝這幾年來給予我?guī)徒M的所有老師
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線問卷調(diào)查系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線調(diào)查問卷系統(tǒng)開發(fā)
- 【調(diào)查問卷】績(jī)效管理調(diào)查問卷
- 調(diào)查問卷(畢業(yè)生)
- 畢業(yè)生調(diào)查問卷
- 調(diào)查問卷設(shè)計(jì)要求
- 如何設(shè)計(jì)調(diào)查問卷
- 安徽干部在線學(xué)習(xí)需求調(diào)查問卷
- 公務(wù)員在線培訓(xùn)調(diào)查問卷
- oa系統(tǒng)使用調(diào)查問卷
- 大學(xué)生調(diào)查問卷調(diào)查問卷(1)
- 形象設(shè)計(jì)調(diào)查問卷
- 淺析調(diào)查問卷的設(shè)計(jì)
- 在線問卷調(diào)查系統(tǒng)畢業(yè)論文
- 在線問卷調(diào)查系統(tǒng)畢業(yè)論文
- 專利調(diào)查問卷
- 某年調(diào)查問卷
- 樓盤調(diào)查問卷
- 2009調(diào)查問卷
- 論文調(diào)查問卷
評(píng)論
0/150
提交評(píng)論