[畢業(yè)論文] 基于JAVA的論壇BBS的實現(xiàn)_第1頁
[畢業(yè)論文] 基于JAVA的論壇BBS的實現(xiàn)_第2頁
[畢業(yè)論文] 基于JAVA的論壇BBS的實現(xiàn)_第3頁
[畢業(yè)論文] 基于JAVA的論壇BBS的實現(xiàn)_第4頁
[畢業(yè)論文] 基于JAVA的論壇BBS的實現(xiàn)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、理學院 bbs 平臺開發(fā) 摘 要 在 internet 飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要 渠道,它在人們政治、經(jīng)濟、生活、學習等各個方面發(fā)揮著重要的作用。因此網(wǎng)站建 設在 internet 應用上的地位顯而易見,它已成為政府、企事業(yè)單位、學校信息化建設 中的重要組成部分,從而倍受人們的重視。 這次我們所設計的課題正是互聯(lián)網(wǎng)與社會生活之間的緊密關系的體現(xiàn),現(xiàn)今的社 會,人們已經(jīng)離不開了網(wǎng)絡,網(wǎng)絡已經(jīng)成為人與人之間交流的一種形式,他能夠把事 情的復雜化轉(zhuǎn)為簡單化。論壇 bbs 管理系統(tǒng),可以更好的實現(xiàn)與用戶的交互,通常需 要搜集用戶的有關信息,關對用戶進行區(qū)別劃分,本站

2、點的對會員提供更好的服務。 現(xiàn)在在很多的企業(yè)站點都有 bbs,通過論壇更加快捷的了解企業(yè)員工的信息,而建立會 員服務的基礎是建系論壇管理系統(tǒng)。通過該系統(tǒng)可以進行用戶與用戶間的交流、企業(yè) 與企業(yè)間的信息交互,利用網(wǎng)絡經(jīng)濟而又快捷地與外界進行各種信息溝通,取得更有 用的信息資源。 這次我的課題是理學院 bbs 平臺的開發(fā),通過這個論壇,可以展示每一個同學的 風采、優(yōu)點,發(fā)布個人對一些事物的看法,增強同學們之間,團體與團體之間,同學 與團體之間的交流聯(lián)系。在 internet 上實現(xiàn)信息的傳遞,提高辦事效率,它已成為同 學們溝通和獲取信息的重要組成部分。為了更方便同學們的溝通和獲取信息,特構建 此論

3、壇。 關鍵詞:jsp,microsoft sql server 2000,tomcat, eclipse,理學院 bbs college of science bbs on development platform abstract the rapid development of the internet today, internet access to become a fast release and an important channel for transmitting information, its political, economic, and life in all a

4、spects of learning to play an important role. therefore the construction site in the status of internet applications obviously, it has become the government, enterprises, institutions, schools of information technology an important part of so much attention. the issue we have designed the internet a

5、nd social life is the close relationship between the embodiment of todays society, people have can not be separated from the network, the network between people has become a form of exchange, he was able to things to simplify the complicated. bbs forum management system that can better interact with

6、 users, users usually need to collect relevant information related to the difference between the user division, members of the site to provide better services. in many enterprises now have a site bbs, through a more efficient forum for employees to understand the information, and to establish the ba

7、sis of member services department is the forum management system. through the system users can exchange, business and information exchange between enterprises, the use of the internet economy with the outside world and to quickly communicate information to obtain more useful information resources. t

8、he issue is college of science bbs platform, through this forum, you can display the style of each student, benefits, release of personal views on some things, and enhance the students between the groups and between groups, students and groups contact between. in the internet, the transmission of in

9、formation to improve efficiency, it has become the students access to information communication and an important part. students, to facilitate communication and access to information, special construction of this group. key words: jsp,microsoft sql server 2000,tomcat, eclipse,college of science bbs

10、目 錄 摘 要 .i abstract .ii 1 設計本系統(tǒng)的意義和相關原理 .1 1.1 緒論.1 1.2 理學院 bbs 平臺開發(fā)的目標和意義.1 1.3 語言的選擇.2 1.3.1 jsp 簡介.2 1.3.2 microsoft sql server 2000 數(shù)據(jù)庫簡介.2 1.4 運行環(huán)境的要求.3 1.4.1 軟件環(huán)境 .3 1.4.2 硬件環(huán)境 .3 1.5 運行環(huán)境的配置.4 2 系統(tǒng)分析 .6 2.1 理學院 bbs 系統(tǒng)技術可行性分析.6 2.2 系統(tǒng)需求分析.7 2.2.1 系統(tǒng)的綜合要求 .7 2.2.2 系統(tǒng)的數(shù)據(jù)要求 .7 2.2.3 數(shù)據(jù)結構的設計 .9 2.

11、3 性能需求.10 2.4 系統(tǒng)的運行需求.10 3 系統(tǒng)設計 .11 3.1 系統(tǒng)設計思想.11 3.2 系統(tǒng)功能模塊劃分.11 3.3 系統(tǒng)流程圖.13 4 數(shù)據(jù)庫設計 .14 4.1 數(shù)據(jù)庫需求分析.14 4.2 數(shù)據(jù)庫概念結構設計.14 4.3 數(shù)據(jù)庫邏輯結構設計.15 4.4 數(shù)據(jù)庫的生成與配置.17 5 模塊設計與實現(xiàn) .18 5.1 數(shù)據(jù)庫的連接與訪問實現(xiàn).18 5.2 論壇首頁的顯示以及登陸功能的實現(xiàn).20 5.3 用戶注冊界面的設計與實現(xiàn).23 5.4 論壇發(fā)帖回復模塊的設計和實現(xiàn).26 5.5 論壇后臺管理模塊的設計與實現(xiàn).27 致 謝 .30 參 考 文 獻 .31 附

