校園計(jì)算機(jī)技術(shù)論壇的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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)開發(fā)環(huán)境及開發(fā)工具2</p><p>  1.3.1 B/S架構(gòu)簡介2</p><p> 

5、 1.3.2 MyEclipse簡介2</p><p>  1.3.3 MySQL數(shù)據(jù)庫簡介3</p><p>  1.3.4 Tomcat服務(wù)器3</p><p>  1.3.5 Jsp簡介3</p><p>  1.3.6 Struts2簡介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 社會可行性8</p><p><b>  3 總體設(shè)計(jì)9</b></p><p>  3.1系統(tǒng)模塊總體設(shè)計(jì)9</p><p>  3.2 數(shù)據(jù)庫設(shè)計(jì)1

8、0</p><p>  3.2.1數(shù)據(jù)庫設(shè)計(jì)概述10</p><p>  3.3 數(shù)據(jù)庫的詳細(xì)設(shè)計(jì)10</p><p>  3.3.1 數(shù)據(jù)庫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)行平臺設(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 用戶登錄與注冊的設(shè)計(jì)與實(shí)現(xiàn)17</p><p>  4.3.1用戶登錄的設(shè)計(jì)與實(shí)現(xiàn)17</p>

10、<p>  4.3.2 用戶注冊的設(shè)計(jì)與實(shí)現(xiàn)19</p><p>  4.4 論壇系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)20</p><p>  4.4.1 論壇前臺系統(tǒng)主界面設(shè)計(jì)20</p><p>  4.4.2 論壇后臺管理主界面設(shè)計(jì)24</p><p><b>  5 軟件測試28</b></p>

11、<p>  5.1 測試的基本概念28</p><p>  5.2 測試的環(huán)境和目的28</p><p>  5.2.1測試的環(huán)境28</p><p>  5.2.2測試的目的28</p><p>  5.3 集成測試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)今社會是一個(gè)信息高速發(fā)展的社會,人們通過互聯(lián)網(wǎng)絡(luò)可以進(jìn)行信息的交流和共享。論壇就是一種Internet網(wǎng)上開發(fā)信息服務(wù)系統(tǒng)

13、,通過論壇用戶可以方便的實(shí)現(xiàn)信息的交換和文件的共享。開發(fā)校園計(jì)算機(jī)技術(shù)論壇系統(tǒng)的目的是給師生提供一個(gè)交流的平臺,為廣大師生提供交流經(jīng)驗(yàn)、探討問題的網(wǎng)上社區(qū)。本文從BBS系統(tǒng)的課題背景、需求分析、可行性分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)和軟件測試等方面詳細(xì)闡述了整個(gè)系統(tǒng)的開發(fā)過程,研究并實(shí)現(xiàn)了基于B/S模式的校園計(jì)算機(jī)技術(shù)論壇系統(tǒng)。本論壇系統(tǒng)借助于MyEclipse8.5的開發(fā)工具再結(jié)合動態(tài)網(wǎng)頁技術(shù)(JSP)和Mysql數(shù)據(jù)庫之下開發(fā)了這個(gè)快捷、界

14、面簡單友好、可擴(kuò)展的系統(tǒng)。本系統(tǒng)采用了目前流行的MVC三層架構(gòu),系統(tǒng)分為前臺模塊和后臺模塊,前臺功能模塊有:用戶登錄、注冊、發(fā)布帖子、回復(fù)帖子、個(gè)人信息查詢及修改等;后臺功能模塊有:欄目管理、主題管理、回復(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最早是用來公布股市價(jià)格等類信息的,當(dāng)時(shí)BBS連文件傳輸?shù)墓δ芏紱]有,而且只能在蘋果計(jì)算機(jī)上運(yùn)行。早期的BBS與一般街頭和校園內(nèi)的公告板性質(zhì)相同,只不過是

19、通過電腦來傳播或獲得消息而已。一直到個(gè)人計(jì)算機(jī)普及之后,有些人嘗試將蘋果計(jì)算機(jī)上的BBS轉(zhuǎn)移到個(gè)人計(jì)算機(jī)上,BBS才開始漸漸普及開來。近些年來,由于愛好者們的努力,BBS的功能得到了很大的擴(kuò)充。 </p><p>  校園BBS具有的一些共同的基本功能,如:登陸注冊、發(fā)表帖子、回復(fù)帖子、資料查詢、文件共享等。使同學(xué)之間可以借助BBS突破以往的封閉觀念,讓你足不出戶也能認(rèn)識新同學(xué),學(xué)習(xí)新知識,交流新想法。

20、在一些大型的校園BBS中,還可以彼此通過線上會議室討論問題交流心得。這些都是身為一個(gè)處于信息大爆炸時(shí)代的你我所不可或缺的幫手,拉近了人與人之間的距離,尤其是國際網(wǎng)絡(luò),更會令你有天涯若比鄰的感覺!除了盡情地吸收別人貢獻(xiàn)的能量 ,也可以盡情地展現(xiàn)自己的才華,慷慨地與他人分享經(jīng)驗(yàn)貢獻(xiàn)屬于自己的那一份能量,從而使整個(gè)社會充滿一種正能量。</p><p>  本文討論的是一個(gè)簡易的校園技術(shù)論壇(也就是一個(gè)校園BBS),它具

