【正文】
※※※※※※※※※※※※※※※※※※※※※※※※2009屆學生畢業(yè)設計(論文)材料(四) 學 生 畢 業(yè) 論 文(設 計)課題名稱基于struts框架的BBS系統(tǒng)姓 名學 號院、系、部計算機科學系專 業(yè)計算機科學與技術指導教師 2009 年 5 月 26 日湖南城市學院本科畢業(yè)設計(論文)誠信聲明本人鄭重聲明:所呈交的本科畢業(yè)設計(論文),是本人在指導老師的指導下,獨立進行研究工作所取得的成果,成果不存在知識產(chǎn)權爭議,除文中已經(jīng)注明引用的內(nèi)容外,本設計(論文)不含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對本文的研究做出重要貢獻的個人和集體均已在文中以明確方式標明。本人完全意識到本聲明的法律結(jié)果由本人承擔。 本科畢業(yè)設計(論文)作者簽名: 二○○九 年 五月 二十六日目 錄摘要 1關鍵字 1Abstract 2Key words 21. 緒論 3 BBS的發(fā)展背景 3 BBS對大學生學習生活的影響 3 BBS提供了豐富的網(wǎng)絡學習資源 3 BBS促進了協(xié)作學習 4 BBS提高了學生自主學習能力 42. 開發(fā)技術及開發(fā)工具概述 4 JAVA語言概述 4 MVC設計模式簡介 6 STRUTS框架簡介 7 HIBERNATE簡介 8 ORACLE數(shù)據(jù)庫簡介 9 ECLIPSE概述 9 系統(tǒng)開發(fā)環(huán)境概述 10 硬件環(huán)境 10 軟件環(huán)境 103. 系統(tǒng)分析 11 需求分析 11 業(yè)務需求分析 11 功能需求用例圖 11 可行性分析 13 技術可行性分析 13 經(jīng)濟可行性分析 134. 系統(tǒng)設計 14 系統(tǒng)流程 14 系統(tǒng)功能設計 15 基本功能設計 15 擴展功能設計 16 BBS模塊體系分析 16 數(shù)據(jù)庫設計 175. 系統(tǒng)的具體實現(xiàn)和測試 19 用戶驗證性實現(xiàn)和測試 20 論壇功能實現(xiàn)和測試 26 用戶信息功能實現(xiàn)和測試 33 給管理員留言的實現(xiàn)和測試 39 管理員后臺管理的實現(xiàn)與測試 416. 結(jié)論 49參考文獻 50致 謝 5151基于struts框架的BBS系統(tǒng)摘 要:BBS已經(jīng)成為人們獲取信息、發(fā)表言論的重要場所。它由論壇注冊用戶所發(fā)表的大量主題組成。近些年來,隨著校園網(wǎng)建設的發(fā)展,大學校園網(wǎng)BBS也越來越火。其中運用了STRUTS 2技術、Oracle數(shù)據(jù)庫等等, 對上述技術的實現(xiàn)方法進行了詳細的討論,介紹了在WEB 服務器上,利用JSP技術和MVC模式等,實現(xiàn)了一個簡單的BBS系統(tǒng)的設計與開發(fā),并詳細討論了該系統(tǒng)的實現(xiàn)過程及其結(jié)構。關鍵字:論壇;基本功能;擴展功能;數(shù)據(jù)庫;STRUTS 2Struts framework based on the BBS systemAbstract: Forum and chat room has bee for people to obtain information and the important place of published a large number of registered users by the Forum of recent years, as the development of the campus network, Internet forums and chat rooms, university campuses have more building a good forum and a chat room are being increasingly necessary. This paper discusses the development of a simple system to use chat rooms, forums and the key technologies and the use of STRUTS 2, ORACLE database and so realization of the above methods are discussed in detail, introduced a Web and MVC, such as technology, a simple forums and chat rooms, the system design and development,and discussed in detail the structure of the system and its processes. Key Words: Forum;basic functions;expanded functions;Database;STRUTS 21 緒論 BBS的發(fā)展背景BBS是在1992年底隨著國際互聯(lián)網(wǎng)的開始流行而迅速發(fā)展起來的?;ヂ?lián)網(wǎng)的產(chǎn)生使得以前只能在本地訪問的BBS可以被全世界隨意訪問,這對大多數(shù)人來說是極具誘惑力的。BBS 是一個有多人參加的討論系統(tǒng),在BBS上大家可以對一個共同感興趣的問題進行討論,自由地發(fā)表自己的意見與觀點,并且能直接與其他的人進行溝通。按照網(wǎng)站的性質(zhì)以及服務對象來分,迄今有以下幾種類型:校園BBS:校園BBS作為主要的集中地,在BBS領域具有舉足輕重的地位。由于校園BBS的繁榮,吸引了很多的社會人士參與。專業(yè)BBS:一般是由各個著名的大公司組建,人們可以利用其交流自己對商品的看法,更為重要的是可以解決商品使用中的問題。商業(yè)BBS:它是由ISP建立的BBS站點,這類BBS站點各種信息比較多,內(nèi)容相當豐富。小型局域BBS:一般是由個人或小型集體建立,為小范圍信息交流服務。 業(yè)余BBS:一般由BBS愛好者個人利用一些免費空間辦的BBS,目的是為廣大網(wǎng)友提供一個在某些專業(yè)上的交流場所。新聞媒體BBS:是由新聞媒體網(wǎng)站設立的,為廣大網(wǎng)友提供對新聞信息進行評論、發(fā)表意見和觀點的場所。 ,這個具有強大實時交互功能,信息交流的平臺,使人們不再像電視觀眾、電臺聽眾、報紙雜志讀者一樣只是被動地觀看、收聽、閱讀,而是可以積極而及時地參與討論,在了解他人觀點意見的同時也可以發(fā)表自己的看法。 BBS對大學生學習生活的影響 BBS提供了豐富的網(wǎng)絡學習資源論壇是一個經(jīng)過學習者整理加工過的網(wǎng)絡資源匯集中心,從新聞、學習到娛樂、體育,從文字到視頻、音頻,BBS匯集了各種形式、內(nèi)容的網(wǎng)絡資源。不少BBS都設有專門的NetResources(網(wǎng)絡資源)板塊;FTP技術和BT技術的發(fā)展更是為BBS站內(nèi)資源的更新、共享提供了方便。如今,大部分大學的BBS論壇都有相應的FTP服務器,不少BBS還與網(wǎng)絡新興的BT技術、Blog(博客)技術等連接起來BBS水木清華站就有“水木Blog”的欄目)。 BBS促進了協(xié)作學習基于網(wǎng)絡的論壇社區(qū)也是各種學習資源組合的場所,為學習者提供了學習環(huán)境。作為一個學生參與論壇的網(wǎng)絡活動可包括許多種學習的意義,在特定板塊內(nèi),論壇參與者圍繞某個話題或者問題,通過發(fā)表、回復話題、版面討論、站內(nèi)信件等方式進行互動討論、相互探討,形成了一種以學習者為中心的學習方式。從教育網(wǎng)內(nèi)人氣排名前十名的論壇的網(wǎng)友參與的情況來看,在各大學習板塊里,基本上每張?zhí)犹岢龅膯栴}都可以得到網(wǎng)友友好的、認真的回復解答,有著濃郁的協(xié)作探討的學習氣氛和良好的學習效果。 BBS提高了學生自主學習能力網(wǎng)絡學習的本質(zhì)是一種自主學習,論壇提供了豐富的網(wǎng)絡學習資源,使學習者能自主選擇和控制學習地點、學習時間、學習方法和學習內(nèi)容。在論壇里,學生可以自主地圍繞學習問題,通過發(fā)帖、回復的形式提出討論,尋求解答幫助,提高了學習的積極性和自主學習的能力。2 開發(fā)技術及開發(fā)工具概述 JAVA語言概述Java語言是一種很優(yōu)秀的語言,具有面向?qū)ο蟆⑴c平臺無關、安全、穩(wěn)定和多線程等優(yōu)良特性,是目前軟件設計中極為健壯的編程語言。Java確確實實具備了“一旦寫成處處可用”的特點。之所以稱Java為革命性編程語言,是因為傳統(tǒng)的軟件往往與具體的實現(xiàn)環(huán)境有關,一旦環(huán)境有所變化就需要對軟件作一番改動,耗時費力,而Java編寫的軟件能在執(zhí)行代碼上兼容。這樣,只要計算機提供了Java解釋器,Java編寫的軟件就能在其上運行?,F(xiàn)將JAVA語言的特點介紹如下:簡單:Java最初是為家用電器進行集成控制而設計的一種語言,因此它必須簡單明了。Java的風格類似于C++,因而C++程序員是非常熟悉的。從某種意義上講,Java語言是C及C++語言的一個變種,因此,C++程序員可以很快就掌握Java編程技術。并且Java摒棄了C++中容易引發(fā)程序錯誤的地方,如指針和內(nèi)存管理。面向?qū)ο螅好嫦驅(qū)ο罂梢哉f是Java最重要的特性。Java語言的設計完全是面向?qū)ο蟮模恢С诸愃朴贑語言那樣面向過程的程序設計技術。Java支持靜態(tài)和動態(tài)風格的代碼繼承及重用?;趯ο蟮木幊谈先说乃季S模式,使人們更容易理解,更容易編寫程序。分布式:Java包括一個支持HTTP和FTP等基于TCP/IP協(xié)議的子庫。因此,Java應用程序可憑借URL打開并訪問網(wǎng)絡上的對象,其訪問方式與訪問本地文件系統(tǒng)幾乎完全相同。為分布環(huán)境尤其是Internet提供動態(tài)內(nèi)容無疑是一項非常宏偉的任務,但Java的語法特性卻使我們很容易地實現(xiàn)這項目標。 健壯:Java致力于檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤。Java自已操縱內(nèi)存減少了內(nèi)存出錯的可能性。除此之外,Java還提供了Null指針檢測數(shù)組邊界檢測異常出口字節(jié)代碼校驗。這些功能特征大大縮短了開發(fā)Java應用程序的周期更提高了系統(tǒng)的健壯性。 安全:Java的安全性可從兩個方面得到保證。一方面,在Java語言里,象指針和釋放內(nèi)存等C++功能被刪除,避免了非法內(nèi)存操作。另一方面,當Java用來創(chuàng)建瀏覽器時,語言功能和瀏覽器本身提供的功能結(jié)合起來,使它更安全。Java語言在機器上執(zhí)行前,要經(jīng)過很多次的測試。從而提高系統(tǒng)的安全性。可移植性:與平臺無關是Java語言最大的優(yōu)勢。其他語言編寫的程序面臨的一個主要問題就是操作系統(tǒng)的變化、處理器升級以及核心系統(tǒng)資源的變化,這些因素都可能導致程序出現(xiàn)錯誤或無法運行。Java虛擬機成功的解決了這個問題,Java編寫的程序可以在任何安裝了Java虛擬機(JVM)的計算機上正確運行,它真正的實現(xiàn)了編程語言一次編譯,處處運行。解釋執(zhí)行:Java解釋器直接對 Java字節(jié)碼進行解釋執(zhí)行。字節(jié)碼本身攜帶了許多編譯時信息 ,使得連接過程更加簡單。高性能:和其它解釋執(zhí)行的語言不同,Java字節(jié)碼的設計使之能很容易地直接轉(zhuǎn)換成對應于特定CPU的機器碼 ,從而得到較高的性能。多線程:Java的特點之一就是內(nèi)置對多線程的支持。多線程允許同時完成多個任務。多線程機制使應用程序能夠并行執(zhí)行,而且同步機制保證了對共享數(shù)據(jù)的正確操作。通過使用多線程,程序設計者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環(huán)機制,這樣就很容易地實現(xiàn)網(wǎng)絡上的實時交互行為。動態(tài)性:Java的設計使它適合于一個不斷發(fā)展的環(huán)境。在類庫中可以自由地加入新的方法和實例變量而不會影響用戶程序的執(zhí)行。并且 Java通過接口來支持多重繼承,使之比嚴格的類繼承具有更靈活的方式和擴展性。Java程序的基本組成單元就是類。有些類是自己編定的,有些類是從類庫中引入的,而類又是運行時動態(tài)裝載的,這就使得Java可以在分布環(huán)境中動態(tài)的維護程序及類庫。 MVC設計模式簡介MVC設計模式是一種著名的用戶界面軟件開發(fā)設計模式,它是模型視圖控制器(ModelViewController)縮寫。MVC設計模式最早由Xerox在20世紀八十年代為Smaltalk80語言發(fā)展提出的,但是這種設計思想并沒有局限于該語言,而是被廣泛地應用到了其他面向?qū)ο蟮木幊陶Z言中。在MVC設計模式中,它把應用程序分成了三個部分;(1) 模型(Model)模型封裝了用戶數(shù)據(jù)和處理數(shù)據(jù)的業(yè)務邏輯,體現(xiàn)了應用程序的當前狀態(tài),而且可以將用戶數(shù)據(jù)狀態(tài)的變化提供給多個顯示該數(shù)據(jù)的視圖共用。模型是應用程序的核心。 (2) 視圖(View)視圖提供了用戶界面,是用戶和應用程序的交互的窗口,既接受用戶輸入,也把模型數(shù)據(jù)狀態(tài)顯示給用戶,但是視圖不負責任何業(yè)務邏輯處理,僅僅是將用戶輸入數(shù)據(jù)傳遞給控制器或?qū)⒛P蛿?shù)據(jù)顯示給用戶。(3) 控制器(Controller)控制器連接了模型和視圖,根據(jù)用戶請求判斷將請求交給哪個模型來完成,然后調(diào)用視圖來顯示模型處理后的用戶請求結(jié)果。MVC設計模式將應用程序進行了分層,視圖和模型通過控制器連接,從而減少了用戶界面和業(yè)務邏輯之間的耦合,使程序設計更加清晰、靈活,也提高了軟件的可擴展性、可維護性?!TRUTS框架簡介Struts框架是Apache開源軟件聯(lián)盟()的一個開源項目——Jakarta Struts Framework。Struts框架繼承了MVC設計模式的特性,遵守了J2EE的Servlet、JSP等技術規(guī)范,并且根據(jù)J2EE的特點做了相應的變化和擴展,是J2EE體系架構的一種輕量級實現(xiàn)。作為一款優(yōu)秀的Java Web應用程序的開發(fā)框架,Struts框架憑借其清晰性、靈活性,成為當前最為廣泛應用的輕量級Java Web開發(fā)框架。Struts框架實現(xiàn)了MVC設計模式,本系統(tǒng)所使用的Struts為Struts 2框架。Struts 2是以WebWork優(yōu)秀的