12、錄 .32 1 設計本系統(tǒng)的意義和相關原理 1.1 緒論 進入二十一世紀,計算機技術迅速向著網(wǎng)絡化、集成化方向發(fā)展。傳統(tǒng)的單機版 應用軟件正在逐漸退出舞臺,取而代之的是支持網(wǎng)絡、支持多種數(shù)據(jù)信息(多媒體) 的新一代網(wǎng)絡版應用軟件,而目前網(wǎng)絡版軟件中似乎存在著兩種不同的趨勢,一種是 稱為客戶端服務器的 c/s 結構應用系統(tǒng),這類軟件具有結構嚴謹,運行效率高, 服務器端壓力小,安全性好等優(yōu)點,被廣泛運用于局域網(wǎng)中。而另一種,也是本畢業(yè) 設計所采用的,是稱為瀏覽器服務器的 b/s 結構應用系統(tǒng),它的特點是在客戶端 直接采用了功能強大的瀏覽器軟件作為界面,其優(yōu)點在于軟件開發(fā)效率高,客戶端不 受操作平臺

13、的限制、也不受地域的限制,網(wǎng)絡傳輸量少,即適用于局域網(wǎng),更適用于 internet,而且投資小、見效快,用戶可以不必進行服務器方面的投資,而是去租用, 甚至是免費使用 isp 的服務器資源,因而受到越來越多中小型單位的青睞1。 本文討論的是一個理學院 bbs 網(wǎng)站,它具有 bbs 網(wǎng)站應該具有的所有功能。 1.2 理學院 bbs 平臺開發(fā)的目標和意義 目標:通過設計和實現(xiàn) bbs 平臺系統(tǒng),該系統(tǒng)可以很好的幫助同學們進行各個方 面的交流,而且還可以豐富同學們的課余生活,讓大家了解和使用 bbs 平臺,進行各 種交流和學習,理學院 bbs 平臺還可以方便學生與老師、教授進行交流學習和討論, 同時

14、還可以在論壇上發(fā)布通知,各種信息等,方便輔導員對同學進行管理。 通過開發(fā)此課題,還可以增強我對所學知識的應用,所學的知識也會得到鞏固, 提高我的編程能力,進一步了解和掌握各個程序語言,提高編程的熟練程度,同時還 能拓寬我知識面,增強我的工程意識,培養(yǎng)我的分析和解決實際問題的能力。 意義:現(xiàn)在在大學期間總會有很多專業(yè)課程,在以往的專業(yè)課程中我們主要是通 過當面進行交流。這種方法雖然直接,但是只能是少數(shù)人之間的交流,具有一定的局 限性。使用了論壇系統(tǒng)以后,可以網(wǎng)上對所學課程的及時交流,隨時可以解決每個學 生在課程中遇到的問題,不用浪費體力,還可以使教學資源合理利用 隨著無紙化辦公的普遍實現(xiàn),信息的

15、自動處理以及網(wǎng)絡式的信息交互方式已經(jīng)被 人們廣泛應用。讓學生通過計算機交流信息及解決問題是現(xiàn)在各個高校都在積極進行 的工作之一,也是高校教學工作的重要內(nèi)容之一。使用論壇系統(tǒng)更加節(jié)約資源,增加 了學生學習的積極性,同時減少老師的工作量。 該論壇功能較齊全,在這里可以自由地發(fā)表自己的觀點和對論壇的主題發(fā)表意見, 我們還可以對發(fā)布的問題及時地解決,獲取對自己有用的知識。這個論壇完全可以成 為一個很好的師生交流平臺,充分利用有限的教育資源,提高資源利用率,同時又能 活躍學習氛圍,使學習、工作更加方便。 1.3 語言的選擇 1.3.1 jsp 簡介 jsp(javaserver pages)是由 sun

16、 microsystems 公司倡導、許多公司參與一起建 立的一種動態(tài)網(wǎng)頁技術標準。jsp 技術有點類似 asp 技術,它是在傳統(tǒng)的網(wǎng)頁 html 文 件(*.htm,*.html)中插入 java 程序段(scriptlet)和 jsp 標記(tag),從而形成 jsp 文 件(*.jsp)1。 用 jsp 開發(fā)的 web 應用是跨平臺的,即能在 linux 下運行,也能在其他操作系統(tǒng) 上運行。 jsp 技術使用 java 編程語言編寫類 xml 的 tags 和 scriptlets,來封裝產(chǎn)生動態(tài) 網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過 tags 和 scriptlets 訪問存在于服務端的資源的

17、應用 邏輯。jsp 將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于 web 的應用程序的開發(fā)變得迅速和容易1。 web 服務器在遇到訪問 jsp 網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結 果連同 jsp 文件中的 html 代碼一起返回給客戶。插入的 java 程序段可以操作數(shù)據(jù)庫、 重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。 jsp 頁面由 html 代碼和嵌入其中的 java 代碼所組成。服務器在頁面被客戶端請求 以后對這些 java 代碼進行處理,然后將生成的 html 頁面返回給客戶端的瀏覽器。 java servlet 是 jsp 的技術基礎,而且大