21、有BBS網(wǎng)站應(yīng)該具有的基本功能,包括注冊、登錄、發(fā)帖、讀帖、回帖、后臺管理等功能,所有操作都可以由用戶在客戶端瀏覽器中完成,而服務(wù)器中的java程序會按用戶的要求來完成對數(shù)據(jù)庫的操作,并將結(jié)果傳給Web服務(wù)器,再由Web服務(wù)器處理成jsp文件后發(fā)送到瀏覽器供游客瀏覽。</p><p>  1.2 研究目的和意義</p><p>  校園計(jì)算機(jī)技術(shù)論壇的目的是能使學(xué)校的老師和同學(xué)們及時(shí)參與到

22、論壇信息的交流過程中來;校園計(jì)算機(jī)技術(shù)論壇可以是同學(xué)們獲取專業(yè)知識、解決學(xué)習(xí)問題、交流心得體會的重要途徑。由于大學(xué)課程學(xué)習(xí)的特殊性,更多是強(qiáng)調(diào)學(xué)生自主的學(xué)習(xí)性,除了在課堂上請教老師、課間和同學(xué)們討論一些問題之外,基本沒有什么集體討論的時(shí)間。而在BBS上,同學(xué)們可以提出問題,共同討論和解決,還可以向其他老師,學(xué)長們或者學(xué)弟們請教。同時(shí)老師們可以利用BBS提供更多的知識信息;校園BBS也是大學(xué)生情感交流的重要場所。大學(xué)生們隨著年齡的增長,能

23、夠結(jié)交到的志同道合的朋友越來越少,加上學(xué)業(yè)上的壓力、社會競爭的日趨激烈,迫切需要一個(gè)傾吐、交流的空間,BBS正好給我們提供了這樣一個(gè)平臺,由于大家的年齡、學(xué)識、經(jīng)驗(yàn)都具有相同之處,因此彼此之間的交流更容易理解,BBS使得大學(xué)生的情感交流更加透明和坦誠。同時(shí)BBS還有豐富課外生活,向社會和大眾宣傳了學(xué)校等作用。</p><p>  而本人在此論壇的設(shè)計(jì)與開發(fā)過程中,能夠起到技術(shù)知識和技能的綜合運(yùn)用與鞏固,并且掌握到

24、從題目審定到網(wǎng)站功能實(shí)現(xiàn)的系統(tǒng)思維與技能實(shí)現(xiàn),為將來的工作起到一個(gè)很好的鋪墊作用。</p><p>  1.3系統(tǒng)開發(fā)環(huán)境及開發(fā)工具</p><p>  開發(fā)平臺:Windows 7 </p><p>  開發(fā)語言:Java語言</p><p>  開發(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)簡介</p><p>  B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet

26、技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過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語言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)平

27、[1]。</p><p>  B/S結(jié)構(gòu)最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展性非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個(gè)用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內(nèi)部的安全認(rèn)證(如CA證書)后,不需要人的參與,系統(tǒng)可以自動分配給用戶一個(gè)賬號進(jìn)入系統(tǒng)。</p><p>  1.3.2 MyEcli

28、pse簡介</p><p>  MyEclipse企業(yè)級工作平臺(MyEclipseEnterprise Workbench ,簡稱MyEclipse)是對EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,struts,spring,css,j

29、avascript,SQL,Hibernate等[2]。</p><p>  MyEclipse 是一個(gè)十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC數(shù)據(jù)庫

30、鏈接工具等多項(xiàng)功能??梢哉fMyEclipse是幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。</p><p>  1.3.3 MySQL數(shù)據(jù)庫簡介</p><p>  MySQL是最受歡迎的開源SQL數(shù)據(jù)庫管理系統(tǒng),它由MySQL AB開發(fā)、發(fā)布和支持。MySQL AB是一家基于MySQL開發(fā)人員的商業(yè)公司。MySQL是MySQL AB的注冊商標(biāo)。MySQL是一個(gè)快速的、多線

