版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 本科畢業(yè)論文(設(shè)計(jì))題目:基于JAVA的BBS論壇系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 姓 名: 完圓圓 學(xué) 號(hào): 1142151221 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 院 系: 信息工程學(xué)院 指導(dǎo)老師: 朱珍元 職稱學(xué)歷: 講師/碩士 完成時(shí)間: 2015年5月 教務(wù)處制安徽新華學(xué)院本科畢業(yè)論文(設(shè)計(jì))獨(dú)創(chuàng)承諾書本人按照畢業(yè)論文(設(shè)計(jì))進(jìn)度計(jì)劃積極開展實(shí)驗(yàn)(調(diào)查)研究活動(dòng),實(shí)事求是地做好實(shí)驗(yàn)(調(diào)查)記錄,所呈交的畢業(yè)論文(設(shè)計(jì))是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所知,除文中特別加以標(biāo)注引用參考文獻(xiàn)資料外,論文(設(shè)計(jì))中所有數(shù)據(jù)均為自己研究成果,不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果。與我一同
2、工作的同志對(duì)本研究所做的工作已在論文中作了明確說明并表示謝意。畢業(yè)論文(設(shè)計(jì))作者簽名: 日期: 基于JAVA的BBS論壇系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要在如今的時(shí)代論壇已經(jīng)成為互聯(lián)網(wǎng)上的一個(gè)重要平臺(tái),它主要的功能是為用戶提供一個(gè)互相交流、互相學(xué)習(xí)、互相幫助的平臺(tái)。用戶在論壇上可以獲得各種服務(wù),發(fā)表信息,討論話題,聊天等等。它使人與人之間的溝通、交流變得更加容易,尤其是在IT領(lǐng)域,我們只有能夠很好的交流,技術(shù)才會(huì)一步一步的提升。因此,掌握如何設(shè)計(jì)并開發(fā)一個(gè)論壇有著重要而且深遠(yuǎn)的意義。本文基于JAVA技術(shù)的網(wǎng)上論壇系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。設(shè)計(jì)包括數(shù)據(jù)庫設(shè)計(jì),系統(tǒng)架構(gòu)設(shè)計(jì),以及前端用戶界面設(shè)計(jì)。系統(tǒng)中普通用戶可以
3、完成用戶的登錄,退出,發(fā)帖,跟帖,注冊(cè),修改本人帖子,刪除本人帖子,修改密碼等功能。管理員可以對(duì)版塊進(jìn)行維護(hù),對(duì)帖子和用戶進(jìn)行管理。系統(tǒng)采用了MVC設(shè)計(jì)模式,程序上業(yè)務(wù)邏輯、控制邏輯和表現(xiàn)邏輯上實(shí)現(xiàn)了分離。系統(tǒng)結(jié)構(gòu)清晰,具有良好的可讀性、可擴(kuò)展性和可維護(hù)性。該系統(tǒng)使用了Struts框架,表現(xiàn)層運(yùn)用了JSP網(wǎng)頁技術(shù),頁面用到了CSS以及JavaScript技術(shù)。在文字方面利用了CKEditor框架。注冊(cè)頁面通過AJAX異步傳輸技術(shù)來完成用戶名的驗(yàn)證。系統(tǒng)使用了MyEclipse開發(fā)工具,運(yùn)用Hibernate連接后臺(tái)MySQL數(shù)據(jù)庫,界面設(shè)計(jì)人性化,操作簡(jiǎn)單。關(guān)鍵字:論壇;Struts框架;Hi
4、bernate框架;JAVA技術(shù);MySQL數(shù)據(jù)庫Design and implementation of JAVAbased on theBBSForumAbstractIn todays era of the forum has become an important platform on the Internet, its main function is to provide a mutual exchange, mutual learning, mutual help platform for users. Users can get all kinds of informatio
5、n services, in the BBS platform release information discussions, chat and so on. It makes the communication between people, communication becomes easier, especially in the field of IT, we were only able to communicate well, technology will be promoted step by step. Therefore, how to design and has i
6、mportant and far-reaching significance in the development of a forum.This forum is the design and implementation of online forum system based on JAVA technology. The design includes the system architecture design, database design, as well as the front-end user interface design. Common user system ca
7、n complete the user login, exit, post, reply, registration, modify the post, delete my post, modify passwords and other functions. The administrator can manage the board, management of Posts and users.The system uses the MVC design pattern, the program realizes the separation of the business logic,
8、logic and presentation logic control. The system structure is clear, has good readability, expansibility and maintainability. The system uses Struts framework, presentation layer using JSP technology Webpage, page used the CSS and JavaScript technology. Using the CKEditor framework in the text. The
9、registration page to complete user verification by the asynchronous transmission technology AJAX. The system uses MyEclipse development tools, use Hibernate to connect MySQL database, interface design, user-friendly, simple operation.Keywords: BBS;Struts Frame;Hibernate Frame;JAVA Technology;DBMySQL
10、目 錄 TOC o 1-3 h z u HYPERLINK l _Toc419124140 1 緒 論 PAGEREF _Toc419124140 h 1 HYPERLINK l _Toc419124141 1.1 課題開發(fā)背景及意義 PAGEREF _Toc419124141 h 1 HYPERLINK l _Toc419124142 1.2 國內(nèi)外現(xiàn)狀 PAGEREF _Toc419124142 h 1 HYPERLINK l _Toc419124143 1.3 研究內(nèi)容和目標(biāo) PAGEREF _Toc419124143 h 2 HYPERLINK l _Toc419124144 2 開發(fā)
11、平臺(tái)與主要技術(shù) PAGEREF _Toc419124144 h 4 HYPERLINK l _Toc419124145 2.1 開發(fā)平臺(tái) PAGEREF _Toc419124145 h 4 HYPERLINK l _Toc419124146 PAGEREF _Toc419124146 h 4 HYPERLINK l _Toc419124147 PAGEREF _Toc419124147 h 4 HYPERLINK l _Toc419124148 PAGEREF _Toc419124148 h 5 HYPERLINK l _Toc419124149 2.14 MySQL PAGEREF _Toc
12、419124149 h 5 HYPERLINK l _Toc419124150 2.2 主要技術(shù) PAGEREF _Toc419124150 h 6 HYPERLINK l _Toc419124151 PAGEREF _Toc419124151 h 6 HYPERLINK l _Toc419124152 模型 PAGEREF _Toc419124152 h 6 HYPERLINK l _Toc419124153 、Hibernate、AJAX PAGEREF _Toc419124153 h 7 HYPERLINK l _Toc419124154 3 需求分析 PAGEREF _Toc41912
13、4154 h 8 HYPERLINK l _Toc419124155 3.1 項(xiàng)目背景 PAGEREF _Toc419124155 h 8 HYPERLINK l _Toc419124156 3.2 功能概述 PAGEREF _Toc419124156 h 8 HYPERLINK l _Toc419124157 功能結(jié)構(gòu) PAGEREF _Toc419124157 h 8 HYPERLINK l _Toc419124158 功能描述 PAGEREF _Toc419124158 h 9 HYPERLINK l _Toc419124159 3.3 系統(tǒng)用例 PAGEREF _Toc41912415
14、9 h 9 HYPERLINK l _Toc419124160 4 總體設(shè)計(jì) PAGEREF _Toc419124160 h 11 HYPERLINK l _Toc419124161 4.1 數(shù)據(jù)庫設(shè)計(jì) PAGEREF _Toc419124161 h 11 HYPERLINK l _Toc419124162 圖 PAGEREF _Toc419124162 h 11 HYPERLINK l _Toc419124163 表的設(shè)計(jì) PAGEREF _Toc419124163 h 12 HYPERLINK l _Toc419124164 4.2 時(shí)序圖 PAGEREF _Toc419124164 h
15、14 HYPERLINK l _Toc419124165 5 詳細(xì)設(shè)計(jì) PAGEREF _Toc419124165 h 16 HYPERLINK l _Toc419124166 5.1 系統(tǒng)模式 PAGEREF _Toc419124166 h 16 HYPERLINK l _Toc419124167 5.2 控制層的設(shè)計(jì) PAGEREF _Toc419124167 h 16 HYPERLINK l _Toc419124168 5.3 業(yè)務(wù)層的設(shè)計(jì) PAGEREF _Toc419124168 h 17 HYPERLINK l _Toc419124169 5.4 持久層的設(shè)計(jì) PAGEREF _T
16、oc419124169 h 18 HYPERLINK l _Toc419124170 5.5 權(quán)限設(shè)計(jì) PAGEREF _Toc419124170 h 19 HYPERLINK l _Toc419124171 6 系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc419124171 h 20 HYPERLINK l _Toc419124172 6.1 運(yùn)行環(huán)境的搭建 PAGEREF _Toc419124172 h 20 HYPERLINK l _Toc419124173 6.2 模塊演示 PAGEREF _Toc419124173 h 20 HYPERLINK l _Toc419124174 后臺(tái)操作 PAG
17、EREF _Toc419124174 h 20 HYPERLINK l _Toc419124175 前臺(tái)操作 PAGEREF _Toc419124175 h 22 HYPERLINK l _Toc419124176 7 測(cè) 試 PAGEREF _Toc419124176 h 25 HYPERLINK l _Toc419124177 7.1 測(cè)試方案 PAGEREF _Toc419124177 h 25 HYPERLINK l _Toc419124178 單元測(cè)試 PAGEREF _Toc419124178 h 25 HYPERLINK l _Toc419124179 7.2 測(cè)試用例 PAGE
18、REF _Toc419124179 h 26 HYPERLINK l _Toc419124180 8 總結(jié)與展望 PAGEREF _Toc419124180 h 28 HYPERLINK l _Toc419124181 致 謝 PAGEREF _Toc419124181 h 29 HYPERLINK l _Toc419124182 參考文獻(xiàn) PAGEREF _Toc419124182 h 301 緒 論1.1 課題開發(fā)背景及意義Java屬于一種面向?qū)ο蟮某绦蛘Z言,由于能夠跨平臺(tái)的優(yōu)點(diǎn),使得Java從開發(fā)以來發(fā)展特別迅速,尤其是在網(wǎng)絡(luò)方面的發(fā)展。網(wǎng)上論壇系統(tǒng)是網(wǎng)絡(luò)常見的一個(gè)應(yīng)用,用于網(wǎng)絡(luò)用戶的信
19、息交流。如:JAVA開發(fā)者論壇。用戶可以通過系統(tǒng),在論壇里發(fā)布自己的一些想法,本論壇其他的用戶可以對(duì)這個(gè)想法進(jìn)行評(píng)論或發(fā)表自己的想法。為了把所學(xué)的JAVA知識(shí)在實(shí)際中得到運(yùn)用,同時(shí)深刻的去體會(huì)網(wǎng)絡(luò)的運(yùn)作,故選擇了基于JAVA的BBS論壇系統(tǒng)作為畢業(yè)設(shè)計(jì)。1.2 國內(nèi)外現(xiàn)狀自從進(jìn)入二十一世紀(jì),計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用迅速發(fā)展,網(wǎng)絡(luò)應(yīng)用系統(tǒng)將向更深和更寬的方向發(fā)展。以前的應(yīng)用軟件正在消失在我們眼前,取而代之的是支持在線、支持各種信息傳輸(多媒體)的新生代網(wǎng)絡(luò)應(yīng)用,在目前網(wǎng)絡(luò)軟件大概存在著兩種不同的派系,一種就是客戶端服務(wù)器的C/S結(jié)構(gòu)網(wǎng)絡(luò)系統(tǒng),這種軟件的結(jié)構(gòu)嚴(yán)謹(jǐn),能夠高效率運(yùn)行,給服務(wù)器端壓力小。,安全性較
20、好等優(yōu)點(diǎn),在局域網(wǎng)中被廣泛運(yùn)用。另一種就是本畢業(yè)設(shè)計(jì)采用的,就是瀏覽器服務(wù)器的的B/S結(jié)構(gòu)網(wǎng)絡(luò)系統(tǒng),它的特點(diǎn)是用戶的操作系統(tǒng)只需要有瀏覽器軟件作為媒介,它的優(yōu)點(diǎn)是加快了軟件開發(fā)的速度,客戶端的限制變小、也消除了地域的限制,減少了網(wǎng)絡(luò)傳輸量,局域網(wǎng)可以方便使用,而且網(wǎng)絡(luò)上也能使用,而且只需較小的投資就能得到較好的效果,用戶方不需要對(duì)服務(wù)器進(jìn)行投資,因此受到了越來越多單位的喜愛。網(wǎng)絡(luò)最早是美國國防部高級(jí)研究計(jì)劃局的前身ARPA建立的ARPAnet,網(wǎng)絡(luò)于1969年在美國投入使用。自從60年代以來,ARPA就開始為美國的一些大學(xué)的計(jì)算機(jī)專業(yè)和一些個(gè)人的公司提供資助經(jīng)費(fèi),從而促進(jìn)分組交換技術(shù)的計(jì)算機(jī)網(wǎng)
21、絡(luò)的研究。1968年,ARPAnet網(wǎng)絡(luò)項(xiàng)目被ARPA立項(xiàng),開發(fā)人員主要為了以下幾點(diǎn)努力:網(wǎng)絡(luò)在出現(xiàn)故障的情況下仍然可以維持正常工作,如果國家發(fā)生戰(zhàn)爭(zhēng),網(wǎng)絡(luò)的某些部分遭受攻擊而癱瘓無法工作,即使這樣網(wǎng)絡(luò)也能夠通過其它完好部分從而維持正常通信。1986年,世界第一次有了網(wǎng)絡(luò)也就是NSFnet,他是美國的5個(gè)超級(jí)計(jì)算機(jī)被美國的網(wǎng)絡(luò)技術(shù)人員連接了起來,并且實(shí)現(xiàn)了地區(qū)網(wǎng)絡(luò)的支持。1988年,NSFnet替代ARPAnet成為網(wǎng)絡(luò)的主要傳輸媒介。NSFnet是非常成功的TCP/IP技術(shù)。1989年,由于ARPAnet的解散,網(wǎng)絡(luò)從軍用轉(zhuǎn)向民用,從此網(wǎng)絡(luò)飛速的發(fā)展起來?!熬W(wǎng)站”是如今網(wǎng)絡(luò)上出現(xiàn)的一種新興媒
22、介,通過網(wǎng)絡(luò)使其已經(jīng)成為一個(gè)實(shí)時(shí)的,大數(shù)據(jù)的信息傳播方式。它主要是通過電腦,以及覆蓋全球的網(wǎng)絡(luò),它沒有國家限制,不分種族,時(shí)時(shí)刻刻地為人們提供各種信息。目前,人們已近開始把網(wǎng)站融入到自己的生活之中,它是新型的新聞媒體,以“分享、公開、公正、創(chuàng)造、國際化”為特性的文明網(wǎng)絡(luò)也已逐漸成為了這個(gè)時(shí)代的標(biāo)志,人們?cè)絹碓筋l繁的通過網(wǎng)絡(luò)獲取各種信息,通過網(wǎng)絡(luò)在網(wǎng)站上發(fā)表自己對(duì)自己所處社會(huì)以及對(duì)未來生活期待。隨著網(wǎng)絡(luò)的普及,論壇作為互聯(lián)網(wǎng)上的一種應(yīng)用,在網(wǎng)絡(luò)上扮演了一個(gè)很重要的角色。隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,論壇中內(nèi)容越來越多,同時(shí)也受到廣大網(wǎng)民的喜愛,因此商業(yè)網(wǎng)站對(duì)論壇建設(shè)也逐漸重視起來,他們?yōu)榫W(wǎng)民提供了一
23、個(gè)交流的平臺(tái),同時(shí)在線服務(wù)技術(shù)也在論壇中發(fā)展了起來。1.3 研究內(nèi)容和目標(biāo)如今BBS系統(tǒng)主要是為注冊(cè)用戶提供一個(gè)平臺(tái),用戶可以通過網(wǎng)絡(luò)登陸論壇,在論壇上發(fā)表帖子及觀點(diǎn)、回復(fù)帖子、閱讀帖子,學(xué)習(xí)自己想學(xué)的知識(shí)。C/S結(jié)構(gòu)是所有計(jì)算機(jī)專業(yè)學(xué)生都知道的軟件體系結(jié)構(gòu),它是將任務(wù)合理分配給客戶端和服務(wù)器端,通過此方法來降低系統(tǒng)的通訊開銷,從而達(dá)到充分利用到兩端硬件環(huán)境的優(yōu)勢(shì)。這屬于早期的大多數(shù)軟件系統(tǒng)的設(shè)計(jì)標(biāo)準(zhǔn)。本系統(tǒng)的目的是研究B/S結(jié)構(gòu),研究只需通過瀏覽器就可以實(shí)現(xiàn),在用戶前端完成用戶可視化界面展示,在服務(wù)器端實(shí)現(xiàn)主要的功能,形成我們所說的瀏覽器服務(wù)器結(jié)構(gòu)。研究B/S結(jié)構(gòu)是如何利用了不斷發(fā)展的瀏覽器
24、,結(jié)合瀏覽器所支持的各種語言以及新出現(xiàn)的ActiveX技術(shù),讓用戶只需通過操作系統(tǒng)的瀏覽器就能將原來需要軟件才能實(shí)現(xiàn)的功能簡(jiǎn)單的實(shí)現(xiàn),B/S結(jié)構(gòu)在目前也是網(wǎng)絡(luò)技術(shù)中最受歡迎一種結(jié)構(gòu)?,F(xiàn)今Windows操作系統(tǒng)已經(jīng)很普及瀏覽器的安裝也非常方便,這種結(jié)構(gòu)也越來越變成軟件編成首選的體系結(jié)構(gòu)。課題研究的目標(biāo)是將所學(xué)的知識(shí)運(yùn)用于實(shí)踐,結(jié)合BBS系統(tǒng)實(shí)際需要,采用B/S結(jié)構(gòu)來實(shí)現(xiàn)BBS的基本功能,如發(fā)帖,回帖,用戶登錄,用戶注冊(cè)等。2 開發(fā)平臺(tái)與主要技術(shù)2.1 開發(fā)平臺(tái) MyEclipseMyEclipse是在eclipse 基礎(chǔ)上加上自己的插件開發(fā)而成的功能強(qiáng)大的企業(yè)級(jí)集成開發(fā)環(huán)境,主要用于Java、J
25、ava EE以及移動(dòng)應(yīng)用的開發(fā)。MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持相當(dāng)不錯(cuò)。MyEclipse是一個(gè)企業(yè)級(jí)開發(fā)平臺(tái)工具,它是對(duì)EclipseIDE的功能進(jìn)行了擴(kuò)展,使用MyEclipe可以簡(jiǎn)單、方便的實(shí)現(xiàn)JavaEE項(xiàng)目的開發(fā)、部署以及開發(fā)完成后對(duì)軟件的整合使我們工作效率得到了很大的提高。MyEclipse簡(jiǎn)單的說是集成了各種插件的JavaEE,它不但包括JavaEE的各種功能,而且支持各種web開發(fā)語言,是一個(gè)開發(fā)軟件和網(wǎng)站的方便快捷的Eclipse插件的集合。由于MyEclipse這些優(yōu)點(diǎn),所以系統(tǒng)選用了MyEclipse作為開發(fā)工具,這給系統(tǒng)的開
26、發(fā)帶來了許多的便捷。 TomcatJakarta項(xiàng)目中的一個(gè)主要項(xiàng)目就是Tomcat它是Apache軟件基金會(huì)支持,是由Apache、Sun和一些公司及個(gè)人共同開發(fā)的。由于有了Sun 的參與和支持,目前的Servlet 和JSP 規(guī)范在Tomcat 中得到體現(xiàn),Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 規(guī)范1。因?yàn)門omcat具有先進(jìn)的技術(shù)和穩(wěn)定的性能,如今深受Java開發(fā)者的親睞并且開發(fā)商大多也使用它,在目前的應(yīng)用服務(wù)器市場(chǎng)廣泛使用。目前最新版本是8.0。Tomcat屬于輕量級(jí)的Web應(yīng)用服務(wù)器,它對(duì)所有人和公司都是免費(fèi)的,它被普遍使用在中小型系統(tǒng)和訪問量不是很大的
27、網(wǎng)站,JSP程序開發(fā)和調(diào)試一般選擇Tomcat。對(duì)于剛開始的接觸Tomcat的學(xué)習(xí)者來說,Apache 服務(wù)器只要在電腦上做好正確的配置,就可利用它響應(yīng)頁面的請(qǐng)求。事實(shí)Tomcat 是對(duì)Apache 服務(wù)器的一個(gè)擴(kuò)展,但是他可以自己獨(dú)立運(yùn)行,Tomcat是一個(gè)單獨(dú)運(yùn)行的Apache 獨(dú)立進(jìn)程。實(shí)際上Tomcat 是運(yùn)行JSP 頁面和Servlet類。另外,Tomcat和其他一些Web應(yīng)用服務(wù)器一樣,它也可以處理HTML頁面的功能,Tomcat相當(dāng)于一個(gè)Servlet和JSP容器,Tomcat的默認(rèn)模式就是獨(dú)立的Servlet容器1。在處理靜態(tài)HTML的能力Apache服務(wù)器要比Tomcat出色
28、。 JDKJDK是Java開發(fā)人員必須要使用的開發(fā)平臺(tái)。從Java推出到現(xiàn)在,JDK幾乎已近被所有Java開發(fā)人員所使用。Java平臺(tái)主要就是JDK,Java運(yùn)行環(huán)境所需要的也是JDK,開發(fā)Java所需的工具和Java類基本都存在于JDK中。只有內(nèi)置了某個(gè)版本的JDK這樣Java應(yīng)用服務(wù)器才能夠運(yùn)行起來。所以要學(xué)會(huì)Java就必須掌握J(rèn)DK。目前開發(fā)使用的JDK大多是Sun公司開發(fā)的JDK,其實(shí)還有其他的JDK,有的公司和組織都開發(fā)了屬于自己的JDK,但Sun的JDK是運(yùn)用最廣泛的。自從JDK從5.0后加入了許多強(qiáng)大的功能比如說泛型,JDK版本信息就取消繼承以前1.2,1.3,1.4的版本,從5
29、.0,6.0開始了。從6.0開始,程序的開發(fā)效率得到了極大地提高,尤其是在可視化應(yīng)用方面2-4。JDK是使用Java來編寫的,在官網(wǎng)中下載的安裝包安裝后有src.zip的壓縮文件,里面包含了所有JDK的源代碼。它是一個(gè)寫Java程序的開發(fā)環(huán)境。本系統(tǒng)在開發(fā)的過程中選用的是JDK1.7版本。2.14 MySQLMySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典 MySQLAB 公司開發(fā),目前屬于 Oracle 公司。MySQL 最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在 WEB 應(yīng)用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管
30、理系統(tǒng)) 應(yīng)用軟件之一1。MySQL 是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL 所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發(fā)環(huán)境。2.2 主要技術(shù)JSP全名為Java Server Pages,中文名叫java服務(wù)器頁面,其根本是一個(gè)簡(jiǎn)化的Servlet設(shè)計(jì),它是由Sun Mi
31、crosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件,后綴名為(*.jsp)。 用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行4-5。它實(shí)現(xiàn)了Html語法中的java擴(kuò)張(以 形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的。通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP技術(shù)使用Java編程語言編寫類XML的tags和script
32、lets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。JSP是一種動(dòng)態(tài)頁面技術(shù),它的主要目的是將表示邏輯從Servlet中分離出來。模型隨著網(wǎng)絡(luò)的飛速發(fā)展,算法越來越復(fù)雜,客戶端需要的功能越來越強(qiáng)大,這使客戶機(jī)變得無法滿足需求,所以系統(tǒng)和商業(yè)分離了。單獨(dú)形成一部分,這樣三層結(jié)構(gòu)產(chǎn)生了。其中層是邏輯上的劃分。三層體系結(jié)構(gòu)是將整個(gè)系統(tǒng)劃分表現(xiàn)層(Presentation layer)、業(yè)務(wù)邏輯層(Business layer)、數(shù)據(jù)持久層(Persistence layer),三個(gè)層次的每一層在處理程序上有各自明確的任務(wù),在功能實(shí)現(xiàn)上有清晰的區(qū)分,各層與其余層分離,但各層之間存有通信接口6-10。MVC結(jié)構(gòu)出現(xiàn)
33、對(duì)網(wǎng)站開發(fā)的影響是巨大的,它促進(jìn)了人們的創(chuàng)新出了各種各樣的設(shè)計(jì)思想,同時(shí)也出現(xiàn)了各種方便的開發(fā)框架。Struts可以使Web應(yīng)用程序混合使用JSP和Servlet的優(yōu)點(diǎn)來建立可擴(kuò)展的應(yīng)用。Struts解決了用JSP或Servlet開發(fā)Web應(yīng)用程序時(shí)遇到的萬兒難題。以前沒有學(xué)習(xí)Struts時(shí)需要寫大量的Servlet代碼和許多XML的配置,才可以通過前端頁面將數(shù)據(jù)傳輸?shù)胶蠖颂幚砗螅詈蠓祷卣?qǐng)求頁面地址8-9。學(xué)習(xí)Struts后只需要進(jìn)行少量的配置就可以實(shí)現(xiàn)原來的功能,本系統(tǒng)使用了Struts來控制網(wǎng)頁的顯示,簡(jiǎn)單而清晰的條理讓開發(fā)效率變得更加高效。Struts在Java服務(wù)器端實(shí)現(xiàn)了MVC設(shè)計(jì)
34、模式,在創(chuàng)建Web應(yīng)用程序時(shí)能容易地分離表示層和業(yè)務(wù)數(shù)據(jù)層,這就解決了JSP帶來的問題。在本系統(tǒng)中Hibernate也是一個(gè)重要的角色,它使我們后臺(tái)連接數(shù)據(jù)庫變的方便而且利于擴(kuò)展,如果系統(tǒng)想在其他數(shù)據(jù)庫中運(yùn)行的話,我們只需在數(shù)據(jù)庫中創(chuàng)建好數(shù)據(jù)庫,然后將Hibernate的配置文件中數(shù)據(jù)庫名稱、jar包以及用戶名密碼進(jìn)行修改就可以運(yùn)行了11-14。使用Hibernate我們不需要自己建表我們只需將各個(gè)JavaBean字段的關(guān)系寫入配置文件后,Hibernate就能夠自動(dòng)建表。Hibernate的主要作用就是管理對(duì)象之間的關(guān)系,然后通過HQL語句對(duì)數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行管理在以前用戶注冊(cè)只有將數(shù)據(jù)提交到
35、后臺(tái)驗(yàn)證數(shù)據(jù)庫中有沒有相同的數(shù)據(jù),最后將結(jié)果返回到頁面上顯示才能夠知道用戶名是否重復(fù),在這個(gè)系統(tǒng)中用到了現(xiàn)在較為流行的AJAX技術(shù),這項(xiàng)技術(shù)在輸入數(shù)據(jù)后填寫下個(gè)數(shù)據(jù)時(shí)會(huì)觸發(fā)JS事件,JS就會(huì)將請(qǐng)求發(fā)個(gè)服務(wù)器然后取出想要的數(shù)據(jù),在填寫其他信息時(shí)用戶就能夠知道能否填寫某些信息這使服務(wù)器和瀏覽器的數(shù)據(jù)交換大量減少,讓用戶感覺到網(wǎng)站響應(yīng)速度很快。3 需求分析3.1 項(xiàng)目背景當(dāng)今網(wǎng)絡(luò)技術(shù)逐漸滲入社會(huì)生活各個(gè)層面,隨著互聯(lián)網(wǎng)的普及,人們?cè)诰W(wǎng)上的活動(dòng)變得越來越豐富,在網(wǎng)上的交流也越來越平凡。BBS論壇分為很多類,一般一個(gè)論壇的用戶都有相同的愛好,而且論壇對(duì)所有人都是不收費(fèi)的。在論壇中由于用戶很多,所以在用戶
36、提出一些話題時(shí)基本上都有人為你解答和討論。在論壇里,人們消除了時(shí)間空間的限制,用戶不必?fù)?dān)心個(gè)人信息的泄露,論壇中的注冊(cè)用戶都可以發(fā)表自己的話題和對(duì)其他用戶的話題提出自己的看法,所有用戶都是平等的,可以隨意的討論自己想討論的不違法的話題。因此BBS網(wǎng)上論壇系統(tǒng)有著廣闊的市場(chǎng)背景。3.2 功能概述在本系統(tǒng)中我將其分為3個(gè)部分,分別為:用戶的管理、版塊的管理、帖子的管理。帖子的管理又分為發(fā)表帖子,回復(fù)帖子,修改帖子,刪除帖子;用戶的管理又分為登錄,注冊(cè),退出,修改信息的操作;版塊的管理又分為添加版塊,修改版塊,刪除版塊操作。系統(tǒng)的功能結(jié)構(gòu)圖如圖3.1所示:基于JAVA的BBS論壇帖子管理刪除版塊修改
37、版塊添加版塊信息修改用戶退出用戶登錄用戶注冊(cè)刪除帖子修改帖子發(fā)表帖子版塊管理用戶管理圖3.1 系統(tǒng)功能結(jié)構(gòu)圖在本論壇系統(tǒng)中是由兩個(gè)小系統(tǒng)而組成,一個(gè)是前臺(tái)用戶系統(tǒng),另一個(gè)是后臺(tái)管理系統(tǒng)。主要包括:版塊的管理、用戶的管理、帖子的管理、三個(gè)功能模塊。管理員在后臺(tái)版塊管理中具有的操作是添加版塊,修改版塊,刪除版塊,添加子版塊,修改子版塊,刪除子版塊,但普通用戶不具有這些操作。管理員在后臺(tái)用戶管理中可以刪除用戶和添加系統(tǒng)管理員的功能。用戶和管理員可以發(fā)表帖子,修改帖子,刪除帖子,回復(fù)帖子的操作。但這些操作都必須在用戶登錄以后才能進(jìn)行,而且每個(gè)登錄的用戶只能修改和刪除自己的帖子和回帖,只有管理員可以刪除
38、所有人的帖子以及回復(fù)。3.3 系統(tǒng)用例由參與者(Actor)、用例(Use Case)以及它們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的動(dòng)態(tài)視圖稱為用例圖。用例圖(User Case)是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖,呈現(xiàn)了一些參與者和一些用例,以及它們之間的關(guān)系,主要用于對(duì)系統(tǒng)、子系統(tǒng)或類的功能行為進(jìn)行建模。用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯(lián)系的。用例圖用于對(duì)系統(tǒng)、子系統(tǒng)或類的行為進(jìn)行可視化,使用戶能夠理解如何使用這些元素,并使開發(fā)者能夠?qū)崿F(xiàn)這些元素。BBS論壇系統(tǒng)前臺(tái)用例:前臺(tái)是用戶登錄后發(fā)表觀點(diǎn)和回復(fù)觀點(diǎn),用戶之間進(jìn)行交流,帖子管理的用例圖如圖3.2所示。圖
39、3.2 帖子管理用例圖BBS交流平臺(tái)后臺(tái)用例:后臺(tái)主要是管理員對(duì)后臺(tái)帖子、版塊進(jìn)行管理維護(hù),后臺(tái)系統(tǒng)用例圖如圖3.3所示。圖3.3 系統(tǒng)后臺(tái)用例圖4 總體設(shè)計(jì)4.1 數(shù)據(jù)庫設(shè)計(jì)在軟件開發(fā)中最重要的就是數(shù)據(jù)庫設(shè)計(jì),一個(gè)好的數(shù)據(jù)庫設(shè)計(jì)能夠給開發(fā)帶來極大的便捷,使程序員只需通過少量的代碼就能實(shí)現(xiàn)所需的功能,加快開發(fā)人員的開發(fā)效率,更快的完成任務(wù)。反之?dāng)?shù)據(jù)庫不設(shè)計(jì)好就會(huì)使系統(tǒng)開發(fā)的進(jìn)展變得緩慢,甚至失敗。為了減少數(shù)據(jù)的冗余,提高系統(tǒng)運(yùn)行的效率我們必須設(shè)計(jì)出一個(gè)好的數(shù)據(jù)庫。系統(tǒng)在數(shù)據(jù)庫設(shè)計(jì)上共設(shè)計(jì)了五張表,它們分別是:用戶表、角色表、版塊表、話題表、回貼表。數(shù)據(jù)庫的E-R圖是非常重要的它反映了各字段間的
40、關(guān)系,Mysql的可視化工具SQLyog中自帶架構(gòu)設(shè)計(jì)器,它是采用圖形化來表現(xiàn)的,很方便的就能將要關(guān)聯(lián)的字段關(guān)聯(lián)起來。并且能夠自動(dòng)創(chuàng)建E-R圖,使表與表之間的關(guān)系更簡(jiǎn)單清晰的展現(xiàn)了出來,系統(tǒng)數(shù)據(jù)庫的E-R如圖4.1所示圖4.1 數(shù)據(jù)庫E-R圖1.用戶表中有用戶ID,用戶名,密碼,頭像,注冊(cè)時(shí)間,性別,角色I(xiàn)D;2.角色表中有角色I(xiàn)D,角色名稱;3.版塊表中有版塊ID,父版塊ID,版塊名稱;4.話題表中有話題ID,話題內(nèi)容,話題標(biāo)題,發(fā)表話題時(shí)間,所屬用戶ID,修改話題時(shí)間,所屬版塊ID;5.回帖表中有回帖ID,回帖內(nèi)容,修改回帖時(shí)間,回帖時(shí)間,所屬用戶ID,所屬話題ID用戶表主要保存的是用戶信
41、息,在用戶表里面有一個(gè)字段是ROLE_ID它是于角色表關(guān)聯(lián)的。用戶表的設(shè)計(jì)信息如圖4.2所示。圖4.2 用戶表的設(shè)計(jì)角色表是用來保存系統(tǒng)用到的角色,系統(tǒng)只有兩個(gè)角色,一個(gè)是admin系統(tǒng)管理員,另一個(gè)是view普通用戶。角色表的設(shè)計(jì)信息如圖4.3所示。圖4.3 角色表的設(shè)計(jì)版塊表是存儲(chǔ)系統(tǒng)版塊信息,系統(tǒng)只有兩級(jí)版塊,數(shù)據(jù)表使用parent_board_id與自身關(guān)聯(lián)來區(qū)分版塊等級(jí),parent_board_id字段為空時(shí)代表一級(jí)版塊。版塊表的設(shè)計(jì)信息如圖4.4所示。圖4.4 版塊表的設(shè)計(jì)話題表是存儲(chǔ)用戶發(fā)表的話題,它的board_id字段關(guān)聯(lián)了版塊表主要功能是區(qū)分屬于哪個(gè)版塊,它的user_i
42、d字段關(guān)聯(lián)了用戶表主要功能是區(qū)分話題屬于哪個(gè)用戶發(fā)表的,話題內(nèi)容字段設(shè)為text這使得話題內(nèi)容可以有較多的信息。話題表的設(shè)計(jì)信息如圖4.5所示。圖4.5 話題表的設(shè)計(jì)回帖表是存儲(chǔ)用戶話題的回帖,它的topic_id字段關(guān)聯(lián)了話題表是用來區(qū)分該回復(fù)屬于哪個(gè)話題,它的user_id字段關(guān)聯(lián)了用戶表主要功能是區(qū)分該回復(fù)是哪個(gè)用戶回復(fù)的,回帖表的詳細(xì)信息如圖4.5所示。圖4.5 回帖表的設(shè)計(jì)4.2 時(shí)序圖我們編碼的時(shí)候,知道有的用例的業(yè)務(wù)邏輯按照比較確定的時(shí)間先后順序進(jìn)行展開。這時(shí)候,我們就需要知道我們?cè)O(shè)計(jì)的系統(tǒng)中的不同類之間傳遞消息(可以認(rèn)為是不同對(duì)象函數(shù)間的調(diào)用)要按照怎么樣的順序、傳遞什么消息、
43、返回什么消息。這時(shí)候用時(shí)序圖是最好不過的了。時(shí)序圖主要用于按照交互發(fā)生的一系列順序,顯示對(duì)象之間的這些交互他由活動(dòng)者(Actor)、對(duì)象(Object)、消息(Message)、生命線(Lifeline)和控制焦點(diǎn)(Focusofcontrol)組成。在UML中,對(duì)象表示為一個(gè)矩形,其中對(duì)象名稱標(biāo)有下劃線;消息在時(shí)序圖中由有標(biāo)記的箭頭表示;生命線由虛線表示,控制焦點(diǎn)由薄薄的矩形表示。圖4.6是用戶發(fā)帖的時(shí)序圖,可以大致看出本系統(tǒng)的流程。在用戶填好需要發(fā)表的信息點(diǎn)擊發(fā)表帖子的按鈕后,這時(shí)瀏覽器就會(huì)向服務(wù)器發(fā)送一個(gè)請(qǐng)求,服務(wù)器在接收到請(qǐng)求以后,將信息交個(gè)Struts的ActionServlet類來
44、處理,ActionServlet會(huì)去查詢Struts-config.xml配置文件查找出相對(duì)應(yīng)的方法,然后TopicAction類中的對(duì)應(yīng)方法處理,TopicAction類獲取瀏覽器傳過來的信息,創(chuàng)建一個(gè)Topic對(duì)象,接著調(diào)用業(yè)務(wù)層TopicService里的保存帖子的方法,最后調(diào)用持久層方法將Topic對(duì)象保存到數(shù)據(jù)庫中。最后系統(tǒng)會(huì)將處理結(jié)果返回。用戶就可以看到自己發(fā)表的帖子。圖4.6 用戶發(fā)帖時(shí)序圖5 詳細(xì)設(shè)計(jì)5.1 系統(tǒng)模式MVC模式的代表模型視圖控制器模式。這種模式是為了分離軟件開發(fā)中各模塊的耦合。Model(模型): 用于封裝與應(yīng)用程序的業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)以及對(duì)數(shù)據(jù)的處理方法。“M
45、odel”不依賴“View”和“Controller”,也就是說, Model 不關(guān)心它會(huì)被如何顯示或是如何被操作。但是 Model 中數(shù)據(jù)的變化一般會(huì)通過一種刷新機(jī)制被公布。為了實(shí)現(xiàn)這種機(jī)制,那些用于監(jiān)視此 Model 的 View 必須事先在此 Model 上注冊(cè),從而,View 可以了解在數(shù)據(jù) Model 上發(fā)生的改變,Model 則是由一個(gè)實(shí)體Bean來實(shí)現(xiàn)。View(視圖):能夠?qū)崿F(xiàn)數(shù)據(jù)有目的的顯示(理論上,這不是必需的)。在 View 中一般沒有程序上的邏輯。為了實(shí)現(xiàn) View 上的刷新功能,View 需要訪問它監(jiān)視的數(shù)據(jù)模型(Model),因此應(yīng)該事先在被它監(jiān)視的數(shù)據(jù)那里注冊(cè)。C
46、ontroller(控制器):起到不同層面間的組織作用,用于控制應(yīng)用程序的流程。它處理事件并作出響應(yīng)?!笆录卑ㄓ脩舻男袨楹蛿?shù)據(jù) Model 上的改變。本系統(tǒng)的設(shè)計(jì)采用了MVC的設(shè)計(jì)思想,控制器使用了自己較為熟悉的Struts1框架。Model層使用的是JavaBean和Hibernate框架完成,View層由一般的JSP實(shí)現(xiàn)的。5.2 控制層的設(shè)計(jì)本系統(tǒng)使用Struts1框架處理控制層。通常一個(gè)“控制器”是一個(gè)用戶界面組件和模型之間的接口??刂破鲬?yīng)細(xì)類,做多一點(diǎn)映射的用戶界面事件模型的功能。它主要功能是處理用戶的請(qǐng)求給服務(wù)器,服務(wù)器接收到這個(gè)請(qǐng)求有權(quán)限就會(huì)被傳遞到Struts的Action
47、Servlet里。Struts1在收到瀏覽器發(fā)來的請(qǐng)求以后,會(huì)去查找struts-config.xml文件,找到用戶請(qǐng)求的Action類,然后將信息傳給Action類。通過Action類中的方法處理后得到相應(yīng)的結(jié)果最后交給JSP視圖,并給返回一個(gè)響應(yīng)給用戶,本系統(tǒng)由8個(gè)Action類組成控制層,控制層的類圖如圖5.1所示:圖5.1 控制層類圖5.3 業(yè)務(wù)層的設(shè)計(jì)業(yè)務(wù)層主要完成系統(tǒng)的業(yè)務(wù)處理。當(dāng)控制層接收到用戶的請(qǐng)求就會(huì)調(diào)用業(yè)務(wù)層的某個(gè)方法,業(yè)務(wù)層調(diào)用持久層將數(shù)據(jù)保存到數(shù)據(jù)庫或者返回消息給控制層。一般情況下業(yè)務(wù)層也可以持久化數(shù)據(jù)將數(shù)據(jù)存入數(shù)據(jù)庫,但本系統(tǒng)為了使系統(tǒng)能夠靈活擴(kuò)展,所以定義了業(yè)務(wù)層和
48、持久層。業(yè)務(wù)層負(fù)責(zé)調(diào)用方法,持久層只負(fù)責(zé)完成數(shù)據(jù)庫的操作。業(yè)務(wù)層類圖如圖5.2所示:圖5.2 業(yè)務(wù)層類圖5.4 持久層的設(shè)計(jì)持久層主要包括的方法是對(duì)數(shù)據(jù)庫的增刪改查。在系統(tǒng)中用戶的操作所產(chǎn)生的數(shù)據(jù)其實(shí)是暫時(shí)的、隨時(shí)更新的、系統(tǒng)處理過后這些數(shù)據(jù)就會(huì)消失,所以需要持久層將有用的數(shù)據(jù)存入數(shù)據(jù)庫,保證需要時(shí)可以隨時(shí)獲取。本系統(tǒng)是通過JDBC來完成數(shù)據(jù)庫訪問的,現(xiàn)在不同的數(shù)據(jù)庫廠商都提供了訪問數(shù)據(jù)庫的JDBC接口提供了訪問各種數(shù)據(jù)庫的接口,在數(shù)據(jù)庫中對(duì)象之間都是關(guān)系模型,所以在訪問數(shù)據(jù)庫時(shí)要將每個(gè)字段對(duì)應(yīng)起來,由于這一環(huán)節(jié)容易出錯(cuò)故本系統(tǒng)使用了Hibernate持久層來完成對(duì)象和關(guān)系的一一對(duì)應(yīng)。增加Hi
49、bernate持久層提高了開發(fā)的效率,使軟件的體系結(jié)構(gòu)更加清晰,在代碼編寫和系統(tǒng)維護(hù)方面變得更容易。特別是在大型的應(yīng)用里邊,會(huì)更有利。同時(shí),持久化層作為單獨(dú)的一層,人們可以為這一層獨(dú)立的開發(fā)一個(gè)軟件包,讓其實(shí)現(xiàn)將各種應(yīng)用數(shù)據(jù)的持久化,并為上層提供服務(wù)。從而使得各個(gè)企業(yè)里做應(yīng)用開發(fā)的開發(fā)人員,不必再來做數(shù)據(jù)持久化的底層實(shí)現(xiàn)工作,而是可以直接調(diào)用持久化層提供的API。持久層的類圖如圖5.3所示:圖5.3 持久層類圖5.5 權(quán)限設(shè)計(jì)在本系統(tǒng)里還對(duì)權(quán)限進(jìn)行了簡(jiǎn)單的設(shè)計(jì),前端頁面使用了比較方便的jsp標(biāo)簽對(duì)權(quán)限進(jìn)行判斷從而隱藏和顯示修改、刪除的兩個(gè)鏈接。普通用戶只能看見自己發(fā)表和回復(fù)消息下的刪除和修改鏈
50、接,只可以對(duì)自己的帖子進(jìn)行修改刪除。管理員可以看見任何用戶的刪除鏈接,可以對(duì)任何用戶的帖子進(jìn)行刪除。本系統(tǒng)后臺(tái)采用了過濾器,后臺(tái)的維護(hù)只有管理員可以進(jìn)入,系統(tǒng)通過MyFilter.Java類完成簡(jiǎn)單的過濾。當(dāng)瀏覽器有請(qǐng)求發(fā)出時(shí)會(huì)先進(jìn)入過濾器進(jìn)行處理,首先過濾器會(huì)對(duì)編碼進(jìn)行設(shè)置,將其設(shè)置為UTF-8,然后判斷用戶訪問的資源是否公開,如果不是檢查用戶是否登陸,沒有就跳轉(zhuǎn)到登陸頁面,如果登陸就判斷用戶權(quán)限,檢查用戶是否是管理員,如果是,進(jìn)入頁面不是則跳轉(zhuǎn)到無權(quán)訪問頁面。6 系統(tǒng)實(shí)現(xiàn)6.1 運(yùn)行環(huán)境的搭建第一步:從官網(wǎng)下載安裝包將JDK1.7安裝到將要運(yùn)行的電腦里,然后將電腦的環(huán)境變量配置好。第二步:
51、下載MySql數(shù)據(jù)庫將數(shù)據(jù)庫安裝到電腦上,打開數(shù)據(jù)庫建立數(shù)據(jù)庫名為bbs,右擊數(shù)據(jù)庫點(diǎn)擊導(dǎo)入執(zhí)行SQL腳本將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫。第三步:下載Tomcat7.0壓縮包解壓。6.2 模塊演示打開瀏覽器,輸入 HYPERLINK :/localhost:8080/bbs/manager/index.jsp :/localhost:8080/bbs/manager/index.jsp進(jìn)入后臺(tái)登陸頁面,后臺(tái)登陸界面如圖6.1所示圖6.1后臺(tái)登錄界面在系統(tǒng)中存在一個(gè)管理員為admin,密碼也為admin,管理員可以添加管理員也可以修改自己的密碼,以及對(duì)系統(tǒng)進(jìn)行管理。輸入正確的用戶名密碼就能夠管理后臺(tái)了,后臺(tái)主
52、頁面如圖6.2所示圖6.2后臺(tái)主頁面管理員進(jìn)入后臺(tái)可以通過頁面的菜單選擇想要的操作,管理員點(diǎn)擊版塊管理就會(huì)顯示所有的版塊,點(diǎn)擊向下箭頭可以展開版塊管理選擇添加和查詢版塊,管理員也可以刪除和修改版塊。點(diǎn)擊帖子管理可進(jìn)入前臺(tái)對(duì)帖子進(jìn)行管理。點(diǎn)擊用戶管理,可以查看論壇的用戶和對(duì)用戶進(jìn)行管理,以及添加新的管理員。版塊管理的界面如圖6.3所示圖6.3 版塊管理界面打開瀏覽器,輸入 HYPERLINK :/localhost:8080/bbs/index.jsp :/localhost:8080/bbs/index.jsp進(jìn)入前臺(tái)主頁面,當(dāng)用戶通過訪問地址進(jìn)入主界面后,可以看到論壇的父版塊和父版塊下的子版
53、塊,以及各個(gè)子版塊最新的帖子和發(fā)帖用戶名。論壇系統(tǒng)主界面如圖6.4所示圖6.4 論壇系統(tǒng)主頁面點(diǎn)擊某個(gè)子版塊可以進(jìn)入查看帖子的頁面,但如果想要發(fā)帖或回帖用戶必須登錄,帖子頁面可以看到帖子標(biāo)題、回復(fù)數(shù)、以及發(fā)帖的作者。用戶登錄后進(jìn)入某個(gè)版塊查看發(fā)帖的頁面如圖6.5所示。這個(gè)頁面提供分頁顯示。圖6.5版塊詳情頁面如果沒有賬號(hào)的用戶可以進(jìn)行注冊(cè),注冊(cè)時(shí)系統(tǒng)會(huì)對(duì)用戶所填信息進(jìn)行檢查,正確輸入信息才能注冊(cè)成功。注冊(cè)成功后登陸系統(tǒng)就可以發(fā)帖回帖了。用戶注冊(cè)頁面如圖6.6所示圖6.6 用戶注冊(cè)頁面用戶注冊(cè)之后可以點(diǎn)擊發(fā)表話題按鈕進(jìn)入發(fā)帖界面發(fā)表帖子,用戶發(fā)帖界面如圖6.7所示圖6.7 用戶發(fā)帖頁面用戶發(fā)帖過
54、后會(huì)跳轉(zhuǎn)到帖子詳情頁面,用戶可以查看、回復(fù)帖子以及修改和刪除自己的帖子和回復(fù),帖子詳情頁面如圖6.8所示圖6.8 帖子詳情頁面如果有用戶回復(fù)自己的帖子,用戶進(jìn)入帖子詳情頁面就可以看到所有用戶的回復(fù)內(nèi)容,用戶也可以自己選擇回復(fù)哪個(gè)的用戶,帖子內(nèi)容展示頁面如圖6.9所示圖6.9 帖子詳情頁面7 測(cè) 試現(xiàn)在測(cè)試越來越成為系統(tǒng)開發(fā)中的重要環(huán)節(jié),越來越受到人們的重視,隨著系統(tǒng)開發(fā)規(guī)模的增大、復(fù)雜程度的增加,以尋找系統(tǒng)中的錯(cuò)誤為目的的測(cè)試工作顯得更加困難。然而,為了盡可能多地找出程序中的錯(cuò)誤,產(chǎn)生出高質(zhì)量的項(xiàng)目產(chǎn)品,加強(qiáng)對(duì)測(cè)試工作的組織和管理就顯得尤為重要。從我們網(wǎng)站的生存周期看,測(cè)試往往是指對(duì)程序的測(cè)試
55、,這樣做的優(yōu)點(diǎn)是被測(cè)對(duì)象明確,測(cè)試的可操作性有錯(cuò)誤,測(cè)試的質(zhì)量就難以保證。即使測(cè)試后產(chǎn)生錯(cuò)誤,此時(shí),修改的代價(jià)是相當(dāng)昂貴的。因此,較理想的做法是對(duì)軟件的開發(fā)過程。按照軟件工程各個(gè)階段形成的結(jié)果,分別進(jìn)行嚴(yán)格的審查。7.1 測(cè)試方案測(cè)試前我們需要查看大量的有關(guān)資料,我首先將自己項(xiàng)目中需要測(cè)試的功能進(jìn)行了一一列舉,然后再次熟悉了自己的系統(tǒng)編寫了測(cè)試內(nèi)容和測(cè)試通過的準(zhǔn)則,做好測(cè)試前的準(zhǔn)備。為了保證測(cè)試的質(zhì)量我對(duì)系統(tǒng)進(jìn)行了單元測(cè)試,從而保證代碼的質(zhì)量。單元測(cè)試不僅能保證項(xiàng)目進(jìn)度還能優(yōu)化我們的設(shè)計(jì),如果我們?yōu)榱藢砟芨奖愕鼐帉憸y(cè)試代碼,我們就會(huì)盡可能得將業(yè)務(wù)代碼設(shè)計(jì)成更容易測(cè)試的代碼,慢慢地開發(fā)者就會(huì)發(fā)現(xiàn),自己設(shè)計(jì)的程序耦合度也越來越低。每個(gè)單元程序的輸入輸出,業(yè)務(wù)內(nèi)容和異常情況都
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國嬰兒培養(yǎng)箱行業(yè)發(fā)展現(xiàn)狀及投資競(jìng)爭(zhēng)力分析報(bào)告
- 2024-2030年中國女士文胸行業(yè)市場(chǎng)銷售策略及未來發(fā)展前景展望報(bào)告
- 2024-2030年中國垃圾壓實(shí)機(jī)行業(yè)運(yùn)行動(dòng)態(tài)及投資發(fā)展前景調(diào)研報(bào)告
- 2024-2030年中國衛(wèi)生巾原紙行業(yè)發(fā)展?fàn)顩r規(guī)劃分析報(bào)告
- 2024年幕墻施工承攬協(xié)議標(biāo)準(zhǔn)文本
- 2024年版協(xié)議文件管理及存儲(chǔ)規(guī)范版
- 梅河口康美職業(yè)技術(shù)學(xué)院《多媒體信息檢索》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度沈陽二手房買賣合同抵押權(quán)登記服務(wù)3篇
- 滿洲里俄語職業(yè)學(xué)院《矩陣論矩陣論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年標(biāo)準(zhǔn)期房買賣協(xié)議細(xì)則版
- 跨境電商基礎(chǔ)與實(shí)務(wù) 課件 項(xiàng)目七 跨境支付與結(jié)算
- 平面的投影完整版本
- 2024年大學(xué)試題(管理類)-薪酬管理考試近5年真題集錦(頻考類試題)帶答案
- 生命安全與救援學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 北師大版四年級(jí)上冊(cè)書法練習(xí)指導(dǎo)-教案
- 《規(guī)律作息-健康睡眠》主題班會(huì)課件
- Unit5 Our New rooms Lesson1(教學(xué)設(shè)計(jì))2024-2025學(xué)年重大版英語五年級(jí)上冊(cè)
- 2024至2030年中國采棉機(jī)行業(yè)深度調(diào)研及投資戰(zhàn)略分析報(bào)告
- 英語B級(jí)單詞大全
- 智能充電站轉(zhuǎn)讓協(xié)議書范本
- 清醒俯臥位通氣護(hù)理專家共識(shí)
評(píng)論
0/150
提交評(píng)論