18、型的 web 應用程序的開發(fā)需要 java servlet 和 jsp 配合才能完成。jsp 具備了 java 技術的簡單易用,完全的面向?qū)ο?,具有平臺 無關性且安全可靠,主要面向因特網(wǎng)的所有特點2。 1.3.2 microsoft sql server 2000 數(shù)據(jù)庫簡介 sql server 是一個關系數(shù)據(jù)庫管理系統(tǒng)它最初是由 microsoft sybase 和 ashton-tate 三家公司共同開發(fā)的于 1988 年推出了第一個 os/2 版本在 windows nt 推出后 microsoft 與 sybase 在 sql server 的開發(fā)上就分道揚鑣了 microsoft

19、將 sql server 移植到 windows nt sql server 2000 是 microsoft 公司推出的 sql server 數(shù)據(jù)庫管理系統(tǒng)的更新 版本該版本繼承了 sql server 7.0 版本的優(yōu)點同時又比它增加了許多更先進的功能具 有使用方便可伸縮性好與相關軟件集成程度高等優(yōu)點可跨越從運行 microsoft windows 98 的膝上型電腦到運行 microsoft windows 2000 的大型多處理器的服務器等多種平 臺使用3。 sql server 2000 的特性 microsoft sql server 2000 的特性包括: internet 集

20、成。 sql server 2000 數(shù)據(jù)庫引擎提供完整的 xml 支持。它還具有 構成最大的 web 站點的數(shù)據(jù)存儲組件所需的可伸縮性、可用性和安全功能3。sql server 2000 程序設計模型與 windows dna 構架集成,用以開發(fā) web 應用程序,并 且 sql server 2000 支持 english query 和 microsoft 搜索服務等功能,在 web 應用程序中包含了用戶友好的查詢和強大的搜索功能。 可伸縮性和可用性。同一個數(shù)據(jù)庫引擎可以在不同的平臺上使用,從運行 microsoft windows 98 的便攜式電腦,到運行 microsoft win

21、dows 2000 數(shù)據(jù)中心版 的大型多處理器服務器。sql server 2000 企業(yè)版支持聯(lián)合服務器、索引視圖和大型 內(nèi)存支持等功能,使其得以升級到最大 web 站點所需的性能級別。 企業(yè)級數(shù)據(jù)庫功能。sql server 2000 關系數(shù)據(jù)庫引擎支持當今苛刻的數(shù)據(jù)處理 環(huán)境所需的功能。數(shù)據(jù)庫引擎充分保護數(shù)據(jù)完整性,同時將管理上千個并發(fā)修改數(shù)據(jù) 庫的用戶的開銷減到最小。sql server 2000 分布式查詢使您得以引用來自不同數(shù)據(jù) 源的數(shù)據(jù),就好象這些數(shù)據(jù)是 sql server 2000 數(shù)據(jù)庫的一部分,同時分布式事務支 持充分保護任何分布式數(shù)據(jù)更新的完整性。復制同樣使您得以維護多

22、個數(shù)據(jù)復本,同 時確保單獨的數(shù)據(jù)復本保持同步??蓪⒁唤M數(shù)據(jù)復制到多個移動的脫接用戶,使這些 用戶自主地工作,然后將他們所做的修改合并回發(fā)布服務器。 易于安裝、部署和使用。 sql server 2000 中包括一系列管理和開發(fā)工具,這些 工具可改進在多個站點上安裝、部署、管理和使用 sql server 的過程。sql server 2000 還支持基于標準的、與 windows dna 集成的程序設計模型,使 sql server 數(shù) 據(jù)庫和數(shù)據(jù)倉庫的使用成為生成強大的可伸縮系統(tǒng)的無縫部分3。這些功能使您得以 快速交付 sql server 應用程序,使客戶只需最少的安裝和管理開銷即可實現(xiàn)這

23、些應 用程序。 數(shù)據(jù)倉庫。 sql server 2000 中包括析取和分析匯總數(shù)據(jù)以進行聯(lián)機分析處理 (olap) 的工具。sql server 中還包括一些工具,可用來直觀地設計數(shù)據(jù)庫并通 english query 來分析數(shù)據(jù)3。 1.4 運行環(huán)境的要求 1.4.1 軟件環(huán)境 客戶端:windowsxp; 服務器端:windowsxp, microsoft sql server 2000,jsp, tomcat 環(huán)境。 1.4.2 硬件環(huán)境 奔騰 4、內(nèi)存 1g 以上、160gb 以上硬盤空間的 pc 機滿足輸入端條件。 1.5 運行環(huán)境的配置 1)啟動內(nèi)存參數(shù)的配置 tomcat/bi

24、n/catalina.bat 如果是 linux 就是 catalina.sh 在 rem 的后面增加如下參數(shù) set java_opts= -xms256m -xmx256m -xx:maxpermsize=64m 2)修改 tomcat 的 jdk 目錄 打開 tomcat/bin/catalina.bat 在最后一個 rem 后面增加 set java_home=c:program filesjavajdk1.6.0 3)增加虛擬目錄 /tomcat/conf/server.xml 第一行是以前默認存在的,第二行是新增的 4)get 方式 url 亂碼問題解決 打開 tomcat/con