31、程、多用戶和健壯的SQL數(shù)據(jù)庫服務(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的最新的消息。   MySQL是開源的,開源意味著任何人都可以使用和修改該軟件,任何人都可以從Internet上下載和使用MySQL而不需要支付任何費(fèi)用。如果你愿意,你可以研究其源代碼

32、,并根據(jù)你的需要修改它。MySQL使用GPL(GNU General Public License,通用公共許可),在hpt://www.fsf.org/licenses中定義了你在不同的場合對軟件可以或不可以做什么[3]。</p><p>  1.3.4 Tomcat服務(wù)器</p><p>  Tomcat 服務(wù)器是一個(gè)免費(fè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 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器[4]。</p><p>  Tomcat 是一個(gè)小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個(gè)初學(xué)者來

34、說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。實(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簡介</p><p>  JSP是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立

35、的一種動態(tài)技術(shù)標(biāo)準(zhǔn)。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問JSP網(wǎng)頁[5]。Jsp相對于其他運(yùn)用開發(fā)技術(shù)Jsp具有很強(qiáng)的優(yōu)勢:</p><p>  (1) 一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。 </p><p>  (2) 系統(tǒng)的多平臺支持。基本上可以在所有平臺上的任意

36、環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP的局限性JSP的優(yōu)勢是顯而易見的。</p><p>  (3) 強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個(gè)巨大的生命力。</p><p>  (4) 多樣化和功能強(qiáng)

37、大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下。</p><p>  (5) 支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來支持,開發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來實(shí)現(xiàn)復(fù)雜商務(wù)功能[6]。</p><

38、;p>  1.3.6 Struts2簡介</p><p>  從數(shù)據(jù)流圖上來看,Struts2與WebWork相差不大,Struts2同樣使用攔截器作為處理(Advice),以用戶的業(yè)務(wù)邏輯控制器為目標(biāo),創(chuàng)建一個(gè)控制器代理。 控制器代理負(fù)責(zé)處理用戶請求,處理用戶請求時(shí)回調(diào)業(yè)務(wù)控制器的execute方法,該方法的返回值將決定了Struts2將怎樣的視圖資源呈現(xiàn)給用戶[7]。Struts2框架的大致處

39、理流程如下:瀏覽器發(fā)送請求,核心控制器FilterDispatcher根據(jù)請求決定調(diào)用合適的Action,WebWork的攔截器鏈自動對請求應(yīng)用通用功能?;卣{(diào)Action的execute方法,該execute方法先獲取用戶請求參數(shù),然后執(zhí)行某種數(shù)據(jù)庫操作,既可以是將數(shù)據(jù)保存到數(shù)據(jù)庫,也可以從數(shù)據(jù)庫中檢索信息。實(shí)際上,因?yàn)锳ction只是一個(gè)控制器,它會調(diào)用業(yè)務(wù)邏輯組件來處理用戶的請求。Action的execute方法處理結(jié)果信息將被輸出

40、到瀏覽器中,可以是HTML頁面、圖像,也可以是PDF文檔或者其他文檔。此時(shí)支持的視圖技術(shù)非常多,如:JSP。 </p><p>  2 需求分析和可行性分析</p><p><b>  2.1 業(yè)務(wù)描述</b></p><p>  通過對網(wǎng)上論壇的調(diào)查和查閱相關(guān)資料分析,初步認(rèn)為此系統(tǒng)的開發(fā)主要包括兩大部分論壇前臺開發(fā)和論壇后臺管理。</

41、p><p>  論壇前臺:系統(tǒng)前臺模塊提供給所有用戶使用,用戶包括注冊用戶和普通游客,二者所擁有的功能不同。普通游客只能瀏覽論壇首頁,而注冊用戶則可發(fā)表主題、瀏覽主題以及回復(fù)主題等操作。</p><p>  后臺管理:后臺管理主要由管理員使用,可對論壇中相關(guān)信息進(jìn)行管理、維護(hù),普通用戶無權(quán)使用。后臺管理主要包括用戶管理、欄目管理、主題管理、回復(fù)管理、管理員注銷等功能模塊。如下圖2.1所示為校園

42、技術(shù)論壇業(yè)務(wù)流程圖:</p><p>  圖2.1 校園技術(shù)論壇業(yè)務(wù)流程圖</p><p>  2.2 校園計(jì)算機(jī)論壇需求分析</p><p>  隨著Internet全球化普及、信息時(shí)代的急速到來,校園中上網(wǎng)人數(shù)日益增加,幾乎達(dá)到了人手一臺電腦。在這種情況下學(xué)生和老師對于網(wǎng)絡(luò)的依賴程度不斷增大,而且一些知識和信息不能及時(shí)的傳達(dá)和分享給同學(xué)和老師,校園技術(shù)論壇這時(shí)候

43、就發(fā)揮了他的作用,學(xué)生和老師可以通過校園技術(shù)論壇來發(fā)布他的信息或者一些技術(shù)上的問題,校內(nèi)外其他人也可以通過這個(gè)技術(shù)論壇來討論一些技術(shù)問題,而且也可以通過論壇這個(gè)平臺來進(jìn)行情感交流,增進(jìn)學(xué)生與學(xué)生或者學(xué)生與老師之間的感情,更可以通過論壇來發(fā)布各種學(xué)習(xí)資料的鏈接,讓同學(xué)們能夠共同進(jìn)步。在互聯(lián)網(wǎng)的廣泛運(yùn)用時(shí)代,BBS也是對外宣傳學(xué)校的一種手段,一些即將高考的高中生家長可以通過這個(gè)平臺來加深對學(xué)校的了解,從而達(dá)到招收優(yōu)秀學(xué)生的目的。</p

44、><p>  2.2.1 性能需求分析</p><p>  (1) 用戶和管理員權(quán)限按級別區(qū)分,管理員既具有用戶的權(quán)限又具有管理員的權(quán)限。</p><p>  (2) 發(fā)帖或者回帖延時(shí)審核階段保持無滯后性,使得整個(gè)論壇系統(tǒng)保持一個(gè)良好順暢的狀態(tài)。</p><p>  (3) 任何的程序功能無邏輯上的錯(cuò)誤和編譯上的錯(cuò)誤。</p>&l

45、t;p>  (4) 具有較強(qiáng)的靈活性,在多平臺移植上不會出現(xiàn)平臺的不兼容。</p><p>  (5) 由于涉及到用戶的隱私信息,所以網(wǎng)絡(luò)安全要達(dá)到國家標(biāo)準(zhǔn)。</p><p>  2.2.2 功能需求分析</p><p>  論壇一般可以劃分為兩種用戶,分別是用戶和管理員。用戶中呢又可以劃分為游客和論壇會員,游客和用戶的權(quán)限是向下覆蓋的,即上級權(quán)限覆蓋下級權(quán)限

46、,在論壇中管理員屬于上級權(quán)限,游客和用戶屬于下級權(quán)限。</p><p>  用戶相關(guān)的功能,其實(shí)就是前臺的主要功能,論壇的前臺,是用戶討論問題,交流經(jīng)驗(yàn)的平臺,主要有板塊信息的瀏覽、查看主題信息、查看作者信息、發(fā)布主題、回復(fù)帖子、用戶的登錄、用戶注冊、用戶個(gè)人信息的查看、用戶個(gè)人信息的修改、以及一些友情鏈接等。</p><p>  管理員的相關(guān)功能,其實(shí)就是后臺的主要功能,論壇的后臺,是針

47、對于管理員去操作論壇中的一些相關(guān)信息,主要有板塊的管理:管理員可以新增或者刪除某個(gè)板塊,也可以對某個(gè)板塊重新的定義版主;主題的管理:管理員可以刪除用戶發(fā)表的某個(gè)主題;回復(fù)主題的管理:管理員可以刪除某個(gè)用戶回復(fù)的帖子;用戶的管理:管理員可以對論壇的某個(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是對用戶功能用例的描述,通過用戶權(quán)限的管理允許用戶進(jìn)行信息的發(fā)布,查看和修改。</p><p><b>  表2.1用戶用例表</b></p><p>  表2.2是

49、對系統(tǒng)管理員用例的描述,對系統(tǒng)的用戶和帖子進(jìn)行管理和操作,并在系統(tǒng)運(yùn)行當(dāng)中對論壇記性監(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>  主要是對項(xiàng)

50、目的經(jīng)濟(jì)效益進(jìn)行評估,本系統(tǒng)模擬的是一個(gè)供信息科學(xué)技術(shù)學(xué)院師生交流的平臺,為廣大師生提供交流經(jīng)驗(yàn)、探討問題的網(wǎng)絡(luò)社區(qū)。但實(shí)際只是用于個(gè)人的畢業(yè)設(shè)計(jì),只是模擬,也不存在資金的流動和使用,故在經(jīng)濟(jì)上是可行的。</p><p>  2.3.2 技術(shù)可行性</p><p>  根據(jù)該系統(tǒng)所實(shí)現(xiàn)的目標(biāo)來衡量所需的技術(shù)是否具備,一般可以從硬件和軟件的性能要求上、環(huán)境條件上、操作人員水平上和數(shù)量等方面去

51、考慮和分析。</p><p>  考慮到系統(tǒng)實(shí)施的可行性,在軟件方面選擇了如今較流行的Java語言和Struts2框架來進(jìn)行網(wǎng)站前臺設(shè)計(jì)和后臺的開發(fā),使用MySQL實(shí)現(xiàn)后臺數(shù)據(jù)庫的存儲。</p><p>  在硬件方面,則選擇空間較大,只要是Inter系列及以上的計(jì)算機(jī),內(nèi)存在2G以上,硬盤在500GB以上,都可以滿足系統(tǒng)的開發(fā)需要,當(dāng)然硬件的配置越高,系統(tǒng)的開發(fā)與運(yùn)行會更流暢??紤]到如今

52、的家用或商用電腦硬件的整體配置水平,系統(tǒng)在硬件方面是可行的。</p><p>  在軟件方面,MyEclipse提供了強(qiáng)大的控件功能,所以應(yīng)用起來非常方便,技術(shù)方面比較成熟,而MySQL更是一個(gè)非常完善的數(shù)據(jù)庫,在安全性、可用性、可靠性方面都是可以信賴的,因此在技術(shù)方面是可行的。</p><p>  2.3.3 社會可行性</p><p>  隨著Internet技

53、術(shù)的飛速發(fā)展,論壇已成為人們相互溝通、交流信息的一種主要方式。在論壇上,人們可以對某一領(lǐng)域提出自己的想法和遇到的問題,隨后,論壇上的其他用戶會依據(jù)自己所學(xué)的知識、經(jīng)驗(yàn)發(fā)表意見或提出解決問題的方法。校園技術(shù)論壇大大縮短了同學(xué)與同學(xué)之間、同學(xué)與老師之間的距離,通過這個(gè)平臺學(xué)生和老師不僅可以增長自身知識還可以及時(shí)收到學(xué)校的各項(xiàng)通知,也可以進(jìn)行學(xué)習(xí)以及情感上的交流和溝通。所以說一個(gè)好的BBS論壇對于學(xué)校來說是必不可少的,這也將成為日后一種校園文

54、化的發(fā)展趨勢。</p><p><b>  3 總體設(shè)計(jì)</b></p><p>  3.1系統(tǒng)模塊總體設(shè)計(jì)</p><p>  本論壇系統(tǒng)一共分為兩個(gè)大的子模塊,每個(gè)子模塊之間雖然在表面上是相互獨(dú)立的,但是在對數(shù)據(jù)庫的訪問上是緊密相連的,每個(gè)子模塊訪問的都是本地系統(tǒng)的同一個(gè)數(shù)據(jù)庫,只是所訪問的表不同而已。每個(gè)子模塊中的模塊功能都是按照對搜集到

55、的資料進(jìn)行分析編寫的。</p><p>  本論壇系統(tǒng)功能模塊圖,如圖3.1所示。</p><p>  圖3.1系統(tǒng)功能模塊圖</p><p>  依據(jù)上述功能模塊圖的分析,系統(tǒng)的兩大子模塊主要分為系統(tǒng)前臺和系統(tǒng)后臺:</p><p>  (1) 系統(tǒng)前臺:主要面向用戶進(jìn)行操作;主要功能:用戶注冊、用戶登錄、論壇瀏覽(顯示論壇名稱,顯示論壇創(chuàng)

56、建時(shí)間)、主題瀏覽(原文瀏覽、回復(fù)文章瀏覽、作者相關(guān)信息瀏覽、回復(fù)帖子作者相關(guān)信息瀏覽)、發(fā)表主題(發(fā)表新主題)、用戶個(gè)人信息查詢和修改、安全退出。</p><p>  (2) 系統(tǒng)后臺:主要由管理員進(jìn)行各種管理操作;主要功能:用戶管理(查詢用戶,編輯用戶,刪除用戶)、欄目管理(更新版主,新增論壇,刪除欄目)、主題管理(主題查詢,主題刪除)、回復(fù)主題管理(回復(fù)文章查詢,回復(fù)文章刪除)、管理員注銷。</p&g

57、t;<p><b>  3.2 數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  由于數(shù)據(jù)庫中所保存的數(shù)據(jù)是系統(tǒng)最為核心的資源,所以在數(shù)據(jù)庫設(shè)計(jì)時(shí)一定要注意數(shù)據(jù)結(jié)構(gòu)的安全性、完整性,并發(fā)控制與恢復(fù)[8]。該系統(tǒng)采用MySQL作為后臺數(shù)據(jù)庫去存儲所有與系統(tǒng)相關(guān)的數(shù)據(jù),通過對整個(gè)校園計(jì)算機(jī)技術(shù)論壇系統(tǒng)的運(yùn)行過程和數(shù)據(jù)流程分析,設(shè)計(jì)出實(shí)際的數(shù)據(jù)庫實(shí)體,以及他們之間的關(guān)系,為后邊的數(shù)據(jù)庫邏輯結(jié)構(gòu)

58、設(shè)計(jì)打基礎(chǔ)。</p><p>  論壇系統(tǒng)信息的儲存一般是在文件或者數(shù)據(jù)庫中,相比之下數(shù)據(jù)庫要簡單高效,能對論壇進(jìn)行更好的控制,也能對資料提供一些更正和保護(hù)。所以目前流行的論壇系統(tǒng)都是采用的數(shù)據(jù)庫系統(tǒng)。</p><p>  3.2.1數(shù)據(jù)庫設(shè)計(jì)概述</p><p>  根據(jù)系統(tǒng)的需求分析和數(shù)據(jù)庫的需求分析,同時(shí)根據(jù)系統(tǒng)功能模塊圖和用例圖的分析,對系統(tǒng)數(shù)據(jù)庫進(jìn)行概念結(jié)

59、構(gòu)設(shè)計(jì)[9]。</p><p>  根據(jù)數(shù)據(jù)關(guān)系模型和數(shù)據(jù)庫關(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ù)庫的詳細(xì)設(shè)計(jì)</p><p>  3.3.1 數(shù)據(jù)庫E-R圖的設(shè)計(jì)</p><p

60、>  E-R圖是概念化地構(gòu)建實(shí)體間關(guān)系的模型,這使得它們區(qū)別于數(shù)據(jù)庫模型圖。E-R圖的理念是:項(xiàng)目所有參與者能理解E-R圖。E-R圖由不同實(shí)體類型、關(guān)系、特性和類型構(gòu)成。實(shí)體是諸如用戶的實(shí)際對象,有時(shí)更抽象,但必須有業(yè)務(wù)意義[9]。根據(jù)以上對系統(tǒng)所做的分析能夠確定,每個(gè)功能模塊可以抽象出一個(gè)或多個(gè)實(shí)體對象,例如用戶、論壇、主題、回復(fù)主題等實(shí)體對象。這些實(shí)體對象彼此聯(lián)系,并且最終被創(chuàng)建成數(shù)據(jù)表結(jié)構(gòu)。</p><p

61、>  (1) 用戶實(shí)體對象</p><p>  用戶實(shí)體包括用戶編號、用戶名、用戶簽名、用戶頭像、密碼等用戶相關(guān)屬性,用戶的實(shí)體E-R圖為:</p><p>  圖3.2 用戶實(shí)體E-R圖</p><p>  (2) 論壇實(shí)體對象</p><p>  論壇實(shí)體對象包括論壇編號、論壇名稱、版主、創(chuàng)建時(shí)間等屬性,論壇的實(shí)體E-R圖為:<

62、;/p><p>  圖3.3 論壇實(shí)體E-R圖</p><p>  (3) 主題實(shí)體對象</p><p>  主題實(shí)體包含主題編號、主題標(biāo)題、主題內(nèi)容、主題作者、發(fā)表時(shí)間、論壇編號、論壇名稱、人氣、回復(fù)人數(shù)等相關(guān)屬性,主題的實(shí)體E-R圖為:</p><p>  圖3.4 主題實(shí)體E-R圖</p><p>  (4)回復(fù)主題

63、實(shí)體對象</p><p>  回復(fù)主題實(shí)體對象包括回復(fù)主題編號、回復(fù)主題標(biāo)題、回復(fù)主題內(nèi)容、回復(fù)主題作者、回復(fù)主題時(shí)間、回復(fù)作者心情、主題編號、主題作者、主題名稱等屬性,回復(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)。一種完整的方式是對局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類

64、型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型之間是否存在聯(lián)系。若有聯(lián)系,要進(jìn)一步確定是一對多(1:n),多對多(m:n),還是一對一(1:1)的關(guān)系。還要考察一個(gè)實(shí)體類型內(nèi)部是否存在聯(lián)系,兩個(gè)實(shí)體類型之間是否存在聯(lián)系,多個(gè)實(shí)體類型之間是否存在聯(lián)系等等[9]。數(shù)據(jù)庫E-R圖如圖3.6所示。</p><p>  圖3.6數(shù)據(jù)庫E-R圖</p><p>  3.3.2 數(shù)據(jù)表的設(shè)計(jì)&l

65、t;/p><p>  由于數(shù)據(jù)庫關(guān)系到一個(gè)系統(tǒng)能不能正常的工作,所以一定要考慮到數(shù)據(jù)結(jié)構(gòu)的安全性、完整性,并發(fā)控制與恢復(fù)。本系統(tǒng)中的數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫實(shí)現(xiàn),共包括4個(gè)數(shù)據(jù)表,其結(jié)構(gòu)描述如下。</p><p><b>  表名:forum</b></p><p><b>  數(shù)據(jù)來源:論壇表</b></p>

66、<p>  表結(jié)構(gòu)如表3.1所示。</p><p>  表3.1 forum </p><p><b>  表名:user</b></p><p><b>  數(shù)據(jù)來源:用戶表</b></p><p>  表結(jié)構(gòu)如表3.2所示。</p><p><b>

67、  表3.2 user</b></p><p>  表名:response</p><p>  數(shù)據(jù)來源:回復(fù)主題表</p><p>  表結(jié)構(gòu)如表3.3所示。</p><p>  表3.3 response </p><p><b>  表名:topic</b></p>

68、<p><b>  數(shù)據(jù)來源:主題表</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)行平臺設(shè)置</p><p>  4.1.1

69、 硬件環(huán)境</p><p>  標(biāo)準(zhǔn)配置計(jì)算機(jī)一臺,內(nèi)存512M以上(最好是4G,因?yàn)殡S著論壇的發(fā)展訪問量會增多),外存容量、聯(lián)機(jī)或脫機(jī)、媒體及其存儲格式,設(shè)備的型號及數(shù)量:硬盤40G及以上、聲卡、顯卡無要求。</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ù)器并對相應(yīng)的配置文件進(jìn)行了配置,而且在本機(jī)上的配置環(huán)境變量的地方隊(duì)Java和Tomcat進(jìn)行了路徑的配置。最好有一個(gè)Java開發(fā)工具,比如MyEclipse8.5之類的,方便日后代碼的維護(hù),由于是通過瀏覽器對該論壇進(jìn)行訪問的所以還需要安裝相應(yīng)的瀏覽器(建議使用谷歌瀏覽器)。</p><p>  4.2 校園計(jì)算機(jī)技術(shù)論壇主界面設(shè)計(jì)</p><p>

