版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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> 題 目 校園計(jì)算機(jī)技術(shù)論壇的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 學(xué) 院 信息科學(xué)技術(shù)學(xué)院 </p><p> 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 畢業(yè)屆別
2、 2014屆 </p><p> 姓 名 </p><p> 指導(dǎo)教師 </p><p> 職 稱 </p><p><b> 二〇
3、一四年五月</b></p><p><b> 目 錄</b></p><p><b> 摘要I</b></p><p><b> 關(guān)鍵詞I</b></p><p> AbstractII</p><p> Keywords
4、II</p><p><b> 1 緒論1</b></p><p> 1.1 研究課題背景1</p><p> 1.2 研究目的和意義1</p><p> 1.3系統(tǒng)開(kāi)發(fā)環(huán)境及開(kāi)發(fā)工具2</p><p> 1.3.1 B/S架構(gòu)簡(jiǎn)介2</p><p>
5、 1.3.2 MyEclipse簡(jiǎn)介2</p><p> 1.3.3 MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介3</p><p> 1.3.4 Tomcat服務(wù)器3</p><p> 1.3.5 Jsp簡(jiǎn)介3</p><p> 1.3.6 Struts2簡(jiǎn)介4</p><p> 2 需求分析和可行性分析5</p
6、><p> 2.1 業(yè)務(wù)描述5</p><p> 2.2 校園計(jì)算機(jī)論壇需求分析5</p><p> 2.2.1 性能需求分析6</p><p> 2.2.2 功能需求分析6</p><p> 2.2.3 系統(tǒng)用例分析6</p><p> 2.3 可行性分析8</p&g
7、t;<p> 2.3.1 經(jīng)濟(jì)可行性8</p><p> 2.3.2 技術(shù)可行性8</p><p> 2.3.3 社會(huì)可行性8</p><p><b> 3 總體設(shè)計(jì)9</b></p><p> 3.1系統(tǒng)模塊總體設(shè)計(jì)9</p><p> 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)1
8、0</p><p> 3.2.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述10</p><p> 3.3 數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì)10</p><p> 3.3.1 數(shù)據(jù)庫(kù)E-R圖的設(shè)計(jì)10</p><p> 3.3.2 數(shù)據(jù)表的設(shè)計(jì)13</p><p> 4 系統(tǒng)詳細(xì)設(shè)計(jì)15</p><p> 4.1 系統(tǒng)
9、運(yùn)行平臺(tái)設(shè)置15</p><p> 4.1.1 硬件環(huán)境15</p><p> 4.1.2 軟件環(huán)境15</p><p> 4.2 校園計(jì)算機(jī)技術(shù)論壇主界面設(shè)計(jì)15</p><p> 4.3 用戶登錄與注冊(cè)的設(shè)計(jì)與實(shí)現(xiàn)17</p><p> 4.3.1用戶登錄的設(shè)計(jì)與實(shí)現(xiàn)17</p>
10、<p> 4.3.2 用戶注冊(cè)的設(shè)計(jì)與實(shí)現(xiàn)19</p><p> 4.4 論壇系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)20</p><p> 4.4.1 論壇前臺(tái)系統(tǒng)主界面設(shè)計(jì)20</p><p> 4.4.2 論壇后臺(tái)管理主界面設(shè)計(jì)24</p><p><b> 5 軟件測(cè)試28</b></p>
11、<p> 5.1 測(cè)試的基本概念28</p><p> 5.2 測(cè)試的環(huán)境和目的28</p><p> 5.2.1測(cè)試的環(huán)境28</p><p> 5.2.2測(cè)試的目的28</p><p> 5.3 集成測(cè)試30</p><p><b> 6 總結(jié)31</b>&l
12、t;/p><p><b> 參考文獻(xiàn)32</b></p><p><b> 致謝33</b></p><p> 校園計(jì)算機(jī)技術(shù)論壇的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 摘要:當(dāng)今社會(huì)是一個(gè)信息高速發(fā)展的社會(huì),人們通過(guò)互聯(lián)網(wǎng)絡(luò)可以進(jìn)行信息的交流和共享。論壇就是一種Internet網(wǎng)上開(kāi)發(fā)信息服務(wù)系統(tǒng)
13、,通過(guò)論壇用戶可以方便的實(shí)現(xiàn)信息的交換和文件的共享。開(kāi)發(fā)校園計(jì)算機(jī)技術(shù)論壇系統(tǒng)的目的是給師生提供一個(gè)交流的平臺(tái),為廣大師生提供交流經(jīng)驗(yàn)、探討問(wèn)題的網(wǎng)上社區(qū)。本文從BBS系統(tǒng)的課題背景、需求分析、可行性分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)和軟件測(cè)試等方面詳細(xì)闡述了整個(gè)系統(tǒng)的開(kāi)發(fā)過(guò)程,研究并實(shí)現(xiàn)了基于B/S模式的校園計(jì)算機(jī)技術(shù)論壇系統(tǒng)。本論壇系統(tǒng)借助于MyEclipse8.5的開(kāi)發(fā)工具再結(jié)合動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)(JSP)和Mysql數(shù)據(jù)庫(kù)之下開(kāi)發(fā)了這個(gè)快捷、界
14、面簡(jiǎn)單友好、可擴(kuò)展的系統(tǒng)。本系統(tǒng)采用了目前流行的MVC三層架構(gòu),系統(tǒng)分為前臺(tái)模塊和后臺(tái)模塊,前臺(tái)功能模塊有:用戶登錄、注冊(cè)、發(fā)布帖子、回復(fù)帖子、個(gè)人信息查詢及修改等;后臺(tái)功能模塊有:欄目管理、主題管理、回復(fù)帖子管理、用戶管理等。該論壇功能齊全,能夠滿足老師與學(xué)生之間、學(xué)生與學(xué)生之間的交流。</p><p> 關(guān)鍵詞:互聯(lián)網(wǎng);Mysql;B/S;BBS;MVC</p><p> Desi
15、gn and implementation of computer technology campus forum</p><p> Abstract: Today's society is a rapid development of information society, people can communicate through the Internet and share informati
16、on . An Internet forum is to develop online information service system , to facilitate the exchange of information and sharing files by forum users . Development of computer technology campus forum system aims to provide
17、 a platform for the exchange of teachers and students , the majority of teachers and students to exchange experiences , discuss issues of online</p><p> Keywords: Internet;Mysql;B/S;BBS;MVC</p><p
18、><b> 1 緒論</b></p><p> 1.1 研究課題背景</p><p> BBS的英文全稱是Bulletin Board System,翻譯為中文就是“電子公告板”。BBS最早是用來(lái)公布股市價(jià)格等類信息的,當(dāng)時(shí)BBS連文件傳輸?shù)墓δ芏紱](méi)有,而且只能在蘋果計(jì)算機(jī)上運(yùn)行。早期的BBS與一般街頭和校園內(nèi)的公告板性質(zhì)相同,只不過(guò)是
19、通過(guò)電腦來(lái)傳播或獲得消息而已。一直到個(gè)人計(jì)算機(jī)普及之后,有些人嘗試將蘋果計(jì)算機(jī)上的BBS轉(zhuǎn)移到個(gè)人計(jì)算機(jī)上,BBS才開(kāi)始漸漸普及開(kāi)來(lái)。近些年來(lái),由于愛(ài)好者們的努力,BBS的功能得到了很大的擴(kuò)充。 </p><p> 校園BBS具有的一些共同的基本功能,如:登陸注冊(cè)、發(fā)表帖子、回復(fù)帖子、資料查詢、文件共享等。使同學(xué)之間可以借助BBS突破以往的封閉觀念,讓你足不出戶也能認(rèn)識(shí)新同學(xué),學(xué)習(xí)新知識(shí),交流新想法。
20、在一些大型的校園BBS中,還可以彼此通過(guò)線上會(huì)議室討論問(wèn)題交流心得。這些都是身為一個(gè)處于信息大爆炸時(shí)代的你我所不可或缺的幫手,拉近了人與人之間的距離,尤其是國(guó)際網(wǎng)絡(luò),更會(huì)令你有天涯若比鄰的感覺(jué)!除了盡情地吸收別人貢獻(xiàn)的能量 ,也可以盡情地展現(xiàn)自己的才華,慷慨地與他人分享經(jīng)驗(yàn)貢獻(xiàn)屬于自己的那一份能量,從而使整個(gè)社會(huì)充滿一種正能量。</p><p> 本文討論的是一個(gè)簡(jiǎn)易的校園技術(shù)論壇(也就是一個(gè)校園BBS),它具
21、有BBS網(wǎng)站應(yīng)該具有的基本功能,包括注冊(cè)、登錄、發(fā)帖、讀帖、回帖、后臺(tái)管理等功能,所有操作都可以由用戶在客戶端瀏覽器中完成,而服務(wù)器中的java程序會(huì)按用戶的要求來(lái)完成對(duì)數(shù)據(jù)庫(kù)的操作,并將結(jié)果傳給Web服務(wù)器,再由Web服務(wù)器處理成jsp文件后發(fā)送到瀏覽器供游客瀏覽。</p><p> 1.2 研究目的和意義</p><p> 校園計(jì)算機(jī)技術(shù)論壇的目的是能使學(xué)校的老師和同學(xué)們及時(shí)參與到
22、論壇信息的交流過(guò)程中來(lái);校園計(jì)算機(jī)技術(shù)論壇可以是同學(xué)們獲取專業(yè)知識(shí)、解決學(xué)習(xí)問(wèn)題、交流心得體會(huì)的重要途徑。由于大學(xué)課程學(xué)習(xí)的特殊性,更多是強(qiáng)調(diào)學(xué)生自主的學(xué)習(xí)性,除了在課堂上請(qǐng)教老師、課間和同學(xué)們討論一些問(wèn)題之外,基本沒(méi)有什么集體討論的時(shí)間。而在BBS上,同學(xué)們可以提出問(wèn)題,共同討論和解決,還可以向其他老師,學(xué)長(zhǎng)們或者學(xué)弟們請(qǐng)教。同時(shí)老師們可以利用BBS提供更多的知識(shí)信息;校園BBS也是大學(xué)生情感交流的重要場(chǎng)所。大學(xué)生們隨著年齡的增長(zhǎng),能
23、夠結(jié)交到的志同道合的朋友越來(lái)越少,加上學(xué)業(yè)上的壓力、社會(huì)競(jìng)爭(zhēng)的日趨激烈,迫切需要一個(gè)傾吐、交流的空間,BBS正好給我們提供了這樣一個(gè)平臺(tái),由于大家的年齡、學(xué)識(shí)、經(jīng)驗(yàn)都具有相同之處,因此彼此之間的交流更容易理解,BBS使得大學(xué)生的情感交流更加透明和坦誠(chéng)。同時(shí)BBS還有豐富課外生活,向社會(huì)和大眾宣傳了學(xué)校等作用。</p><p> 而本人在此論壇的設(shè)計(jì)與開(kāi)發(fā)過(guò)程中,能夠起到技術(shù)知識(shí)和技能的綜合運(yùn)用與鞏固,并且掌握到
24、從題目審定到網(wǎng)站功能實(shí)現(xiàn)的系統(tǒng)思維與技能實(shí)現(xiàn),為將來(lái)的工作起到一個(gè)很好的鋪墊作用。</p><p> 1.3系統(tǒng)開(kāi)發(fā)環(huán)境及開(kāi)發(fā)工具</p><p> 開(kāi)發(fā)平臺(tái):Windows 7 </p><p> 開(kāi)發(fā)語(yǔ)言:Java語(yǔ)言</p><p> 開(kāi)發(fā)工具:MyEclipse8.6、mysql.5.5、tomcat6.0、jdk1.6<
25、;/p><p> 所用技術(shù):Java + Mysql+ Struts2 + Jsp+Ajax/JQuery+Json</p><p> 預(yù)期成果:一個(gè)可擴(kuò)展的基于MVC模式的校園技術(shù)論壇</p><p> 1.3.1 B/S架構(gòu)簡(jiǎn)介</p><p> B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet
26、技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過(guò)WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂3-tier結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語(yǔ)言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來(lái)需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開(kāi)發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)平
27、[1]。</p><p> B/S結(jié)構(gòu)最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展性非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個(gè)用戶名和密碼,就可以使用了。甚至可以在線申請(qǐng),通過(guò)公司內(nèi)部的安全認(rèn)證(如CA證書)后,不需要人的參與,系統(tǒng)可以自動(dòng)分配給用戶一個(gè)賬號(hào)進(jìn)入系統(tǒng)。</p><p> 1.3.2 MyEcli
28、pse簡(jiǎn)介</p><p> MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,struts,spring,css,j
29、avascript,SQL,Hibernate等[2]。</p><p> MyEclipse 是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC數(shù)據(jù)庫(kù)
30、鏈接工具等多項(xiàng)功能。可以說(shuō)MyEclipse是幾乎囊括了目前所有主流開(kāi)源產(chǎn)品的專屬eclipse開(kāi)發(fā)工具。</p><p> 1.3.3 MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介</p><p> MySQL是最受歡迎的開(kāi)源SQL數(shù)據(jù)庫(kù)管理系統(tǒng),它由MySQL AB開(kāi)發(fā)、發(fā)布和支持。MySQL AB是一家基于MySQL開(kāi)發(fā)人員的商業(yè)公司。MySQL是MySQL AB的注冊(cè)商標(biāo)。MySQL是一個(gè)快速的、多線
31、程、多用戶和健壯的SQL數(shù)據(jù)庫(kù)服務(wù)器。MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負(fù)載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個(gè)大配置(mass-deployed)的軟件中去。MySQL網(wǎng)站(http://www.mysql.com)提供了關(guān)于MySQL和MySQL AB的最新的消息?! ySQL是開(kāi)源的,開(kāi)源意味著任何人都可以使用和修改該軟件,任何人都可以從Internet上下載和使用MySQL而不需要支付任何費(fèi)用。如果你愿意,你可以研究其源代碼
32、,并根據(jù)你的需要修改它。MySQL使用GPL(GNU General Public License,通用公共許可),在hpt://www.fsf.org/licenses中定義了你在不同的場(chǎng)合對(duì)軟件可以或不可以做什么[3]。</p><p> 1.3.4 Tomcat服務(wù)器</p><p> Tomcat 服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web 應(yīng)用服務(wù)器,最新的Servlet 和JSP
33、 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat7支持最新的Servlet 和JSP 規(guī)范。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器[4]。</p><p> Tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)
34、說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對(duì)HTML 頁(yè)面的訪問(wèn)請(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> 1.3.5 Jsp簡(jiǎn)介</p><p> JSP是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立
35、的一種動(dòng)態(tài)技術(shù)標(biāo)準(zhǔn)。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對(duì)客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問(wèn)JSP網(wǎng)頁(yè)[5]。Jsp相對(duì)于其他運(yùn)用開(kāi)發(fā)技術(shù)Jsp具有很強(qiáng)的優(yōu)勢(shì):</p><p> (1) 一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。 </p><p> (2) 系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意
36、環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP的局限性JSP的優(yōu)勢(shì)是顯而易見(jiàn)的。</p><p> (3) 強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。</p><p> (4) 多樣化和功能強(qiáng)
37、大的開(kāi)發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。</p><p> (5) 支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來(lái)支持,開(kāi)發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁(yè)面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來(lái)實(shí)現(xiàn)復(fù)雜商務(wù)功能[6]。</p><
38、;p> 1.3.6 Struts2簡(jiǎn)介</p><p> 從數(shù)據(jù)流圖上來(lái)看,Struts2與WebWork相差不大,Struts2同樣使用攔截器作為處理(Advice),以用戶的業(yè)務(wù)邏輯控制器為目標(biāo),創(chuàng)建一個(gè)控制器代理。 控制器代理負(fù)責(zé)處理用戶請(qǐng)求,處理用戶請(qǐng)求時(shí)回調(diào)業(yè)務(wù)控制器的execute方法,該方法的返回值將決定了Struts2將怎樣的視圖資源呈現(xiàn)給用戶[7]。Struts2框架的大致處
39、理流程如下:瀏覽器發(fā)送請(qǐng)求,核心控制器FilterDispatcher根據(jù)請(qǐng)求決定調(diào)用合適的Action,WebWork的攔截器鏈自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能?;卣{(diào)Action的execute方法,該execute方法先獲取用戶請(qǐng)求參數(shù),然后執(zhí)行某種數(shù)據(jù)庫(kù)操作,既可以是將數(shù)據(jù)保存到數(shù)據(jù)庫(kù),也可以從數(shù)據(jù)庫(kù)中檢索信息。實(shí)際上,因?yàn)锳ction只是一個(gè)控制器,它會(huì)調(diào)用業(yè)務(wù)邏輯組件來(lái)處理用戶的請(qǐng)求。Action的execute方法處理結(jié)果信息將被輸出
40、到瀏覽器中,可以是HTML頁(yè)面、圖像,也可以是PDF文檔或者其他文檔。此時(shí)支持的視圖技術(shù)非常多,如:JSP。 </p><p> 2 需求分析和可行性分析</p><p><b> 2.1 業(yè)務(wù)描述</b></p><p> 通過(guò)對(duì)網(wǎng)上論壇的調(diào)查和查閱相關(guān)資料分析,初步認(rèn)為此系統(tǒng)的開(kāi)發(fā)主要包括兩大部分論壇前臺(tái)開(kāi)發(fā)和論壇后臺(tái)管理。</
41、p><p> 論壇前臺(tái):系統(tǒng)前臺(tái)模塊提供給所有用戶使用,用戶包括注冊(cè)用戶和普通游客,二者所擁有的功能不同。普通游客只能瀏覽論壇首頁(yè),而注冊(cè)用戶則可發(fā)表主題、瀏覽主題以及回復(fù)主題等操作。</p><p> 后臺(tái)管理:后臺(tái)管理主要由管理員使用,可對(duì)論壇中相關(guān)信息進(jìn)行管理、維護(hù),普通用戶無(wú)權(quán)使用。后臺(tái)管理主要包括用戶管理、欄目管理、主題管理、回復(fù)管理、管理員注銷等功能模塊。如下圖2.1所示為校園
42、技術(shù)論壇業(yè)務(wù)流程圖:</p><p> 圖2.1 校園技術(shù)論壇業(yè)務(wù)流程圖</p><p> 2.2 校園計(jì)算機(jī)論壇需求分析</p><p> 隨著Internet全球化普及、信息時(shí)代的急速到來(lái),校園中上網(wǎng)人數(shù)日益增加,幾乎達(dá)到了人手一臺(tái)電腦。在這種情況下學(xué)生和老師對(duì)于網(wǎng)絡(luò)的依賴程度不斷增大,而且一些知識(shí)和信息不能及時(shí)的傳達(dá)和分享給同學(xué)和老師,校園技術(shù)論壇這時(shí)候
43、就發(fā)揮了他的作用,學(xué)生和老師可以通過(guò)校園技術(shù)論壇來(lái)發(fā)布他的信息或者一些技術(shù)上的問(wèn)題,校內(nèi)外其他人也可以通過(guò)這個(gè)技術(shù)論壇來(lái)討論一些技術(shù)問(wèn)題,而且也可以通過(guò)論壇這個(gè)平臺(tái)來(lái)進(jìn)行情感交流,增進(jìn)學(xué)生與學(xué)生或者學(xué)生與老師之間的感情,更可以通過(guò)論壇來(lái)發(fā)布各種學(xué)習(xí)資料的鏈接,讓同學(xué)們能夠共同進(jìn)步。在互聯(lián)網(wǎng)的廣泛運(yùn)用時(shí)代,BBS也是對(duì)外宣傳學(xué)校的一種手段,一些即將高考的高中生家長(zhǎng)可以通過(guò)這個(gè)平臺(tái)來(lái)加深對(duì)學(xué)校的了解,從而達(dá)到招收優(yōu)秀學(xué)生的目的。</p
44、><p> 2.2.1 性能需求分析</p><p> (1) 用戶和管理員權(quán)限按級(jí)別區(qū)分,管理員既具有用戶的權(quán)限又具有管理員的權(quán)限。</p><p> (2) 發(fā)帖或者回帖延時(shí)審核階段保持無(wú)滯后性,使得整個(gè)論壇系統(tǒng)保持一個(gè)良好順暢的狀態(tài)。</p><p> (3) 任何的程序功能無(wú)邏輯上的錯(cuò)誤和編譯上的錯(cuò)誤。</p>&l
45、t;p> (4) 具有較強(qiáng)的靈活性,在多平臺(tái)移植上不會(huì)出現(xiàn)平臺(tái)的不兼容。</p><p> (5) 由于涉及到用戶的隱私信息,所以網(wǎng)絡(luò)安全要達(dá)到國(guó)家標(biāo)準(zhǔn)。</p><p> 2.2.2 功能需求分析</p><p> 論壇一般可以劃分為兩種用戶,分別是用戶和管理員。用戶中呢又可以劃分為游客和論壇會(huì)員,游客和用戶的權(quán)限是向下覆蓋的,即上級(jí)權(quán)限覆蓋下級(jí)權(quán)限
46、,在論壇中管理員屬于上級(jí)權(quán)限,游客和用戶屬于下級(jí)權(quán)限。</p><p> 用戶相關(guān)的功能,其實(shí)就是前臺(tái)的主要功能,論壇的前臺(tái),是用戶討論問(wèn)題,交流經(jīng)驗(yàn)的平臺(tái),主要有板塊信息的瀏覽、查看主題信息、查看作者信息、發(fā)布主題、回復(fù)帖子、用戶的登錄、用戶注冊(cè)、用戶個(gè)人信息的查看、用戶個(gè)人信息的修改、以及一些友情鏈接等。</p><p> 管理員的相關(guān)功能,其實(shí)就是后臺(tái)的主要功能,論壇的后臺(tái),是針
47、對(duì)于管理員去操作論壇中的一些相關(guān)信息,主要有板塊的管理:管理員可以新增或者刪除某個(gè)板塊,也可以對(duì)某個(gè)板塊重新的定義版主;主題的管理:管理員可以刪除用戶發(fā)表的某個(gè)主題;回復(fù)主題的管理:管理員可以刪除某個(gè)用戶回復(fù)的帖子;用戶的管理:管理員可以對(duì)論壇的某個(gè)用戶進(jìn)行相應(yīng)的操作,可以刪除某個(gè)用戶,也可以修改某個(gè)用戶的權(quán)限等。</p><p> 2.2.3 系統(tǒng)用例分析</p><p> 本論壇系
48、統(tǒng)大致可以分為三個(gè)業(yè)務(wù)角色分別是:游客、用戶、管理員,如下圖2.2所示為系統(tǒng)用例圖:</p><p> 圖2.2 系統(tǒng)用例圖</p><p> 表2.1是對(duì)用戶功能用例的描述,通過(guò)用戶權(quán)限的管理允許用戶進(jìn)行信息的發(fā)布,查看和修改。</p><p><b> 表2.1用戶用例表</b></p><p> 表2.2是
49、對(duì)系統(tǒng)管理員用例的描述,對(duì)系統(tǒng)的用戶和帖子進(jìn)行管理和操作,并在系統(tǒng)運(yùn)行當(dāng)中對(duì)論壇記性監(jiān)督,從而更好地維護(hù)系統(tǒng)的組織結(jié)構(gòu),是論壇系統(tǒng)能夠正常的運(yùn)行。</p><p> 表2.2 管理員用例表</p><p><b> 2.3 可行性分析</b></p><p> 2.3.1 經(jīng)濟(jì)可行性</p><p> 主要是對(duì)項(xiàng)
50、目的經(jīng)濟(jì)效益進(jìn)行評(píng)估,本系統(tǒng)模擬的是一個(gè)供信息科學(xué)技術(shù)學(xué)院師生交流的平臺(tái),為廣大師生提供交流經(jīng)驗(yàn)、探討問(wèn)題的網(wǎng)絡(luò)社區(qū)。但實(shí)際只是用于個(gè)人的畢業(yè)設(shè)計(jì),只是模擬,也不存在資金的流動(dòng)和使用,故在經(jīng)濟(jì)上是可行的。</p><p> 2.3.2 技術(shù)可行性</p><p> 根據(jù)該系統(tǒng)所實(shí)現(xiàn)的目標(biāo)來(lái)衡量所需的技術(shù)是否具備,一般可以從硬件和軟件的性能要求上、環(huán)境條件上、操作人員水平上和數(shù)量等方面去
51、考慮和分析。</p><p> 考慮到系統(tǒng)實(shí)施的可行性,在軟件方面選擇了如今較流行的Java語(yǔ)言和Struts2框架來(lái)進(jìn)行網(wǎng)站前臺(tái)設(shè)計(jì)和后臺(tái)的開(kāi)發(fā),使用MySQL實(shí)現(xiàn)后臺(tái)數(shù)據(jù)庫(kù)的存儲(chǔ)。</p><p> 在硬件方面,則選擇空間較大,只要是Inter系列及以上的計(jì)算機(jī),內(nèi)存在2G以上,硬盤在500GB以上,都可以滿足系統(tǒng)的開(kāi)發(fā)需要,當(dāng)然硬件的配置越高,系統(tǒng)的開(kāi)發(fā)與運(yùn)行會(huì)更流暢??紤]到如今
52、的家用或商用電腦硬件的整體配置水平,系統(tǒng)在硬件方面是可行的。</p><p> 在軟件方面,MyEclipse提供了強(qiáng)大的控件功能,所以應(yīng)用起來(lái)非常方便,技術(shù)方面比較成熟,而MySQL更是一個(gè)非常完善的數(shù)據(jù)庫(kù),在安全性、可用性、可靠性方面都是可以信賴的,因此在技術(shù)方面是可行的。</p><p> 2.3.3 社會(huì)可行性</p><p> 隨著Internet技
53、術(shù)的飛速發(fā)展,論壇已成為人們相互溝通、交流信息的一種主要方式。在論壇上,人們可以對(duì)某一領(lǐng)域提出自己的想法和遇到的問(wèn)題,隨后,論壇上的其他用戶會(huì)依據(jù)自己所學(xué)的知識(shí)、經(jīng)驗(yàn)發(fā)表意見(jiàn)或提出解決問(wèn)題的方法。校園技術(shù)論壇大大縮短了同學(xué)與同學(xué)之間、同學(xué)與老師之間的距離,通過(guò)這個(gè)平臺(tái)學(xué)生和老師不僅可以增長(zhǎng)自身知識(shí)還可以及時(shí)收到學(xué)校的各項(xiàng)通知,也可以進(jìn)行學(xué)習(xí)以及情感上的交流和溝通。所以說(shuō)一個(gè)好的BBS論壇對(duì)于學(xué)校來(lái)說(shuō)是必不可少的,這也將成為日后一種校園文
54、化的發(fā)展趨勢(shì)。</p><p><b> 3 總體設(shè)計(jì)</b></p><p> 3.1系統(tǒng)模塊總體設(shè)計(jì)</p><p> 本論壇系統(tǒng)一共分為兩個(gè)大的子模塊,每個(gè)子模塊之間雖然在表面上是相互獨(dú)立的,但是在對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)上是緊密相連的,每個(gè)子模塊訪問(wèn)的都是本地系統(tǒng)的同一個(gè)數(shù)據(jù)庫(kù),只是所訪問(wèn)的表不同而已。每個(gè)子模塊中的模塊功能都是按照對(duì)搜集到
55、的資料進(jìn)行分析編寫的。</p><p> 本論壇系統(tǒng)功能模塊圖,如圖3.1所示。</p><p> 圖3.1系統(tǒng)功能模塊圖</p><p> 依據(jù)上述功能模塊圖的分析,系統(tǒng)的兩大子模塊主要分為系統(tǒng)前臺(tái)和系統(tǒng)后臺(tái):</p><p> (1) 系統(tǒng)前臺(tái):主要面向用戶進(jìn)行操作;主要功能:用戶注冊(cè)、用戶登錄、論壇瀏覽(顯示論壇名稱,顯示論壇創(chuàng)
56、建時(shí)間)、主題瀏覽(原文瀏覽、回復(fù)文章瀏覽、作者相關(guān)信息瀏覽、回復(fù)帖子作者相關(guān)信息瀏覽)、發(fā)表主題(發(fā)表新主題)、用戶個(gè)人信息查詢和修改、安全退出。</p><p> (2) 系統(tǒng)后臺(tái):主要由管理員進(jìn)行各種管理操作;主要功能:用戶管理(查詢用戶,編輯用戶,刪除用戶)、欄目管理(更新版主,新增論壇,刪除欄目)、主題管理(主題查詢,主題刪除)、回復(fù)主題管理(回復(fù)文章查詢,回復(fù)文章刪除)、管理員注銷。</p&g
57、t;<p><b> 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 由于數(shù)據(jù)庫(kù)中所保存的數(shù)據(jù)是系統(tǒng)最為核心的資源,所以在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)一定要注意數(shù)據(jù)結(jié)構(gòu)的安全性、完整性,并發(fā)控制與恢復(fù)[8]。該系統(tǒng)采用MySQL作為后臺(tái)數(shù)據(jù)庫(kù)去存儲(chǔ)所有與系統(tǒng)相關(guān)的數(shù)據(jù),通過(guò)對(duì)整個(gè)校園計(jì)算機(jī)技術(shù)論壇系統(tǒng)的運(yùn)行過(guò)程和數(shù)據(jù)流程分析,設(shè)計(jì)出實(shí)際的數(shù)據(jù)庫(kù)實(shí)體,以及他們之間的關(guān)系,為后邊的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)
58、設(shè)計(jì)打基礎(chǔ)。</p><p> 論壇系統(tǒng)信息的儲(chǔ)存一般是在文件或者數(shù)據(jù)庫(kù)中,相比之下數(shù)據(jù)庫(kù)要簡(jiǎn)單高效,能對(duì)論壇進(jìn)行更好的控制,也能對(duì)資料提供一些更正和保護(hù)。所以目前流行的論壇系統(tǒng)都是采用的數(shù)據(jù)庫(kù)系統(tǒng)。</p><p> 3.2.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述</p><p> 根據(jù)系統(tǒng)的需求分析和數(shù)據(jù)庫(kù)的需求分析,同時(shí)根據(jù)系統(tǒng)功能模塊圖和用例圖的分析,對(duì)系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行概念結(jié)
59、構(gòu)設(shè)計(jì)[9]。</p><p> 根據(jù)數(shù)據(jù)關(guān)系模型和數(shù)據(jù)庫(kù)關(guān)系模式的范式,我們創(chuàng)建了校園計(jì)算機(jī)技術(shù)論壇數(shù)據(jù)表,本系統(tǒng)共有4個(gè)數(shù)據(jù)表,分別是:論壇表(forum),用戶表(user),主題表(topic),回復(fù)表(response)。</p><p> 3.3 數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì)</p><p> 3.3.1 數(shù)據(jù)庫(kù)E-R圖的設(shè)計(jì)</p><p
60、> E-R圖是概念化地構(gòu)建實(shí)體間關(guān)系的模型,這使得它們區(qū)別于數(shù)據(jù)庫(kù)模型圖。E-R圖的理念是:項(xiàng)目所有參與者能理解E-R圖。E-R圖由不同實(shí)體類型、關(guān)系、特性和類型構(gòu)成。實(shí)體是諸如用戶的實(shí)際對(duì)象,有時(shí)更抽象,但必須有業(yè)務(wù)意義[9]。根據(jù)以上對(duì)系統(tǒng)所做的分析能夠確定,每個(gè)功能模塊可以抽象出一個(gè)或多個(gè)實(shí)體對(duì)象,例如用戶、論壇、主題、回復(fù)主題等實(shí)體對(duì)象。這些實(shí)體對(duì)象彼此聯(lián)系,并且最終被創(chuàng)建成數(shù)據(jù)表結(jié)構(gòu)。</p><p
61、> (1) 用戶實(shí)體對(duì)象</p><p> 用戶實(shí)體包括用戶編號(hào)、用戶名、用戶簽名、用戶頭像、密碼等用戶相關(guān)屬性,用戶的實(shí)體E-R圖為:</p><p> 圖3.2 用戶實(shí)體E-R圖</p><p> (2) 論壇實(shí)體對(duì)象</p><p> 論壇實(shí)體對(duì)象包括論壇編號(hào)、論壇名稱、版主、創(chuàng)建時(shí)間等屬性,論壇的實(shí)體E-R圖為:<
62、;/p><p> 圖3.3 論壇實(shí)體E-R圖</p><p> (3) 主題實(shí)體對(duì)象</p><p> 主題實(shí)體包含主題編號(hào)、主題標(biāo)題、主題內(nèi)容、主題作者、發(fā)表時(shí)間、論壇編號(hào)、論壇名稱、人氣、回復(fù)人數(shù)等相關(guān)屬性,主題的實(shí)體E-R圖為:</p><p> 圖3.4 主題實(shí)體E-R圖</p><p> (4)回復(fù)主題
63、實(shí)體對(duì)象</p><p> 回復(fù)主題實(shí)體對(duì)象包括回復(fù)主題編號(hào)、回復(fù)主題標(biāo)題、回復(fù)主題內(nèi)容、回復(fù)主題作者、回復(fù)主題時(shí)間、回復(fù)作者心情、主題編號(hào)、主題作者、主題名稱等屬性,回復(fù)主題的實(shí)體E-R圖如圖3.5所示。</p><p> 圖3.5 回復(fù)主題實(shí)體E-R圖</p><p> E-R模型的“聯(lián)系”用于刻畫實(shí)體之間的關(guān)聯(lián)。一種完整的方式是對(duì)局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類
64、型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型之間是否存在聯(lián)系。若有聯(lián)系,要進(jìn)一步確定是一對(duì)多(1:n),多對(duì)多(m:n),還是一對(duì)一(1:1)的關(guān)系。還要考察一個(gè)實(shí)體類型內(nèi)部是否存在聯(lián)系,兩個(gè)實(shí)體類型之間是否存在聯(lián)系,多個(gè)實(shí)體類型之間是否存在聯(lián)系等等[9]。數(shù)據(jù)庫(kù)E-R圖如圖3.6所示。</p><p> 圖3.6數(shù)據(jù)庫(kù)E-R圖</p><p> 3.3.2 數(shù)據(jù)表的設(shè)計(jì)&l
65、t;/p><p> 由于數(shù)據(jù)庫(kù)關(guān)系到一個(gè)系統(tǒng)能不能正常的工作,所以一定要考慮到數(shù)據(jù)結(jié)構(gòu)的安全性、完整性,并發(fā)控制與恢復(fù)。本系統(tǒng)中的數(shù)據(jù)庫(kù)采用MySQL數(shù)據(jù)庫(kù)實(shí)現(xiàn),共包括4個(gè)數(shù)據(jù)表,其結(jié)構(gòu)描述如下。</p><p><b> 表名:forum</b></p><p><b> 數(shù)據(jù)來(lái)源:論壇表</b></p>
66、<p> 表結(jié)構(gòu)如表3.1所示。</p><p> 表3.1 forum </p><p><b> 表名:user</b></p><p><b> 數(shù)據(jù)來(lái)源:用戶表</b></p><p> 表結(jié)構(gòu)如表3.2所示。</p><p><b>
67、 表3.2 user</b></p><p> 表名:response</p><p> 數(shù)據(jù)來(lái)源:回復(fù)主題表</p><p> 表結(jié)構(gòu)如表3.3所示。</p><p> 表3.3 response </p><p><b> 表名:topic</b></p>
68、<p><b> 數(shù)據(jù)來(lái)源:主題表</b></p><p> 表結(jié)構(gòu)如表3.4所示。</p><p> 表3.4 topic </p><p><b> 4 系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p> 4.1 系統(tǒng)運(yùn)行平臺(tái)設(shè)置</p><p> 4.1.1
69、 硬件環(huán)境</p><p> 標(biāo)準(zhǔn)配置計(jì)算機(jī)一臺(tái),內(nèi)存512M以上(最好是4G,因?yàn)殡S著論壇的發(fā)展訪問(wèn)量會(huì)增多),外存容量、聯(lián)機(jī)或脫機(jī)、媒體及其存儲(chǔ)格式,設(shè)備的型號(hào)及數(shù)量:硬盤40G及以上、聲卡、顯卡無(wú)要求。</p><p> 4.1.2 軟件環(huán)境</p><p> WindowXP以上操作系統(tǒng)并且經(jīng)行了web站點(diǎn)的部署和發(fā)布,在本機(jī)上安裝了Java的虛擬機(jī)(
70、Jdk1.6)、Tomcat5.0以上服務(wù)器并對(duì)相應(yīng)的配置文件進(jìn)行了配置,而且在本機(jī)上的配置環(huán)境變量的地方隊(duì)Java和Tomcat進(jìn)行了路徑的配置。最好有一個(gè)Java開(kāi)發(fā)工具,比如MyEclipse8.5之類的,方便日后代碼的維護(hù),由于是通過(guò)瀏覽器對(duì)該論壇進(jìn)行訪問(wèn)的所以還需要安裝相應(yīng)的瀏覽器(建議使用谷歌瀏覽器)。</p><p> 4.2 校園計(jì)算機(jī)技術(shù)論壇主界面設(shè)計(jì)</p><p>
71、 首頁(yè)為校園計(jì)算機(jī)技術(shù)論壇的主界面,因?yàn)樽鳛檎搲瘎傞_(kāi)始是不會(huì)進(jìn)入登陸界面的只有是該論壇用戶才會(huì)選擇去登陸界面登錄,而作為一般的游客進(jìn)入本論壇時(shí)應(yīng)該先看到的就是校園技術(shù)論壇的主界面。本論壇的名稱為校園技術(shù)匯,其含義是技術(shù)都將匯聚到這個(gè)論壇,校園技術(shù)論壇首頁(yè)的文件為:index.jsp 。如圖4.1所示為首頁(yè)的組成圖:</p><p> 圖4.1系統(tǒng)首頁(yè)組成圖</p><p> 校園技術(shù)
72、論壇主界面,如圖4.2所示。</p><p> 圖4.2校園技術(shù)論壇主界面</p><p> 頁(yè)面頭上的歡迎信息和頁(yè)面底部的開(kāi)發(fā)者信息在前臺(tái)每個(gè)網(wǎng)頁(yè)上顯示的都是一樣的。所以后面不再介紹了。后面基本頁(yè)面發(fā)生變化都是在中間部分發(fā)生變化。</p><p> 首頁(yè)歡迎,使用JavaScript獲取當(dāng)前的時(shí)間,且每1000ms更新一次。</p><p
73、> 圖4.3顯示論壇系統(tǒng)時(shí)間</p><p><b> 代碼如下:</b></p><p> function clockon(bgclock){</p><p> var now=new Date();</p><p> var year=now.getYear()+1900;</p>&
74、lt;p> var month=now.getMonth();</p><p> var date=now.getDate();</p><p> var day=now.getDay();</p><p> var hour=now.getHours();</p><p> var minu=now.getMinutes()
75、;</p><p> var sec=now.getSeconds();</p><p><b> var week;</b></p><p> month=month+1;</p><p> if(month<10) month="0"+month;</p><p&
76、gt; if(date<10) date="0"+date;</p><p> if(hour<10) hour="0"+hour;</p><p> if(minu<10) minu="0"+minu;</p><p> if(sec<10) sec="0&quo
77、t;+sec;</p><p> var arr_week=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");</p><p> week=arr_week[day];</p>
78、<p> var time="";</p><p> time=year+"-"+month+"-"+date+"--"+week+"--"+hour+":"+minu+":"+sec;</p><p> bgclock.innerHT
79、ML=time</p><p> var timer=setTimeout("clockon(bgclock)",1000);</p><p><b> }</b></p><p> 在網(wǎng)頁(yè)加載時(shí)就執(zhí)行該JavaScript函數(shù):<body onload=”clockon(bgclock);”></p
80、><p> 4.3 用戶登錄與注冊(cè)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 要對(duì)論壇的各項(xiàng)進(jìn)行操作必須登陸論壇系統(tǒng),如果沒(méi)有論壇帳戶,用戶注冊(cè)是必須的。用戶命令如果是注銷,則清除用戶在頁(yè)面上的狀態(tài)信息即session值,并返回論壇首頁(yè),如果是登錄則使用MySQL去連接到數(shù)據(jù)庫(kù),獲取用戶輸入的帳號(hào)和密碼并查詢數(shù)據(jù)庫(kù),將得出的結(jié)果和用戶輸入的信息做比較,如果驗(yàn)證正確,跳轉(zhuǎn)到主界面并且顯示用戶已經(jīng)登陸到系
81、統(tǒng),錯(cuò)誤將返回錯(cuò)誤信息到登陸頁(yè)面讓用戶重新輸入信息.如果用戶想注冊(cè)帳戶,則跳轉(zhuǎn)到注冊(cè)頁(yè)面,用戶填寫信息后,在提交之前頁(yè)面會(huì)檢測(cè)信息的正確性,如果各項(xiàng)信息符合要求則允許注冊(cè),則完成帳號(hào)的注冊(cè),將信息寫入到數(shù)據(jù)庫(kù)中,否則返回錯(cuò)誤信息,告訴用戶帳號(hào)存在,請(qǐng)用戶重新填寫,并完成注冊(cè),進(jìn)程結(jié)束。</p><p> 4.3.1用戶登錄的設(shè)計(jì)與實(shí)現(xiàn)</p><p> (1) 用戶登錄界面如圖4.4所
82、示。</p><p> 圖4.4 用戶登錄界面</p><p> (2) 用戶登錄程序的流程如圖4.5所示。</p><p> 圖4.5 用戶登錄論壇流程圖</p><p><b> 實(shí)現(xiàn)代碼:</b></p><p> public class DoLogin extends Acti
83、onSupport {</p><p> private Login login = new Login();</p><p><b> @Override</b></p><p> public String execute(){</p><p> if (LoginDAO.login(login.getUse
84、rname(), login.getPassword())) {</p><p> ActionContext.getContext().getSession().put("name",</p><p> login.getUsername());</p><p> ActionContext.getContext().getSession
85、().put("islogin", 1);</p><p> return "success";</p><p><b> } else {</b></p><p> ActionContext.getContext().getSession().put("islogin", 0
86、);</p><p> this.addFieldError("userlogin", "你輸入的用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入");</p><p> return "error";</p><p><b> }</b></p><p><b>
87、 }</b></p><p> 4.3.2 用戶注冊(cè)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> (1) 實(shí)現(xiàn)目標(biāo)</b></p><p> 如果不是會(huì)員要先進(jìn)行注冊(cè),點(diǎn)擊“注冊(cè)”隨后就進(jìn)入了新會(huì)員注冊(cè)主界面(圖4.7)用戶應(yīng)按照界面上的提示填寫信息,如“用戶賬號(hào)”,“密碼”,“性別”,“真實(shí)姓名”等。</p>&l
88、t;p> (2) 用戶注冊(cè)程序流程圖介紹</p><p> 用戶填寫信息后點(diǎn)擊提交會(huì)進(jìn)行信息驗(yàn)證,如果該用戶名還沒(méi)有注冊(cè),則會(huì)注冊(cè)成功,頁(yè)面發(fā)生跳轉(zhuǎn),反之用戶名已經(jīng)注冊(cè)會(huì)提示“該用戶名已存在,請(qǐng)重新輸入!”,重新輸入用戶信息。用戶注冊(cè)的程序流程圖如圖4.6所示。</p><p> 圖4.6用戶注冊(cè)流程圖</p><p> (3) 注冊(cè)界面,如圖4.7所
89、示。</p><p> 圖4.7用戶注冊(cè)界面</p><p> 4.4 論壇系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 4.4.1 論壇前臺(tái)系統(tǒng)主界面設(shè)計(jì)</p><p><b> (1) 實(shí)現(xiàn)目標(biāo)</b></p><p> 論壇前臺(tái)系統(tǒng),用戶進(jìn)入主頁(yè)面后,上方是論壇logo,有登陸、注冊(cè)、用戶
90、名設(shè)置為一個(gè)超鏈接形式可以鏈接到用戶個(gè)人信息界面,用戶可以查看個(gè)人信息和修改個(gè)人信息,還有論壇在線系統(tǒng)時(shí)間用戶可以查看當(dāng)前時(shí)間,還可以瀏覽各個(gè)欄目列表以及欄目創(chuàng)建時(shí)間和主題數(shù)等相關(guān)信息。</p><p> 論壇前臺(tái)系統(tǒng)主界面,如圖4.8所示:</p><p> 圖4.8 論壇前臺(tái)系統(tǒng)主界面</p><p><b> (2) 設(shè)計(jì)思路</b>
91、;</p><p> 用戶可以通過(guò)點(diǎn)擊各個(gè)板塊名稱進(jìn)入主版界面,便可瀏覽用戶所發(fā)主題,并能夠自己選擇自己喜歡的板塊發(fā)表主題等操作,單擊主題名稱后便進(jìn)入主題頁(yè)面瀏覽主題內(nèi)容,如果是用戶能夠進(jìn)行瀏覽以及主題的回復(fù)等操作,如果是游客那么只能瀏覽主題內(nèi)容和一些回復(fù)內(nèi)容,若游客強(qiáng)行去回復(fù)帖子或者發(fā)表主題,頁(yè)面就會(huì)跳轉(zhuǎn)到登錄界面讓游客登錄若不是用戶就必須選擇注冊(cè)鏈接進(jìn)入注冊(cè)界面進(jìn)行注冊(cè),成為論壇會(huì)員才可以發(fā)帖和回復(fù)操作。如
92、圖4.9 論壇主題界面,圖4.10 論壇主題內(nèi)容界面,圖4.11 論壇主題回復(fù)界面所示。</p><p> 圖4.9 論壇主題界面</p><p> 圖4.10 論壇主題內(nèi)容界面</p><p> 圖4.11 論壇主題回復(fù)界面</p><p> 回帖是指用戶登錄論壇之后選擇相應(yīng)的技術(shù)領(lǐng)域板塊去瀏覽時(shí)看到某個(gè)用戶發(fā)表的主題時(shí)產(chǎn)生興趣后,
93、會(huì)回復(fù)該主題一些自己的看法和遇到的問(wèn)題,若為游客那么該功能將不能使用回復(fù)框?qū)⒆優(yōu)榛疑募床荒芫庉嬋魏蝺?nèi)容?;貜?fù)貼子的文件為response.jsp。</p><p> 瀏覽帖子的回復(fù)和回帖是顯示在同一個(gè)頁(yè)面上的這樣方便及時(shí)的對(duì)某個(gè)主題進(jìn)行回復(fù)。使用HTML語(yǔ)言的<include>標(biāo)簽引入response.jsp頁(yè)面組合成一個(gè)新的頁(yè)面?;緦?shí)現(xiàn)在當(dāng)前頁(yè)回復(fù)的顯示,在當(dāng)前的頁(yè)面上能夠顯示。運(yùn)用了Stru
94、ts2+Json+Ajax+Jsp,通過(guò)Ajax進(jìn)行異步交互,使用Json顯示返回的數(shù)據(jù)。DoResponse.java處理請(qǐng)求的代碼如下:</p><p> public class DoResponse extends ActionSupport {</p><p> private Response rp = new Response();</p><p>
95、; private String result;</p><p> public String execute() {</p><p> String name = (String) ActionContext.getContext().getSession().get(</p><p><b> "name");</b&
96、gt;</p><p> rp.setAuthor(name);</p><p> ResponseDAO.InsertResponseRecord(rp);</p><p> Login user = null;</p><p><b> try {</b></p><p> user
97、 = LoginDAO.getRecordForUser(name);</p><p> } catch (SQLException e) {</p><p><b> }</b></p><p> Map<String, String> map = new HashMap<String, String>();&l
98、t;/p><p> map.put("content", rp.getContent());</p><p> map.put("xq", rp.getXq());</p><p> map.put("author", rp.getAuthor());</p><p> map.
99、put("submittime", Time.getCurrentTime());</p><p> if (name == null) {</p><p> map.put("email", "");</p><p> map.put("tx", "0.gif"
100、;);</p><p> map.put("qq", "");</p><p><b> } else {</b></p><p> map.put("email", user.getEmail());</p><p> map.put("tx
101、", user.getTx());</p><p> map.put("qq", user.getOicq());</p><p><b> }</b></p><p> JSONObject jo = JSONObject.fromObject(map);</p><p> res
102、ult = jo.toString();</p><p> return ”success”;</p><p><b> }</b></p><p> 頁(yè)面上采用的Ajax異步請(qǐng)求代碼如下:</p><p> var title=$("#title").val();</p>&l
103、t;p> var xq=getRadioBoxValue("xq"); //獲取單選按鈕的值</p><p> var content=$("#text2").val();</p><p> var topicname=$("#topicname").val();</p><p> var
104、 topicid=$("#topicid").val();</p><p> $.post('doResponse.action',{"rp.title":title,"rp.xq":xq,"rp.content":content,"rp.topicname":topicname,"rp
105、.topicid":topicid},function(data){</p><p> var rs =eval(data);//包數(shù)據(jù)解析為json 格式 </p><p> var rp2=rs.result;</p><p> var rp=eval("(" + rp2+ ")") //把數(shù)據(jù)解析為 J
106、SON 格式</p><p> $('#02').append("<tr>"+</p><p> "<tdwidth='1002'height='183'valign='top'background='images/r3.gif'>"+&quo
107、t;<table width='100%' height='177' border='0'>"+</p><p> "<tr><td height='28' colspan='2'> </td><td width='8%'&g
108、t; </td>"+</p><p> "<td width='20%' class='zczi' valign='baseline'>"+rp.email+"</td>"+</p><p> "<td width=
109、39;15%' class='zczi' valign='baseline'>"+rp.qq+"</td>"+</p><p> "<td width='30%' class='fyzi' valign='baseline'>"+rp.submi
110、ttime+"</td></tr>"+</p><p> "<tr><td height='66' colspan='2' align='center'>"+</p><p> "<img src='images/touxian
111、g/"+rp.tx+"' width='60' height='60'></td>"+</p><p> "<td colspan='5' rowspan='2' valign='top' class='zczi'>"+rp.co
112、ntent+"</td></tr>"+</p><p> "<tr><td height='27' colspan='2' align='center' valign='middle' class='zczi'>作者:"+rp.author+&q
113、uot;</td></tr><tr>"+</p><p> "<td width='9%' height='42' align='center' valign='top'> </td>"+</p><p> &quo
114、t;<td width='8%' valign='top'>"+"<img src='images/xq/"+rp.xq+"' width='20'height='20'>"+</p><p> "</td><tdcolspan=&
115、#39;4'> </td><tdwidth='10%'> </td></tr></table></td></tr>");</p><p> }, 'json');</p><p><b> }</
116、b></p><p> 4.4.2 論壇后臺(tái)管理主界面設(shè)計(jì)</p><p> 此頁(yè)面主要的功能就是通過(guò)管理員的操作來(lái)實(shí)現(xiàn)對(duì)板塊,主題,回復(fù),用戶等進(jìn)行管理和維護(hù)。管理員對(duì)板塊的管理,可以增設(shè)新的板塊,刪除已存在的板塊,給板塊指定版主等;對(duì)主題專區(qū)的管理體現(xiàn)在對(duì)不符合論壇規(guī)定的主題進(jìn)行刪除操作;同樣可以刪除不符合論壇規(guī)定的回復(fù);對(duì)用戶的管理可以實(shí)現(xiàn)在用戶中進(jìn)行模糊查詢,刪除用戶以及
117、編輯用戶,如圖 4.12論壇后臺(tái)登錄界面,圖4.13論壇后臺(tái)板塊管理界面,圖4.14 論壇后臺(tái)用戶管理界面所示。</p><p> 圖 4.12論壇后臺(tái)登錄界面</p><p> 圖4.13論壇后臺(tái)板塊管理界面</p><p> 圖4.14 論壇后臺(tái)用戶管理界面</p><p> 在論壇后臺(tái)管理上本系統(tǒng)采用了HTML的Frameset
118、框架組成一個(gè)管理頁(yè)面。這是一種比較常用的方式。左邊框架是顯示功能界面,右邊框架顯示主要內(nèi)容界面[10]。但是存在一個(gè)很大的問(wèn)題。Struts2的 struts.xml 不支持HTML的frameset框架。頁(yè)面發(fā)送請(qǐng)求的信息如果直接跳轉(zhuǎn)Frameset 的框架頁(yè)面里面的子頁(yè)面是接收不到參數(shù),如果直接跳轉(zhuǎn)到子頁(yè)面,頁(yè)面就顯示不出框架的效果了,通過(guò)查閱資料和請(qǐng)教一些有經(jīng)驗(yàn)的同學(xué),最后終于找到了解決辦法那就是把需要傳送的值存在session里
119、面,頁(yè)面通過(guò)session來(lái)獲取到傳遞的值,這樣就可以順利的實(shí)現(xiàn)各個(gè)功能了。</p><p> (1) 板塊管理:因?yàn)閙ain.jsp的版塊較少,所以在這里沒(méi)有做對(duì)應(yīng)的分頁(yè)處理。但在該板塊也有一個(gè)亮點(diǎn)一旦點(diǎn)擊新增時(shí)會(huì)彈出一個(gè)div塊顯示一個(gè)小界面?;緦?shí)現(xiàn)原理是,在頁(yè)面載入的是時(shí)候?qū)⒛?lt;div>塊隱藏,在點(diǎn)擊新增按鈕或超鏈接觸發(fā)事件的時(shí)候顯示。主要通過(guò)CSS+div+JavaScript,初始時(shí)隱藏
120、狀態(tài)。</p><p> (2) 專區(qū)管理:topicmanager.jsp;由于Struts2的 struts.xml 不支持HTML的框架。本版塊放棄了Struts2 的優(yōu)越性,在遍歷顯示版塊主題的時(shí)候。沒(méi)有使用<s:intertor>標(biāo)簽,而是使用自定義標(biāo)簽技術(shù)開(kāi)發(fā)了<app:displayTopic/>標(biāo)簽。連分頁(yè)操作都是在JSP頁(yè)面 直接寫Java代碼。這樣雖然違背了MVC模式
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- bbs論壇畢業(yè)設(shè)計(jì)---基于jsp的計(jì)算機(jī)技術(shù)交流論壇系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于jsp的計(jì)算機(jī)技術(shù)交流論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)技術(shù)發(fā)展趨勢(shì)畢業(yè)論文
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文校園導(dǎo)航系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)(論文)+計(jì)算機(jī)科學(xué)與技術(shù)+基于discuz!的大學(xué)計(jì)算機(jī)基礎(chǔ)論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文——校園論壇的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)畢業(yè)論文---bbs論壇管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)論文校園網(wǎng)絡(luò)規(guī)劃與設(shè)計(jì)
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 電力系統(tǒng)自動(dòng)化與計(jì)算機(jī)技術(shù)畢業(yè)論文
- 計(jì)算機(jī)專業(yè)畢業(yè)論文——校園網(wǎng)站設(shè)計(jì)
- 計(jì)算機(jī)技術(shù)
- 畢業(yè)論文-計(jì)算機(jī)學(xué)院網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文
- 畢業(yè)論文計(jì)算機(jī)科學(xué)與技術(shù)
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論