25、f/server.xml 查找下面這部分,在最后增加一段代碼就可以了。 其中的 utf-8 請根據(jù)你的需要自己修改,比如 gbk 5)虛擬主機配置文件 tomcat/conf/server.xml . 2 系統(tǒng)分析 2.1 理學院 bbs 系統(tǒng)技術可行性分析 bbs 系統(tǒng)就是提供給注冊用戶一個平臺,會員用戶可以通過 internet 接入,登錄 本系統(tǒng),在這個平臺上發(fā)表文章、閱讀文章、回復文章等等。 此類系統(tǒng)通常有以下四種類型的操作用戶:游客、普通用戶、版主、超級管理員。 每類用戶有其不同的操作集,系統(tǒng)通常提供一個統(tǒng)一的登錄頁面,此頁面應能自動識 別不同級別的用戶,并提供不同的操作界面。與之相

26、應,此類系統(tǒng)通常應具有以下功 能:用戶注冊、用戶登錄、發(fā)表文章、閱讀文章、回復文章、分頁查找、標題查找、 作者查找、個人資料維護、版面管理、版主管理、用戶管理等等,所有操作都可以由 用戶在客戶端瀏覽器中完成,而服務器端程序會按用戶的要求來完成對系統(tǒng)數(shù)據(jù)的操 作,并將結果傳給 web 服務器,再由 web 服務器處理成 html 文件后發(fā)送到客戶端瀏覽 器。這就是所謂的 b/s 結構應用系統(tǒng),b/s 結構即 browser/server(瀏覽器/服務器)結 構4。 將應用程序分成好幾個離散邏輯組件,就是多層式結構 (n-tier) 應用程序。最 常見的選擇是分成三個部分:表示層、事務邏輯層和數(shù)據(jù)

27、層(3-tier),不過也有其它 的組合4。下面就是 3-tier 結構各層功能以及經(jīng)常采用的技術作個簡介: 表示層主要運行于客戶端瀏覽器,采用 script (腳本)語言編寫。 html、javascript、jsp 是此類應用系統(tǒng)中展示層最常用的腳本編制語言,結合 ccs 以 及 activex 技術,能設計出交互相當靈活功能又相當強大的客戶端網(wǎng)頁2。 事務邏輯層設計通常有個選擇: com 或 com+組件、dbms 中所執(zhí)行的預存程序。將 程序代碼的一部分,建立成執(zhí)行于數(shù)據(jù)庫管理系統(tǒng) (dbms) 中的預存程序,使數(shù)據(jù)與 程序代碼儲存在相同的位置,有助于最佳化執(zhí)行效率7。以 com 對象

28、的方式,編寫中 間層事務邏輯,可以使用全功能的語言,來產(chǎn)生經(jīng)過編譯的執(zhí)行程序,執(zhí)行效率也相 當高,此外,在 com 對象中包裝事務邏輯,還可以清楚地將此程序代碼與網(wǎng)頁內(nèi)含的 展示程序代碼分隔,這樣可以使應用程序更易于維護,但是,com 對象的部署也有一定 的麻煩,新編寫的組件對象,只有在服務器重新啟動后才能被應用程序調(diào)用。用 jsp 網(wǎng)頁設計事務邏輯相對來說比較簡單,但是,jsp 網(wǎng)頁中的程序代碼也是難以維護的, 因為事務邏輯程序代碼與建立使用者接口的展示程序代碼彼此混雜在一起3。 綜上所述,結合本系統(tǒng)實際需要,本 bbs 系統(tǒng)采用 b/s 結構,mvc 解決方案,mvc 中文翻譯為模式-視圖

29、-控制器。mvc 應用程序總是由這三個部分組成。event(事件) 導致 controller 改變 model 或 view,或者同時改變兩者。 因此,本系統(tǒng)事務邏輯層設計采用 jsp 網(wǎng)頁;至于數(shù)據(jù)層,本系統(tǒng)采用最基本的 sql server 數(shù)據(jù)庫系統(tǒng)。 本系統(tǒng)要求客戶端支持 ie5.0 以上或與之兼容的瀏覽器軟件,客戶端硬件最低要 求對應于 ie4.0 的硬件平臺要求。服務器端要求支持 jsp 以及 sql server 數(shù)據(jù)庫。 本系統(tǒng)的開發(fā)環(huán)境和開發(fā)工具為:windowsxp,jsp,microsoft sql server 2000,tomcat, eclipse。 2.2 系統(tǒng)

30、需求分析 2.2.1 系統(tǒng)的綜合要求 1)系統(tǒng)界面要求 系統(tǒng)的初始界面假定用戶是匿名登錄,用戶可以通過初始界面提供的統(tǒng)一的用戶 登錄接口,登錄進入各自的操作界面。 2)系統(tǒng)功能要求 本系統(tǒng)應具有通常 bbs 網(wǎng)站應該具有的功能,包括用戶注冊、用戶登錄、匿名登 錄、發(fā)表文章、閱讀文章、回復別人的文章、分頁查找、標題查找、作者查找、版面 管理、版面公告、版主管理、用戶管理等,此外,用戶在發(fā)表貼子時,能輸入帶格式 文本。 本系統(tǒng)操作用戶按級別由低到高依次可分為:游客用戶、普通會員用戶、版主用戶、 超級管理員用戶。高級別的用戶可以繼承低級別用戶的公用功能。 1)游客用戶功能要求 通用功能:查看各版面文