71、  首頁為校園計(jì)算機(jī)技術(shù)論壇的主界面,因?yàn)樽鳛檎搲瘎傞_始是不會進(jìn)入登陸界面的只有是該論壇用戶才會選擇去登陸界面登錄,而作為一般的游客進(jìn)入本論壇時(shí)應(yīng)該先看到的就是校園技術(shù)論壇的主界面。本論壇的名稱為校園技術(shù)匯,其含義是技術(shù)都將匯聚到這個(gè)論壇,校園技術(shù)論壇首頁的文件為:index.jsp 。如圖4.1所示為首頁的組成圖:</p><p>  圖4.1系統(tǒng)首頁組成圖</p><p>  校園技術(shù)

72、論壇主界面,如圖4.2所示。</p><p>  圖4.2校園技術(shù)論壇主界面</p><p>  頁面頭上的歡迎信息和頁面底部的開發(fā)者信息在前臺每個(gè)網(wǎng)頁上顯示的都是一樣的。所以后面不再介紹了。后面基本頁面發(fā)生變化都是在中間部分發(fā)生變化。</p><p>  首頁歡迎,使用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)頁加載時(shí)就執(zhí)行該JavaScript函數(shù):<body onload=”clockon(bgclock);”></p

80、><p>  4.3 用戶登錄與注冊的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  要對論壇的各項(xiàng)進(jìn)行操作必須登陸論壇系統(tǒng),如果沒有論壇帳戶,用戶注冊是必須的。用戶命令如果是注銷,則清除用戶在頁面上的狀態(tài)信息即session值,并返回論壇首頁,如果是登錄則使用MySQL去連接到數(shù)據(jù)庫,獲取用戶輸入的帳號和密碼并查詢數(shù)據(jù)庫,將得出的結(jié)果和用戶輸入的信息做比較,如果驗(yàn)證正確,跳轉(zhuǎn)到主界面并且顯示用戶已經(jīng)登陸到系