31、章、查看系統(tǒng)版主列表。 私有功能:注冊為系統(tǒng)正式會員、登錄為正式會員。 2)普通會員用戶功能要求 通用功能:發(fā)表或回復貼子、退出或重新以匿名身分登錄。 3)版主用戶功能要求 通用功能:貼子管理、張貼公告。 4)超級管理員用戶功能要求 通用功能:論壇基本設定、版面管理、版主管理、用戶管理。 2.2.2 系統(tǒng)的數(shù)據(jù)要求 根據(jù)系統(tǒng)的功能需求,本系統(tǒng)管理和維護以下幾種數(shù)據(jù)元素(實體 entity):會 員、版主、超級管理員、論壇、論壇版面、貼子。 1)會員實體 會員用戶包含這樣一些基本屬性:用戶 id、用戶圖像、用戶名、用戶密碼、用戶 性別、聯(lián)系電話、oicq、e-mall、地址。其中,用戶名為用戶唯

32、一標志,不允許重名。 其中用戶圖像提供多種選擇,使論壇更加生動。 2)版主 版主實際上派生于會員用戶,意味著只有會員用戶才有資格擁有本論壇各版面的 管理權限,一個版主是有超級管理員任命的。一個版主可以管理幾個版面,一個版面 可以由幾個版主管理。版主的權限在會員基礎上增加了管理與某版面相關的數(shù)據(jù)信息。 3)超級管理員 超級管理員具有管理和維護本論壇所有數(shù)據(jù)信息的權限,論壇初始設置一個超級 管理員,即 test,超級管理員可以任命論壇會員以及版主為超級管理員,超級管理員 還具有進入論壇后臺界面的權限,可以修改論壇的數(shù)據(jù)信息的全部權限。 4)論壇 論壇基本信息比較穩(wěn)定,只能為超級管理員所維護,此實體

33、包括以下一些基本屬 性:論壇 ip 地址,論壇域名,論壇名稱、論壇版面、論壇版權信息。 5)版面 論壇版面包含這樣一些基本屬性:版面名稱、版面簡介、版面公告、版主。此外, 論壇版面實體與版主以及超級管理員實體有聯(lián)系,與貼子實體也有聯(lián)系。 6)貼子 貼子包含以下一些基本屬性:所屬版面,作者,主題,表情,發(fā)表時間,貼子內(nèi) 容,回復數(shù)量,當前頁碼,最后一次更新貼子時間。貼子包括兩種類型:主貼和回復。 幾個基本實體-聯(lián)系圖(e-r 圖)如下: 用戶 id 用戶名密碼性別圖像email其他 用戶 管理 版面管理 版面 id版面名稱版面介紹 是否被任命管理員 m n 圖 2-1 用戶與論壇版面的 e-r

34、圖 圖 2-2 用戶與帖子之間的 e-r 圖 2.2.3 數(shù)據(jù)結構的設計 參照用戶與版面之間管理關系 e-r 圖,可以將用戶、版面轉(zhuǎn)換成三個關系模式, 設計如下: 論壇版面關系模式(版面 id#,版面名稱,版面簡介,版面公告,版主) 用戶關系模式(用戶 id#,用戶圖像,用戶名,用戶密碼,用戶性別,聯(lián)系電話, oicq,e-mall,地址) 版主員關系模式(版主用戶名#,管理版面,是否被任命) 參照用戶與貼子之間 e-r 圖,可以將其轉(zhuǎn)換成二個關系模式,設計如下: 用戶關系模式(用戶 id#,用戶圖像,用戶名,用戶密碼,用戶性別,聯(lián)系電話, oicq,e-mall,地址) 貼子關系模式(帖子

35、id#,所屬版面,作者,主題,表情,發(fā)表時間,貼子內(nèi)容, 回復數(shù)量,當前頁碼,最后一次更新貼子時間) 按照上述轉(zhuǎn)換方法,再結合系統(tǒng)一些功能以及性能方面的需要,系統(tǒng)所有關系模 式設計如下: 論壇基本信息(論壇 ip 地址,論壇域名,論壇名稱、論壇版面、論壇版權信息) 論壇版面信息(版面 id#,版面中文名,版面簡介,版面公告,版主) 用戶基本信息(用戶 id#,用戶圖像,用戶名,用戶密碼,用戶性別,聯(lián)系電話、 oicq,e-mall,地址) 貼子基本信息(帖子 id#,所屬版面,作者,主題,表情,發(fā)表時間,貼子內(nèi)容, 回復數(shù)量,當前頁碼,最后一次更新貼子時間) *注:第一個帶“#”標志的屬性為本

36、關系模式的主鍵,其它為外鍵。 2.3 性能需求 考慮到目前的設計階段,但該網(wǎng)絡平臺今后可能會被陜西科技大學理學院采用, 故該系統(tǒng)的總體性能和運行速度應有一定的嚴格要求,具體如下,聯(lián)機系統(tǒng)對用戶請 求的響應時間不應超過 20 秒,以免用戶產(chǎn)生等待感;內(nèi)存不應少于 128mb;作為服務 器,cpu 最好為 p- 3.0 或以上。 2.4 系統(tǒng)的運行需求 1)操作系統(tǒng) 操作系統(tǒng)對使用 jsp 開發(fā)網(wǎng)絡平臺(網(wǎng)站)的影響不是很大, windows2000、windows xp、 windows nt 都可以,但好的操作系統(tǒng)可以使網(wǎng)頁的瀏覽 更流暢,減少系統(tǒng)崩潰的可能性。因此,我們選用了比較流行的 wi

37、ndows xp。 2)數(shù)據(jù)庫 由于本系統(tǒng)存儲數(shù)據(jù)并不是很多,考慮到簡單易用方面,我采用了 microsoft sql server 2000 數(shù)據(jù)庫。 3 系統(tǒng)設計 3.1 系統(tǒng)設計思想 本 bbs 系統(tǒng)采用模式-視圖-控制器三層結構架構設計。如圖 3-1 所示。 模式 視圖 控制器 圖 3-1 三層架構的工作原理圖 采用三層架構以后,用戶界面通過統(tǒng)一的接口向功能處理層發(fā)送請求,功能處理 層按自己的邏輯規(guī)則將請求處理之后進行數(shù)據(jù)庫操作,然后將數(shù)據(jù)庫返回的數(shù)據(jù)裝成 類的形式返回給用戶界面層。這樣用戶界面層甚至可以不知道數(shù)據(jù)庫的結構,它只要 維護與業(yè)務層之間的接口即可。這種方式在一定程度上增加了

38、數(shù)據(jù)安全性,同時也降 理學院 bbs 操 作界面 jsp; sql server 給出需要處理的 id 一 事 實 i d i i i d i d i d 返回處理結果 數(shù)據(jù)庫操作語 句處理數(shù)據(jù)庫 返回處理結果 數(shù)據(jù)庫 低了對用戶界面層開發(fā)人員的要求,因為它根本不需要進行任何數(shù)據(jù)庫操作6。 上面的數(shù)據(jù)讀取及寫入文件通過返回對象的形式來返回數(shù)據(jù),在類是內(nèi)部可以規(guī) 定哪些數(shù)據(jù)可以訪問,哪些數(shù)據(jù)是只讀的等,從而通過封裝數(shù)據(jù)達到再一次提高數(shù)據(jù) 安全性的目的7。 3.2 系統(tǒng)功能模塊劃分 本論壇平臺包括的模塊有: 1)論壇管理員 a)刪除主題(bbsaction.java / deleterootbbs

39、):管理員可以刪除任何人的主題 貼;版主只能刪除本版內(nèi)任何人發(fā)表的主題貼。 b)回復主題(bbsaction.java / answerbbs):回復已經(jīng)發(fā)表的主題(記錄回復人 信息:注冊用戶的用戶名、圖像、性別、oicq、地址、回復時間)包括:回復標題、 表情,發(fā)表時間,回復內(nèi)容。 c)論壇可以分版塊(boardform.java):每一版塊可以有若干個版主,版主負責管 理本版塊內(nèi)的帖子(刪除,設為置頂,設為精華貼,版面公告等) 。 d)版主的設定(adminaccess.java):有超級管理員來負責任命每個版塊版主。 e)顯示(bbsusersingle.jsp):用戶登錄系統(tǒng)后,可以查

40、看個人信息,如用戶名, 電話,e-mail,地址等。 2)用戶 a)用戶注冊(logxaction.java / userreg):用戶可以注冊為該系統(tǒng)成員,注冊 信息要求有登陸的用戶圖像、用戶名、用戶密碼、用戶性別、聯(lián)系電話、oicq、e- mall、地址等,在發(fā)表主題貼和跟貼時,記錄其登陸信息(用戶名、圖像、性別、 oicq、地址) 。 b)用戶登錄(logxaction.java / login):對于注冊用戶,可以憑其注冊用戶名 和密碼進入論壇;另外論壇支持“游客”用戶, “游客”只可以看貼。 c)發(fā)表主題(bbsaction.java / addbbs):用戶發(fā)表一個討論的主題,包括

41、標題、 表情、正文等,同時可以選擇正文的字體,顏色以及大小。 d)查看主題列表以及詳細信息(bbsaction.java / rootlistshow):在詳細信息 頁面中,顯示主題貼的標題和正文以及該主題的所有回復。 e)刪除主題(bbsaction.java / deleterootbbs):用戶只能刪除自己撰寫的主題。 通過以上系統(tǒng)功能分析,可以畫系統(tǒng)的功能模塊圖,本論壇從論壇主頁界面、論 壇后臺管理界面、帖子管理界面分別對模塊加以描述。資源權限管理員界面的系統(tǒng)功 能模塊如圖 3-2 所示: 圖 3-2 管理員功能模塊圖 普通用戶界面的系統(tǒng)功能模塊圖如圖 3-3 所示: 圖 3-3 普通

42、用戶功能模塊圖 3.3 系統(tǒng)流程圖 開始 系統(tǒng)首頁 登錄成功? 進入功能界面 結束 n y 圖 3-4 系統(tǒng)登錄處理流程 4 數(shù)據(jù)庫設計 4.1 數(shù)據(jù)庫需求分析 通過上述系統(tǒng)功能分析,針對系統(tǒng)平臺的需求,總結出如下的需求信息: 1)用戶分為游客用戶、會員用戶(包括:普通會員用戶、版主和超級管理員) 。 2)每個會員用戶都有自己的基本信息,以及會員權限。 3)每個版主都有自己的信息,并且有版主的相關權限。 4)每個超級管理員都有自己的信息,并擁有超級管理員的權限。 經(jīng)過上述系統(tǒng)功能分析和需求總結,因為這是普通的網(wǎng)站數(shù)據(jù)庫,不存在什么隸 屬關系,考慮到將來功能上的擴展,設計如下面所示的數(shù)據(jù)項和數(shù)據(jù)