81、統(tǒng),錯(cuò)誤將返回錯(cuò)誤信息到登陸頁面讓用戶重新輸入信息.如果用戶想注冊帳戶,則跳轉(zhuǎn)到注冊頁面,用戶填寫信息后,在提交之前頁面會檢測信息的正確性,如果各項(xiàng)信息符合要求則允許注冊,則完成帳號的注冊,將信息寫入到數(shù)據(jù)庫中,否則返回錯(cuò)誤信息,告訴用戶帳號存在,請用戶重新填寫,并完成注冊,進(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ò)誤,請重新輸入");</p><p>  return "error";</p><p><b>  }</b></p><p><b>

87、  }</b></p><p>  4.3.2 用戶注冊的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  (1) 實(shí)現(xiàn)目標(biāo)</b></p><p>  如果不是會員要先進(jìn)行注冊,點(diǎn)擊“注冊”隨后就進(jìn)入了新會員注冊主界面(圖4.7)用戶應(yīng)按照界面上的提示填寫信息,如“用戶賬號”,“密碼”,“性別”,“真實(shí)姓名”等。</p>&l

88、t;p>  (2) 用戶注冊程序流程圖介紹</p><p>  用戶填寫信息后點(diǎn)擊提交會進(jìn)行信息驗(yàn)證,如果該用戶名還沒有注冊,則會注冊成功,頁面發(fā)生跳轉(zhuǎn),反之用戶名已經(jīng)注冊會提示“該用戶名已存在,請重新輸入!”,重新輸入用戶信息。用戶注冊的程序流程圖如圖4.6所示。</p><p>  圖4.6用戶注冊流程圖</p><p>  (3) 注冊界面,如圖4.7所