43、結構: 1)超級管理員信息,包括數(shù)據(jù)項:用戶名、密碼、權限、基本資料。 2)版主用戶,包括數(shù)據(jù)項:用戶名、密碼、權限、基本資料。 3)會員用戶,包括數(shù)據(jù)項:用戶名、密碼、權限、基本資料。 4)帖子,包括數(shù)據(jù)項:標題、新聞內(nèi)容、發(fā)表時間,發(fā)表用戶。 4.2 數(shù)據(jù)庫概念結構設計 得到上面的數(shù)據(jù)項和數(shù)據(jù)結構以后,就可以設計出能夠滿足用戶需求的各種實體 (管理員,會員用戶,帖子等實體) ,以及他們之間的關系。 大學生就業(yè)系統(tǒng)平臺因為輸入對外的實體類型不是很多,關系也不是很復雜。下 圖為大學生就業(yè)系統(tǒng)平臺實體 e-r 圖: 1 n 1 n n m n 圖4-1 實體之間關系的e-r圖 圖4-2 會員用戶

44、信息實體的e-r圖 帖子 版面 id 標題 發(fā)表時間 發(fā)表人 會員 用戶 id 用戶名 相關資料 密碼 會員 發(fā)表 帖子 用戶管理員 版面 瀏覽管理 所屬 權限 帖子 id 被執(zhí)行的操作 、 、 、 、 、 、 圖4-3 帖子實體的e-r圖 其他實體與基本信息表間的對應關系都是類似的,這里就只列出這些。系統(tǒng)數(shù)據(jù) 表清單如表 4-1 所示: 表4-1 系統(tǒng)數(shù)據(jù)表清單 數(shù)據(jù)表數(shù)據(jù)表名稱數(shù)據(jù)表用途 tb_bbs發(fā)表帖子的基本信息 記錄帖子的基本信息、發(fā)帖人資料和是否被管理操 作 tb_bbsanswer回復帖子的基本信息記錄回復帖子的基本信息及回復人的資料 tb_board版面的基本信息記錄版面發(fā)帖

45、信息及版主 tb_class版塊的基本信息記錄版塊信息及簡介 tb_user用戶的基本信息記錄用戶信息及權限 4.3 數(shù)據(jù)庫邏輯結構設計 數(shù)據(jù)庫的概念結構設計完后,現(xiàn)在將上面的數(shù)據(jù)庫概念結果轉(zhuǎn)化為數(shù)據(jù)庫所支持 的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結構6。系統(tǒng)的數(shù)據(jù)庫中各個表的設計結果如 下面表格所示(每個表格表示在數(shù)據(jù)庫中的一個表) 。 1)用戶基本信息表 表4-2用戶信息表(tb_user) 字段名類型長度是否可以為空說明 idsmallint2否關鍵字 user_namevarchar20是用戶名 user_passwordvarchar20是密碼 user_facevarchar11是圖像

46、 user_sexvarchar2是性別 user_phonevarchar12是聯(lián)系電話 user_oicqvarchar14是oicq 號碼 user_emailvarchar100是e_mail user_fromvarchar200是來自 user_ablevarchar1是權限 內(nèi)容 2)版塊的基本信息表 表4-3版塊的基本信息表(tb_class) 字段名類型長度是否可以為空說明 class_idsmallint2否關鍵字 class_namevarchar40是版塊名稱 class_introvarchar200是版塊介紹 3)版面的基本信息表 表4-4版面的基本信息表(tb_b

47、oard) 字段名類型長度是否可以為空說明 board_idint4否關鍵字 board_classidsmallint2是版塊 id 號 board_namevarchar40是版面名稱 board_mastervarchar20是版主 board_pcardvarchar300是版面公告 4)發(fā)表帖子的基本信息表 表4-5發(fā)表帖子的基本信息表(tb_bbs) 字段名類型長度是否可以為空說明 bbs_idint4否帖子 id 號 bbs_boardidint4是版面 id 號 bbs_titlevarchar70是帖子標題 bbs_contentvarchar2000是帖子內(nèi)容 bbs_se

48、ndervarchar20是發(fā)帖人 bbs_sendtimedatetime8是發(fā)帖時間 bbs_facevarchar10是表情 bbs_optimedatetime8是將帖子提前時間 bbs_istopvarchar1是置頂帖子 bbs_totoptimedatetime8是置頂時間 bbs_isgoodvarchar1是設置精華帖 bbs_togoodtimedatetime8是設精華帖時間 5)回復帖子的基本信息表 表4-6回復帖子的基本信息表(tb_bbsanswer) 字段名類型長度是否可以為空說明 bbsanswer_idint4否回復 id 號 bbsanswer_rootid