89、示。</p><p>  圖4.7用戶注冊界面</p><p>  4.4 論壇系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  4.4.1 論壇前臺系統(tǒng)主界面設(shè)計(jì)</p><p><b>  (1) 實(shí)現(xiàn)目標(biāo)</b></p><p>  論壇前臺系統(tǒng),用戶進(jìn)入主頁面后,上方是論壇logo,有登陸、注冊、用戶

90、名設(shè)置為一個(gè)超鏈接形式可以鏈接到用戶個(gè)人信息界面,用戶可以查看個(gè)人信息和修改個(gè)人信息,還有論壇在線系統(tǒng)時(shí)間用戶可以查看當(dāng)前時(shí)間,還可以瀏覽各個(gè)欄目列表以及欄目創(chuàng)建時(shí)間和主題數(shù)等相關(guān)信息。</p><p>  論壇前臺系統(tǒng)主界面,如圖4.8所示:</p><p>  圖4.8 論壇前臺系統(tǒng)主界面</p><p><b>  (2) 設(shè)計(jì)思路</b>

91、;</p><p>  用戶可以通過點(diǎn)擊各個(gè)板塊名稱進(jìn)入主版界面,便可瀏覽用戶所發(fā)主題,并能夠自己選擇自己喜歡的板塊發(fā)表主題等操作,單擊主題名稱后便進(jìn)入主題頁面瀏覽主題內(nèi)容,如果是用戶能夠進(jìn)行瀏覽以及主題的回復(fù)等操作,如果是游客那么只能瀏覽主題內(nèi)容和一些回復(fù)內(nèi)容,若游客強(qiáng)行去回復(fù)帖子或者發(fā)表主題,頁面就會跳轉(zhuǎn)到登錄界面讓游客登錄若不是用戶就必須選擇注冊鏈接進(jìn)入注冊界面進(jìn)行注冊,成為論壇會員才可以發(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、會回復(fù)該主題一些自己的看法和遇到的問題,若為游客那么該功能將不能使用回復(fù)框?qū)⒆優(yōu)榛疑募床荒芫庉嬋魏蝺?nèi)容。回復(fù)貼子的文件為response.jsp。</p><p>  瀏覽帖子的回復(fù)和回帖是顯示在同一個(gè)頁面上的這樣方便及時(shí)的對某個(gè)主題進(jìn)行回復(fù)。使用HTML語言的<include>標(biāo)簽引入response.jsp頁面組合成一個(gè)新的頁面?;緦?shí)現(xiàn)在當(dāng)前頁回復(fù)的顯示,在當(dāng)前的頁面上能夠顯示。運(yùn)用了Stru

94、ts2+Json+Ajax+Jsp,通過Ajax進(jìn)行異步交互,使用Json顯示返回的數(shù)據(jù)。DoResponse.java處理請求的代碼如下:</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>  頁面上采用的Ajax異步請求代碼如下:</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'>&nbsp;</td><td width='8%'&g

108、t;&nbsp;</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'>&nbsp;</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'>&nbsp;</td><tdwidth='10%'>&nbsp;</td></tr></table></td></tr>");</p><p>  }, 'json');</p><p><b>  }</

116、b></p><p>  4.4.2 論壇后臺管理主界面設(shè)計(jì)</p><p>  此頁面主要的功能就是通過管理員的操作來實(shí)現(xiàn)對板塊,主題,回復(fù),用戶等進(jìn)行管理和維護(hù)。管理員對板塊的管理,可以增設(shè)新的板塊,刪除已存在的板塊,給板塊指定版主等;對主題專區(qū)的管理體現(xiàn)在對不符合論壇規(guī)定的主題進(jìn)行刪除操作;同樣可以刪除不符合論壇規(guī)定的回復(fù);對用戶的管理可以實(shí)現(xiàn)在用戶中進(jìn)行模糊查詢,刪除用戶以及

117、編輯用戶,如圖 4.12論壇后臺登錄界面,圖4.13論壇后臺板塊管理界面,圖4.14 論壇后臺用戶管理界面所示。</p><p>  圖 4.12論壇后臺登錄界面</p><p>  圖4.13論壇后臺板塊管理界面</p><p>  圖4.14 論壇后臺用戶管理界面</p><p>  在論壇后臺管理上本系統(tǒng)采用了HTML的Frameset