49、int4是發(fā)表 id 號 bbsanswer_titlevarchar70是回復標題 bbsanswer_contentvarchar2000是回復內(nèi)容 bbsanswer_sendervarchar200是回復人 bbsanswer_sendtimedatetime8是回復時間 bbsanswer_facevarchar10是回復表情 4.4 數(shù)據(jù)庫的生成與配置 經(jīng)過前面的需求分析和概念設計以后,得到數(shù)據(jù)庫的邏輯結構?,F(xiàn)在就可以在 sql server 2000 數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表了。 打開 microsoft sql server 2000,新建一個數(shù)據(jù)庫,名稱為“db_luntan.md

50、b” 。 通過表的創(chuàng)建器創(chuàng)建我們需要的表以及查詢。 5 模塊設計與實現(xiàn) 5.1 數(shù)據(jù)庫的連接與訪問實現(xiàn) 本系統(tǒng)數(shù)據(jù)庫的連接是用以下 db.java 文件實現(xiàn)的,其代碼如下: package com.yxq.dao; public class db private string classname; private string url; private string username; private string password; private connection con; private preparedstatement pstm; public db() url=jdbc:jtd

51、s:sqlserver:/localhost:1433;instancename=dbo;databasen ame=db_luntan; url=jdbc:odbc:db_luntan; username=sa; password=; try class.forname(classname); catch(classnotfoundexception e) system.out.println(加載數(shù)據(jù)庫驅(qū)動程序失??!); e.printstacktrace(); public void getcon() try con=drivermanager.getconnection(url,use

52、rname,password); catch (sqlexception e) system.out.println(獲取數(shù)據(jù)庫連接失敗!); e.printstacktrace(); public void dopstm(string sql,object params) if(sql!=null getcon(); try pstm=con.preparestatement(sql,resultset.type_scroll_insensitive,resultse t.concur_read_only); if(params=null) params=new object0; for(i

53、nt i=0;iparams.length;i+) pstm.setobject(i+1,paramsi); pstm.execute(); catch (sqlexception e) system.out.println(調(diào)用 db 類中 dopstm 方法時出錯!); e.printstacktrace(); public resultset getrs() try return pstm.getresultset(); catch (sqlexception e) system.out.println(db 類中的 getrs()方法出錯!); e.printstacktrace();

54、 return null; public int getupdate() try return pstm.getupdatecount(); catch (sqlexception e) e.printstacktrace(); return -1; public void closed() try if(pstm!=null) pstm.close(); catch(exception e) system.out.println(關閉 pstm 對象失??!); try if(con!=null) con.close(); catch(exception e) system.out.print

55、ln(關閉 con 對象失敗!); public static void main(string args) db db = new db(); db.getcon(); 5.2 論壇首頁的顯示以及登陸功能的實現(xiàn) 首頁界面如圖 5-1 所示(用戶未登錄): 圖5-1 論壇首頁界面 本頁為游客用戶第一次打開論壇頁面時可以看到的界面,頁面最上方為論壇的名 稱,其下是日期和時間以及導航欄,其下方為各個版塊的名稱和板塊版主的列表,同 時可以看到各個板塊的發(fā)帖總數(shù)、精華帖數(shù)和未回復的帖子數(shù)。 用戶登陸界面如圖 5-2 所示: 圖5-2 論壇用戶登陸界面 上圖為論壇會員用戶登陸的界面,頁面提供會員用戶登錄

56、功能之外,還有用戶注 冊和返回首頁的鏈接,提供游客用戶方便注冊成本論壇的會員和返回論壇首頁。當用 戶正確輸入用戶名和密碼時并登陸到論壇首頁,用戶顯示已登錄狀態(tài),并在上圖的登 錄裝態(tài)位置顯示登錄用戶的用戶名;若用戶名和密碼輸入錯誤,頁面進入錯誤提示頁 面,并設置返回按鈕。 用戶登錄時數(shù)據(jù)的處理源方法如下: public actionforward login(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) httpsession session=re

57、quest.getsession(); userform logoner=(userform)form; string username=change.htmlchange(logoner.getusername(); string userpassword=change.htmlchange(logoner.getuserpassword(); string sql=select * from tb_user where user_name=? and user_password=?; object params=username,userpassword; actionmessages m

58、essages=new actionmessages(); opdb myop=new opdb(); logoner=myop.opusersingleshow(sql, params); if(logoner!=null) session.setattribute(logoner,logoner); return (mapping.findforward(success); else messages.add(loginr,new actionmessage(luntan.bbs.login.e); saveerrors(request,messages); return mapping.

59、findforward(fault); 5.3 用戶注冊界面的設計與實現(xiàn) 用戶注冊界面圖,如圖 5-3 所示: 圖5-3 用戶注冊圖 用戶注冊頁面提供游客用戶注冊成本論壇的會員,其內(nèi)容包括用戶名、用戶密碼、 確認密碼、用戶性別、用戶圖像、聯(lián)系電話、oicq 等,當用戶完整填寫這些內(nèi)容,則 注冊成功,并轉(zhuǎn)入用戶已登陸的論壇首頁;若用戶資料錯誤或不完整,則進行錯誤提 示幫助用戶完成注冊。 用戶注冊時數(shù)據(jù)的處理的方法如下: public actionforward userreg(actionmapping mapping, actionform form, httpservletrequest r

60、equest, httpservletresponse response) actionmessages messages=new actionmessages(); httpsession session=request.getsession(); session.setattribute(mainpage,./pages/userreg.jsp); string validate=request.getparameter(validate); if(validate=null|validate.equals()|!validate.equals(yes) return mapping.fi

溫馨提示

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

評論

0/150

提交評論