118、框架組成一個(gè)管理頁面。這是一種比較常用的方式。左邊框架是顯示功能界面,右邊框架顯示主要內(nèi)容界面[10]。但是存在一個(gè)很大的問題。Struts2的 struts.xml 不支持HTML的frameset框架。頁面發(fā)送請求的信息如果直接跳轉(zhuǎn)Frameset 的框架頁面里面的子頁面是接收不到參數(shù),如果直接跳轉(zhuǎn)到子頁面,頁面就顯示不出框架的效果了,通過查閱資料和請教一些有經(jīng)驗(yàn)的同學(xué),最后終于找到了解決辦法那就是把需要傳送的值存在session里

119、面,頁面通過session來獲取到傳遞的值,這樣就可以順利的實(shí)現(xiàn)各個(gè)功能了。</p><p>  (1) 板塊管理:因?yàn)閙ain.jsp的版塊較少,所以在這里沒有做對應(yīng)的分頁處理。但在該板塊也有一個(gè)亮點(diǎn)一旦點(diǎn)擊新增時(shí)會彈出一個(gè)div塊顯示一個(gè)小界面?;緦?shí)現(xiàn)原理是,在頁面載入的是時(shí)候?qū)⒛?lt;div>塊隱藏,在點(diǎn)擊新增按鈕或超鏈接觸發(fā)事件的時(shí)候顯示。主要通過CSS+div+JavaScript,初始時(shí)隱藏

120、狀態(tài)。</p><p>  (2) 專區(qū)管理:topicmanager.jsp;由于Struts2的 struts.xml 不支持HTML的框架。本版塊放棄了Struts2 的優(yōu)越性,在遍歷顯示版塊主題的時(shí)候。沒有使用<s:intertor>標(biāo)簽,而是使用自定義標(biāo)簽技術(shù)開發(fā)了<app:displayTopic/>標(biāo)簽。連分頁操作都是在JSP頁面 直接寫Java代碼。這樣雖然違背了MVC模式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論