畢業論文(基於jsp的論壇開發)(含原始檔)

切夢刀發表於2019-01-01

聯絡QQ:1225467431獲取本設計原始檔
摘要:基於B/S的論壇系統後臺設計,程式後臺功能有使用者的管理,簡訊管理,關鍵字管理,論壇主題管理,退出功能。管理員通過後臺管理系統能夠更加方便的對論壇的目前狀況,對使用者和帖子進行方便的管理。本系統應用了jsp,javaBean等技術。同時使用的是sqlserver2000資料庫,能夠適應論壇此類資料量比較大的系統。
  使用者管理能夠改變使用者的許可權,只要成功校驗為管理員登陸之後便可以對使用者的許可權進行修改。如把使用者設成普通使用者,版主或者管理員等。簡訊管理可以是使用者好友之間傳送簡訊,管理員可以傳送系統簡訊給某個使用者。論壇的主題分為二級主題,管理員可以就論壇的性質進行主題的修改,這也方便了論壇以後的變更。
     本後臺系統主要用到了html+css技術做靜態樣式的處理,jsp+javaBean做動態資料互動。

關鍵詞:  資料庫;JSP;論壇後臺系統


Abstract:  Forum system based on B / S background design, background program features user management, message management, keyword management, forum topics, the exit function. Background management system administrators to be more convenient on the current status of the Forum on the users and posts to facilitate the management. This system is applied technology of jsp, javaBean,. At the same time using a sqlserver2000 database, able to adapt to the forum of such data than the larger system.
     The user management can change the user's permission, as long as the successful calibration for the administrator login will be able to modify the permissions of the user. If the user is set as an ordinary user, moderator or administrator. SMS management can send text messages between the user's friends, the administrator can send system messages to a user. The theme of the forum is divided into two themes, the administrator can on the nature of the forum, the theme changes, which also facilitate future changes to the forum.
     This background system is mainly used in the html + css technology static style the processing jsp + javaBean, do dynamic data exchange.

KEY WORDS: datebase;jsp;forum backstage system

聯絡QQ:1225467431獲取本設計原始檔
目錄     

TOC \o "1-3" \h  \u 第1章 概述    1
1.1課題背景    1
1.2論壇的發展史    1
1.3系統的功能概述    2
第2章 開發平臺與相關知識簡介    3
2.1 Java 簡介    3
2.2 JSP介紹    3
2.3開發工具與環境的搭建    4
2.3.1開發工具簡介    4
2.3.2專案部署與環境搭建    5
第3章   系統調研及可行性分析    6
3.1系統的綜合要求    6
3.1.1 硬體要求:    6
3.1.2 程式執行環境:    6
3.2 系統的設計目標    6
3.3系統的的可行性分析    7
3.4系統後臺功能總體模組圖    7
3.5後臺管理用例建模    8
第4章  系統總體設計    10
4.1 系統功能描述    10
4.2 系統功能結構圖    10
4.2.1 根據系統結構圖介紹功能    10
4.3系統流程分析    11
4.4 資料庫設計    12
4.4.1 資料表需求分析    12
4.4.2資料庫邏輯設計    13
第5章 系統的詳細設計    18
5.1 系統的後臺主介面模組設計    18
5.2 系統的管理模組    19
第6章 測試    27
6.1使用者管理模組測試    27
6.2 後臺管理模組測試    28
總結    29
參考文獻    30
致  謝    31

                 

第1章 概述
1.1課題背景
    BBS的英文全稱是Bulletin Board System,翻譯為中文就是“電子公告板”。BBS最早是用來公佈股市價格等類資訊的,當時BBS連檔案傳輸的功能都沒有,而且只能在蘋果計算機上執行。早期的BBS與一般街頭和校園內的公告板性質相同,只不過是通過電腦來傳播或獲得訊息而已。一直到個人計算機開始普及之後,有些人嘗試將蘋果計算機上的BBS轉移到個人計算機上,BBS才開始漸漸普及開來。近些年來,由於愛好者們的努力,BBS的功能得到了很大的擴充。 

利用論壇系統可以刊登一些"徵友"、"廉價轉讓"及"公司產品"等啟事,而且這個園地就在你我的身旁。而論壇後臺系統能為後臺管理員提供方便的論壇管理,利用後臺系統可以對論壇的主題,帖子的管理,使用者的管理進行操作。更加有利於網民們的交流自如。
1.2論壇的發展史
論壇發展至今,目前世界上業餘的論壇網路除了FidoNet(惠多網)以外,幾個較具知名度的還有EggNet、AlterNet和RBBS-Net等等。由於這些網路和FidoNet之間的資訊交流不成問題,這就實現了所謂的跨網。
大約是從1991年開始,國內開始了第一個BBS站。經過長時間的發展,直到1995年,隨著計算機及其外設的大幅降價,BBS才逐漸被人們所認識。1996年更是以驚人的速度發展起來。國內的BBS站,按其性質劃分,可以分為2種:一種是商業BBS站,如新華龍訊網;另一種是業餘BBS站,如天堂資訊站。由於使用商業BBS站要交納一筆費用,而商業站所能提供的服務與業餘站相比,並沒有什麼優勢,所以其使用者數量不多。多數業餘BBS站的站長,基於個人關係,每天都互相交換電子郵件,漸漸地形成了一個全國性的電子郵件網路China FidoNet(中國惠多網)。於是,各地的使用者都可以通過本地的業餘BBS站與遠在異地的網友互通訊息。這種跨地域電子郵件交流正是商業站無法與業餘站相抗衡的根本因素。由於業餘BBS站擁有這種優勢,所以使用者都更樂意加入。
這裡“業餘”2字,並不是代表這種型別的BBS站的服務和技術水平是業餘的,而是指這類BBS站的性質。一般BBS站都是由志願者開發的。他們付出的不僅是金錢,更多的是精力。其目的是為了推動中國計算機網路的健康發展,提高廣大計算機使用者的應用水平。
1.3系統的功能概述
後臺功能:管理員還可以設定許可權,設定版主,進行新增,刪除,修改操作還可以對註冊的使用者進行管理,包括註冊新使用者,對使用者資訊的修改以及刪除過期使用者,對主題的管理。新增欄目,帖子的管理,回覆的管理等,還可以將某寫帖子加入精華區和推薦區,或從精華區和推薦區中刪除,註冊人數的統計等。 


   
 

第2章 開發平臺與相關知識簡介

2.1 Java 簡介
     Java,是由Sun Microsystems公司於1995年5月推出的Java程式設計語言和Java平臺的總稱。用Java實現的HotJava瀏覽器(支援Java applet)顯示了Java的魅力:跨平臺、動態的Web、Internet計算。從此,Java被廣泛接受並推動了Web的迅速發展,常用的瀏覽器現在均支援Java applet。
2.2 JSP介紹
    JSP技術使用Java程式語言 (​http:​/​​/​baike.baidu.com​/​view​/​53201.htm​)編寫類XML的tags和scriptlets,來封裝產生動態網頁 (​http:​/​​/​baike.baidu.com​/​view​/​828.htm​)的處理邏輯。網頁還能通過tags和scriptlets訪問存在於服務端的資源的應用邏輯 (​http:​/​​/​baike.baidu.com​/​view​/​2646378.htm​)。JSP將網頁邏輯與網頁設計 (​http:​/​​/​baike.baidu.com​/​view​/​8972.htm​)和顯示分離,支援可重用的基於元件的設計,使基於Web的應用程式 (​http:​/​​/​baike.baidu.com​/​view​/​330120.htm​)的開發變得迅速和容易。JSP技術讓動態網頁的編寫更加容易、功能更強、可擴充套件性更好。
總結起來,它的特點如下:
(1)支援可重用元件
     JSP頁面中可以使用可重用的跨平臺的元件(JavaBean或Enterprise JavaBeans)來執行應用程式所要求更為複雜的處理。開發人員可以共享和交換執行普通操作的元件,使這些元件為更多的使用者或客戶團體所使用。JavaBean的使用也很方便,又由於Java的跨平臺性,也使得JavaBean的可移植性和可重用性非常高。
(2)採用標籤簡化頁面開發
    標準的JSP標籤能夠訪問和例項化JavaBeans元件,設定或者檢索元件屬性,下載Applet,以及執行用其他方法更難於編碼和耗時的功能。
    通過開發定製化標籤庫,JSP技術是可擴充套件的。第三方開發人員和其他人員可以為常用功能建立自己的標籤庫,這使得Web頁面開發人員能夠使用熟悉的工具和如同標籤一樣的執行特定功能的構件來工作。
(3)一次編寫,處處執行
由於JSP頁面的內建指令碼語言是基於Java程式語言的,而且所有的JSP頁面都要被轉換成Java Servlet,所以JSP頁面就具有Java技術的所有好處,包括健壯的儲存管理,安全性以及跨平臺性。由於Java語言的跨平臺性,JSP也擁有Java程式語言的Write once ,Runeverywhere的特點。
本系統採用JAVA語言做指令碼語言,結合BS模式,以jdk1.6.0_05+Tomcat6.0+sql2000+dreamwaver+ myeclipse作為開發環境。當今b/s模式開發的系統,大都採用ASP、JSP、PHP等技術,由於ASP等只能在Windows系統下執行,軟體移植性非常差,從安全性來看,也不是很安全,本系統採用JSP主要是從軟體的移植性出發,可以跨平臺,不受限制,健壯,同時也考慮到其特有的安全性。

2.3開發工具與環境的搭建

2.3.1開發工具簡介
  (1)MyEclipse簡介
MyEclipse企業級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴充套件,利用它我們可以在資料庫和J2EE的開發、釋出,以及應用程式伺服器的整合方面極大的提高工作效率。它是功能豐富的J2EE整合開發環境,包括了完備的編碼、除錯、測試和釋出功能,完整支援HTML, Struts, JSF, CSS, Javascript, SQL, jsp。
  在結構上,MyEclipse的特徵:
  (1)WEB開發工具
  (2) 應用程式伺服器的聯結器
  (3)J2EE專案部署服務
  (4)資料庫服務
對於以上每一種功能上的類別,在Eclipse中都有相應的功能部件,並通過一系列的外掛來實現它們。MyEclipse結構上的這種模組化,可以讓我們在不影響其他模組的情況下,對任一模組進行單獨的擴充套件和升級。
簡單而言,MyEclipse是Eclipse的外掛,也是一款功能強大的J2EE整合開發環境,支援程式碼編寫、配置、測試以及除錯。
(2)Potoshop CS5簡介
Photoshop是平面影象處理業界霸主Adobe公司推出的跨越PC和MAC兩界首屈一指的大型影象處理軟體。它功能強大,操作介面友好,得到了廣大第三方開發廠家的支援,從而也贏得了眾多的使用者的青睞。 
Photoshop支援眾多的影象格式,對影象的常見操作和變換做到了非常精細的程度,使得任何一款同類軟體都無法望其頸背;它擁有異常豐富的外掛(在Photoshop中叫濾鏡),熟練後您自然能體會到"只有想不到,沒有做不到"的境界.
(3)SQL Server簡介
 SQL Server是由Microsoft開發和推廣的關聯式資料庫管理系統 (​http:​/​​/​baike.baidu.com​/​view​/​687948.htm​)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發的。
      特點:(1)真正的客戶機/伺服器體系結構。   
           (2)圖形化使用者介面,使系統管理 (​http:​/​​/​baike.baidu.com​/​view​/​635537.htm​)和資料庫管理更加直觀、簡單。
         (3)豐富的程式設計介面工具,為使用者進行程式設計提供了更大的選擇餘地。  
         (4)具有很好的伸縮性,可跨越多種平臺使用。   
 (5)使使用者能夠很容易地將資料庫中的資料釋出到Web頁面上。   
          (6)SQL Server提供資料倉儲功能
2.3.2專案部署與環境搭建
 (1)若無myeclipse開發工具 
本地伺服器需先安裝tomcat伺服器。這裡選用的是tomcat6.0版本。
安裝好tomcat之後只需要把專案部署到tomcat的webapp目錄下啟動tomcat即可。
 為了方便測試,本人建議使用Gsql資料庫(綠色版的sqlserver2000)
   本地只需要訪問http://localhost:8080/bbs即可
   管理員則訪問http://localhost:8080/bbs/admin即可
 (2) 若有開發工具可以直接匯入到myEclipse,使用myEclipse裡面帶的tomcat也可以。
 第3章   系統調研及可行性分析
需求分析要求詳細、準確地分析清楚系統必須”做什麼”,它是關係到軟體開發成敗的關鍵階段,在需求分析階段,需要用到各種方法,技術和工具等。通常把一整套需求規格說明的方法,技術,圖形工具以及相應的軟體工具的集合稱為建模方法。
3.1系統的綜合要求

3.1.1 硬體要求:
處理器:Inter Pentium(Celeron) 4 1.6GHz 或更高。
記憶體:512MB
硬碟空間:40G

3.1.2 程式執行環境:
系統開發平臺:MyEclipse9.0、Photoshop CS5、 Dreamweaver CS4、
資料庫:SQL Server
系統開發語言:JAVA
執行平臺:Window2000,Windows Xp,Windows Server 2003, Linux
執行環境:java jdk-6u16

3.2 系統的設計目標
 本論壇中可以發帖和評論,在這裡首先通過使之成為論壇的使用者,註冊成功後可以發表個人見解以及文章或對別人文章的回覆,這裡可以對註冊的使用者進行管理,包括新使用者新增,對使用者資訊的修改以及刪除過期使用者(如果一年內未曾登入本論壇則視為過期使用者)論壇系統的目的是為廣大的網路使用者提供一個可以自由地,方便地發表自己的觀點和想法的網上空間。
後臺管理包括了使用者的管理,論壇主題,論壇類別,論壇帖子的管理,關鍵字的管理
還有線上人數和註冊人數的統計。

3.3系統的的可行性分析
可行性研究是為了弄清楚系統開發的專案是不是可以實現和值得進行研究的過程,實際上是一次大大簡化系統分析和系統設計的過程,所以,進行可執行性的分析是非常必要的,也是很重要的,經過最初的設計目標和進行的市場調查得出以下四點的可行性分析:
(1)經濟可行性:該平臺設計只是作為本人的畢業設計,又因為本人的設計能力有限,其功能還不能完善,所以沒有什麼經濟效益可談。
(2)技術可行性:JSP+Servlet的技術已經較為成熟。
(3)執行可行性:該系統需要搭建JVM即JAVA虛擬機器和Tomcat環境,在此環境下系統,並且在正確連線資料庫後可以正常執行。
(4)法律可行性:該平臺是作為畢業設計與商業無關,又因為是自主開發設計,因此不會構成侵權,在法律上是可行的。
通過以上的可行性分析,我將採用jsp+javascript等技術結合,運用Sql server資料庫對網站進行建設。
3.4系統後臺功能總體模組圖

   圖3.1 系統後臺功能模組圖
3.5後臺管理用例建模

     圖3.2  論壇帖子管理用例圖

圖3.3 後臺使用者管理用例圖

圖3.4 簡訊管理用例圖


圖3.5 關鍵字的管理用例圖
  第4章  系統總體設計
4.1 系統功能描述
本系統是論壇後臺系統設有論壇管理員具有最高許可權,除了可以使用版主的所有功能之外,還可以進行論壇使用者管理,帖子管理,回覆管理,主題管理,包括查詢,刪除,修改所有使用者的資訊和許可權等。
4.2 系統功能結構圖
 
圖4.1 簡單個人天地論壇系統結構
4.2.1 根據系統結構圖介紹功能
(1)後臺管理功能
後臺管理只有管理員能進入,進入的時候會判斷是否是管理員。後臺管理操縱著前臺的一些模組。主要包括引數設定和論壇管理。引數設定包括,對論壇名稱的設定、域名設定、圖片型別、圖片大小和稽核引數等。論壇管理包括,對使用者管理、論壇類別、論壇主題、論壇回帖、限關鍵詞、簡訊管理、註冊人數、訪問人數和退出系統等操作。
(2)退出功能
當所有使用者都操作結束後,單擊導航欄上的”退出”超連結退出論壇。退出操作會銷燬該使用者登入是儲存在Session中的所有資訊,下次再使用論壇登入時,必須重新登入。
4.3系統流程分析
由上面的設計分析,本論壇系統中的一些操作是有先後順序的例如只有先登入後才能做一些操作,從下面的流程圖中能看到系統的執行過程。系統流程圖下圖所示。

圖4.2 系統流程圖
4.4 資料庫設計
4.4.1 資料表需求分析 
(1)使用者表: 用於存放使用者的一些資訊。
(2)欄目表:用於顯示系統中欄目的主題的。
(3)發表主題表:用於記錄所有使用者發表的主題。
(4)回覆表:用於記錄所有使用者回覆的內容。
(5)簡訊表:用於記錄系統對使用者和使用者傳送簡訊的資訊。
(6)限制關鍵字表: 用於後臺管理的一些不合法的字元的限制。
(7)引數設定表:用於後臺管理引數設定。
根據以上的分析,確定本系統中的實體有:
(1)使用者實體:存放使用者資訊.
(2)欄目實體:存放欄目資訊.
(3)主題實體:主題實體和使用者存放多對多的聯絡
(4)回覆實體:回覆實體和使用者存在多對多的聯絡

                        圖4.3所示系統實體E-R圖

4.4.2資料庫邏輯設計
根據以上的設計,資料的欄位詳細設計如下: 
(1)使用者表(clubuser) :用於儲存使用者的註冊資訊,此表共設有25個欄位,clubuser_id是主鍵,clubuser_name為使用者名稱,clubuser_password為密碼。
表4.1 使用者表(clubuser)
名稱名稱    欄位名稱    資料型別    長度    非空(1可空)
使用者id    clubuser_id    Int    4    0
使用者名稱    clubuser_name    Nvarchar    100    1
使用者暱稱    clubuser_nickname    Nvarchar    50    1
使用者密碼    clubuser_password    Nvarchar    50    1
使用者郵箱    clubuser_emai    Nvarchar    50    1
使用者註冊時間    clubuser_reg_date    datetime    8    1
使用者進入次數    clubuser_enter_count    smallint    2    1
使用者Ip地址    clubuser_ip    nvarchar    50    1
使用者真名    clubuser_realname        nvarchar    50    1
使用者型別    clubuser_id_type    nvarchar    50    1
使用者性別    clubuser_sex        nvarchar    10    1
使用者最後時間    clubuser_lasttime    datetime    8    1
使用者問題    clubuser_question    varchar    50    1
使用者答案    clubuser_answer        varchar    50    1
使用者消費    payuser        tinyint    1    1
最後的ip    lastloginip    varchar    50    1
管理員IP    manage_lp_id    tinyint    1    1
個性簽名    signname        text    16    1
使用者頭像    userimg    varchar    25    1
版主    bbsmanager    tinyint    1    1
管理員    bbsadmin        tinyint    1    1
好友    friend    ntext        16    1
    bbsmanager等於1是版主等於0不是版主
bbsadmin等於1是管理員。等於0不是管理員。
(2)欄目表(BBS_Cate):用於存放欄目的表,共設有11個欄位,BBS_ID是主鍵,BBS_Cate_ID是主欄目號,BBS_Cate_PID是分欄目號,BBS_Cate_Name是欄目名。
表4.2 欄目表(BBS_Cate)
名稱名稱    欄位名稱    資料型別    長度    非空(1可空)
ID號    BBS_ID    int    4    0
主欄目    BBS_Cate_ID    varchar    20    0
下面的欄目    BBS_Cate_PID    varchar    50    1
欄目名    BBS_Cate_Name    varchar    50        1
主題數量    BBS_Cate_Topic    int    4    0
回覆數量    BBS_Cate_Reply    int    4    0
版主姓名    BBS_Cate_Manager_Name    varchar    200    1
版主郵箱    BBS_Cate_Manager_Email    varchar    50    1
轉正未轉正    deleted    int    4    0
是否展示    display    tinyint    1    1
位置排列    totop    int    4    1
Deleted等於1是轉正,等於0是未轉正。
Display等於1是展示,等於0是不展示。
Totop等於1是置頂,等於0不置頂。

(3)主題表(Bbstitle):用於存放使用者發表的主題的表,共設有29個欄位,id是主鍵,BoardID_1是主欄目號,BoardID_2是分欄目號,user_id是發表主題的使用者名稱,也是用於關聯的和使用者表。
表4.3主題表(Bbstitle)
名稱名稱    欄位名稱    資料型別    長度    非空(1可空)
ID號    id    bigint    8    0
主欄目號    BoardID_1    varchar    20    1
分欄目號    BoardID_2    varchar    20    1
使用者名稱    user_id    varchar    50    1
使用者暱稱    name    nvarchar    50    1
郵箱    mail        nvarchar    50    1
主題    title        nvarchar    50    1
內容    menu        ntext        16    1
IP地址    ip    nvarchar    50    1
瀏覽量    hit    int    4    0
跟帖數    rep        int    4    0
發帖時間    [date]    datetime    8    1
刪除和狀態表識    deleted    int    4    0
推薦表識    sign    int    4    0
跟帖時間    redate    datetime    8    1
原帖/轉帖    zhiye    int    4    0
精華表識和話題    huati        int    4    0
上傳的圖片    bbs_img        varchar    50    1
圖片說明    bbs_img_text        varchar    100    1
被誰修改過的    img_url    varchar    150    1
被誰修改過標1    img_url_display    int    4    0
圖片連線說明    img_url_text        varchar    100        1
加鎖    P_display        int    4    0
首頁顯示    showInHomepage    bit        1    1
圖片    picture    varchar    15    1
傳遞郵件數字    postnum    int    4    1
鎖定    bbstop    tinyint    1    1
P_display等於1是加鎖,等於0是取消加瑣。
Deleted等於1是刪除標識等於0就不刪除。
Sign等於1是推薦,等於0是不推薦。
Zhiye是原帖和轉帖。
Huati等於1是精華,等於0不是精華。
Bbstop等於1是加鎖,等於0不是加鎖。
(4)回覆表(bbsmenu):用於存放使用者對主題回覆的表,共設有20個欄位, id是主鍵,BoardID_1是主欄目號,BoardID_2是分欄目號,user_id是回覆人的使用者名稱,也是用於關聯的和使用者表。
表4.4 回覆表(bbsmenu)
名稱名稱    欄位名稱    資料型別    長度    非空(1可空)
ID號    id    bigint    8    0
主欄目號    BoardID_1    varchar    20    1
分欄目號    BoardID_2    varchar    20    1
回覆人的ID    pid    int    4    1
使用者名稱    user_id        varchar    50    1
回覆名稱    rename    nvarchar    50    1
回覆人郵件    remail    nvarchar    50    1
回覆內容    remenu    ntext        16    1
告訴    retel        nvarchar    50    1
回覆IP    reip        nvarchar    50    1
時間    [date]    datetime    8    1
標識    kind        int    4    1
顯隱狀態    deleted    int    4    1
使用者型別    usertype        int    4    1
圖片    bbs_img        varchar    50    1
圖片展示    bbs_img_display    int    4    0
圖片說明    bbs_img_text    varchar    100    1
是否被編輯過    img_url        varchar    150    1
編輯標識    img_url_display    int    4    0
連線內容    img_url_text        varchar    100    1

(5)限關鍵詞表(BBS_arrest):用於限制一些不合法的關鍵字的表,表中含有4個欄位,ID是主鍵,Content是內容,kind是關鍵字,indbdate是時間。
表4.5 限關鍵詞表(BBS_arrest)
名稱名稱    欄位名稱    資料型別    長度    非空(1可空)
ID    ID    Int    4    0
內容    Content    Varchar    50    1
關鍵字    Kind    Varchar    50    1
時間    indbdate    datetime    8    1

(6)引數設定表(Config):設定內容參數列,用於後臺的設定標題等的。表中含有3個欄位,id是主鍵,content是設定的內容,kind是標識。

表4.6 引數設定表(Config)
名稱名稱    欄位名稱    資料型別    長度    非空(1可空)
ID號    Id    Int    4    0
設定的內容    content    text    16    1
標識    kind    tinyint    1    1

(7)簡訊表(sms):用於接收資訊的。表中有9個欄位,ID是主鍵, title是標題,content是內容。
表4.7 簡訊表(sms)
名稱名稱    欄位名稱    資料型別    長度    非空(1可空)
ID號    Id    Int    4    0
題目    title    varchar    150    1
內容    content    ntext        16    1
傳送者    sender    varchar    20    1
接受者    accepte    varchar    20    1
時間    indate    datetime    8    1
回覆標識    replysign        tinyint    1    1
展示    display    tinyint    1    1
系統資訊標識    bbssystem    tinyint    1    1
第5章 系統的詳細設計
經過上面的調研究、設計、分析,開始轉化為實際的開發。介面的設計是最主要的,具體的開發如下:
5.1 系統的後臺主介面模組設計
後臺首頁主要是方便管理員用整個論壇進行管理

圖 5.1 首頁介面


顯示左邊欄目,右邊欄目的程式碼:
<IFRAME frameBorder=0 id=left name=left scrolling=yes src="<%=opentree%>" 
      style="HEIGHT: 100%; VISIBILITY: inherit; WIDTH: 140px; Z-INDEX: 2">
    </IFRAME>
    <IFRAME frameBorder=0 id=main name=main scrolling=yes src="<%=urlfile%>" 
      style="HEIGHT: 100%; VISIBILITY: inherit; WIDTH: 100%; Z-INDEX: 1">
</IFRAME>
左邊欄目展開下拉結構程式碼:
.sec_menu {
    BORDER-RIGHT: white 1px solid; BACKGROUND: #d6dff7; OVERFLOW: hidden; BORDER-LEFT: white 1px solid; BORDER-BOTTOM: white 1px solid
<TD id=submenu<%=i%>> <DIV class=sec_menu style="WIDTH: 115px"> 


5.2 系統的管理模組
系統管理也就是後臺的管理,包括使用者管理,論壇類別,論壇主題,論壇回帖,限關鍵詞,簡訊管理等。
(1)使用者管理:使用者管理主要是對所有註冊的使用者做的管理。都是在使用者表做的操作。
設定管理員:進入這個頁面後還需要是管理員身份的才能操作,前面會加個判斷頁面,設定管理員就是在使用者管理頁面裡點選是或者否,就可以設定是否是管理員了,修改也是針對這個使用者的修改,所以需要傳過去一個這個使用者的ID號和自己設定的管理標識就可以了,到另一個頁面接收,然後在修改資料庫就可以了,其實實現的步驟就是修改它在資料庫裡面的管理員標識欄位1和0,只要修改了標識就可以成為管理員。只要是修改為管理員了,其版主也會相應的修改。因為在做更新修改的時候是把兩個欄位同時更新了,所以兩個都修改了,但修改版主管理員不會做相應的修改。使用者管理介面如圖4-13所示。
檢視使用者的訪問次數:就是在資料庫裡讀出的資料,當使用者註冊的時候就把這個記錄登入的欄位加1,就是使用者登入一次記錄一下,主要是在登入的時候記錄的,把他存在資料庫裡面就不會丟失了。如果這個人的訪問次數多的話可以把他升級為版主。
設定版主:設定版主操作也是修改標識,把標識為1的變成0或者反過來,到登入的時候查詢是不是管理員或者版主,如果是則允許登入,但修改版主管理員不會做相應的修改,因為許可權不一樣比管理員低點,更新資料庫的時候也是隻更新一個欄位,就是版主的欄位。
封鎖:封鎖就是這個使用者被管理員封鎖了,不能登入了,如果登入的時候提示這個使用者被管理員封鎖了。在登入的頁面裡面有提示和判斷的,就是這個情況,實現的技術就是修改標識0和3,在更新資料庫的封鎖標識就可以了。主要是為了防止惡意使用者做的操作,所以要封鎖他的號。
修改:就是管理員修改使用者的個人資訊,為了更方便大家交流需要管理員修改一些使用者的資訊等。傳遞的時候是id號。因為沒有重複的,唯一標識的。。
刪除:就是刪除裡面的使用者過期使用者等,在刪除的時候會有提示,詢問使用者是否刪除,如果點是確定則刪除使用者,如果點取消則不刪除。這個是用指令碼控制的,實現技術是直接刪除傳過去的使用者ID的個人使用者做的操作。刪除會在資料庫裡面刪除了改使用者。

圖5.2 使用者管理介面中對使用者資訊刪除的操作程式碼如下:
<% 
String sql;
       String id = request.getParameter("id");
    //刪除使用者的一條記錄
    sql="delete from clubuser where clubuser_id="+id;
       stmt.executeUpdate(sql);
    response.sendRedirect(request.getHeader("referer"));
%>刪除操作
進入的時候判斷是否是管理員只有管理員的時候才能設定,程式碼如下:
<% 
       String sql;
       String id = request.getParameter("id");
       String bbsmanager = request.getParameter("bbsmanager");
    //只要是管理員登入就能修改許可權為管理員或不是並修改資料庫就是都改為1或0
sql="update clubuser set bbsmanager="+bbsmanager+",bbsadmin="+bbsmanager+" where clubuser_id="+id;
       stmt.executeUpdate(sql);
       response.sendRedirect(request.getHeader("referer"));
%>
主要是封鎖的操作管理員登陸的時候才能設定,程式碼如下:
<%
        String sql;
    String id = request.getParameter("id");
    String payuser = request.getParameter("payuser");
    //修改資料庫版主的標識1是版主0不是。
    sql="update clubuser set payuser="+payuser+" where clubuser_id="+id;
    stmt.executeUpdate(sql);
    response.sendRedirect(request.getHeader("referer"));
%>封鎖許可權
(2)論壇類別:主要是對欄目的設定做的操作,有新增欄目,轉正,修改和刪除。主要是對欄目表的操作,論壇類別介面如圖4-14所示。
欄目的新增:在進行操作的時候都是管理員操作,所以都有判斷是不是管理員,在新增的時候也是做一些處理,不允許為空,如果輸入正確後,點新增後則新增成功,新增的時候有新增一級類別和二級類別的區分,點選左邊樹的時候會傳過來判斷顯示是否是一級類別layer=0,並且在上面增加一個名稱,則在新增欄目上面顯示一級類別還是二級的。在名稱,版主和郵件上都顯示一級的。新增成功後,會直接更新在資料的下面,點選一級目錄會有個連線變成二級目錄,這個時候把所有的欄目都變成二級的包括名稱等。新增二級欄目,不管是新增一級還是二級的,會有個判斷,添進來的是一級還是二級的。這個時候如果在下面顯示則新增成功。
轉正:轉正是新增後的欄目,就是釋出還是不釋出的,如果點選轉正就是釋出,直接在前面的欄目能看到,如果不轉正則看不到在前面的頁面,其實現方法就是修改資料庫標識deleted用0和1,0是已經轉正,1是沒有轉正,點選更改後更改資料庫裡的欄目對應的值。
修改:修改是修改名稱,版主名稱和郵件和位置排列的資訊等。修改的時候會
把內容都查詢出來,在修改,修改也是對一級欄目的修改還是對二級的修改也是做判斷的會在欄目上面顯示是哪個欄目名稱。位置主要是實現欄目的位置的排列,查詢的時候會從上到下升序排列按照totop。
 刪除:刪除也是對點選不多的欄目的刪除,刪除的時候會有提示,如果點選確定後才能刪除,如果點選取消則不刪除。也是用系統提供的函式控制的。

圖5.3 論壇類別介面
(3)論壇主題:論壇主題是所有使用者發表的題目的記錄,主要包括搜尋,標題連線,內容,點選,回覆,推薦話題,精華話題,置頂話題,圖片轉正,狀態顯示隱藏,修改和刪除操作等,論壇主題介面如圖4-15所示。
搜尋:採用模糊查詢只要輸入關鍵字和選擇按照什麼類別查詢就會查詢出來你想要的內容。     
標題連線:點選標題就能檢視這個主題的內容說的是什麼內容,就是給個連線進入後就可以檢視標題的內容了。         
推薦話題:如果點選推薦話題是則在主題頁面點推薦,推薦話題就是比較好的 話題的總彙。主要是修改資料庫標識sign用0和1標識,kind是4還有就是這個頁面用同一個頁處理。
精華話題:如果點選精華話題是則在主題頁面點精華,精華話題就是比較好的話題的總彙。主要是修改資料庫標識huati為0和1標識,kind是2。
置頂話題:置頂是把好的內容放到最前面的操作。也是用標識bbstop為0和1,kind是1。
圖片轉正:圖片轉正主要是讓圖片顯示還是不顯示,首先也是判斷是否有圖片存在,如果存在才能操作,用bbs_img_display標識,0和1,kind是1。
狀態顯示隱藏:主要是主題的是否顯示和隱藏,也是更改資料庫標識1和0kind是2。
修改:修改就是修改主題,把不合規格的主題修改到另一個欄目上。
刪除:刪除就是刪除沒有意思的主題,刪除之前會有提示,如果點確定則刪除,否則取消。

圖5.4 論壇主題介面
這個功能的程式碼和上面使用者管理的程式碼相似。
(4)帖子管理:主要是對所有使用者對帖子的管理做的操作,包括搜尋,主題,圖片轉正,狀態,修改和刪除等操作,操作的是回覆表。論壇回帖管理介面如圖4-16所示。
搜尋:只要輸入關鍵字就可以進行搜尋了。方便查詢使用者的內容。只要是採用模糊查詢。
主題:點選進去直接就能觀看回復,可以按id,內容,和呢稱查詢,主要是給個連線。點連線就進去了。
圖片轉正:主要負責顯示回覆中傳的圖片是否是顯示,也是用標識bbs_img_display的值1或者0來判定他的顯示與否,如果點選為1則顯示,如果點選否則不顯示。
狀態:主要是負責是否顯示該回復內容。主要是顯和隱藏的操作。也是用資料庫標識deleted的值1和0來處理的,如果點選顯。則能顯示該回復內容,否則不顯示。
修改:點選修改則修改回覆的內容,不包括主題只是修改內容的。修改的時候用兩個欄位標識要修改的內容。因為有可能重複的主題,但ID是不會重複的。
刪除:該操作就是刪除點選的要刪除的項,會有提示。如果點選確定。則刪除,否則不刪除,採用的是系統提供的函式。

圖5.5 論壇回貼管理介面
這個功能的程式碼和上面的程式碼相似。
(5)訪問人數:主要是瞭解論壇的人氣的統計。採用的是JavaBean這樣可以防止同一個使用者不斷重新整理而增加點選率的。論壇訪問人數統計介面如圖4-17所示。

圖5.6 論壇訪問人數統計介面


統計訪問人數的函式如下:
  public final void updateCount(final Count arg) {
      Date createDate1=arg.getCreateDate();
      Date maxDate1=arg.getMaxDate();
      Date todayDate1=arg.getTodayDate();
      String createDate=sf.format(createDate1);
      String maxDate=sf.format(maxDate1);
      String todayDate=sf.format(todayDate1);
      int allCount=arg.getAllCount();
      int avgCount=arg.getAvgCount();
      int maxCount=arg.getMaxCount();
      int todayCount=arg.getTodayCount();
    try {
      Class.forName(sDBDriver);
      conn = DriverManager.getConnection(sConnStr,user,password);
      stmt = conn.createStatement();
      String sql="update count set allcount="+allCount+",todaycount="+todayCount+",avgcount="+avgCount+",maxcount="+maxCount+",todaydate='"+todayDate+"',maxdate='"+maxDate+"',createdate='"+createDate+"' where id=1";
      stmt.executeUpdate(sql);
    }
    catch(java.lang.ClassNotFoundException e) {
      System.err.println(e.getMessage());
    }
    catch(SQLException e) {
      System.err.println(e.getMessage());
    }
  }
}
第6章 測試
一個軟體在開發過程中不可能會沒有錯誤,所以需要用大量的資料進行測試,只有在測試中發現Bug,才能改正,才能保證程式的健壯性。本系統採用的是功能測試。下面對系統做了一些測試。
6.1使用者管理模組測試
                         表6.1 使用者管理模組測試
測試型別    功能測試    測試工具    無
用例ID    用例名稱    測試目的    輸入描述    預期結果    實際結果    測試資料
Wzuser001    使用者註冊    保證資料正確性    1輸入使用者名稱和密碼,郵箱。
2.提交。    1.可以正常的輸入資訊
2.進入成功註冊介面    2.提示註冊成功    Zhang,123456,123456
123456,aoxiao2003@163.com

Wzuser002    使用者登入    保證資料的一致性    輸入註冊過的使用者名稱和密碼,和驗證碼    進入到主頁面    登入成功    Zhang ,123456,4587
Wzuser003    資料修改    保證資料的更新    1.輸入密碼和頭像,簽名
2.提交修改    提示修改成功    修改後資料已經被修改    Zhang,456789,456789
Wzuser004    找回密碼    保證資料的安全    輸入使用者名稱和問題和答案    提示你的使用者名稱字和密碼    找回密碼,重新輸入登入成功    Zhang ,123456,123456
                  

6.2 後臺管理模組測試
     表6.2 後臺管理模組測試
測試型別    功能測試    測試工具    無
用例ID    用例名稱    測試目的    輸入描述    預期結果    實際結果    測試資料
wzadmi005    發表帖子    測試資料完整性    擇主題類別.    選擇成功.    在主頁顯示發表的主題    點選教育,選擇大學教育
wzadmi006    回覆帖子    測試資料完整性    輸入要回復的內容    回覆成功    顯示回覆的資料    你寫的帖子好精彩呀
wzadmi007    刪除帖子    保證資料安全性    選擇要刪除的專案    刪除掉選擇的資料    刪除成功    
wzadmi008    查詢帖子    保證資料的一致性    輸入關鍵字和要查詢的類別    查詢出要找的帖子    已經查詢出符合要求的帖子    太多的好處
                     
 


總結
 本畢業設計具體論述了論壇後臺系統的主要功能及體系結構。使用MyEclipse作為開發工具,SQL SERVER2000作為論壇的資料庫。重點討論了JSP+JavaBean與後臺資料庫連結等關鍵技術。這些技術的實現,滿足了系統的需要,優化了系統的效能。由於是基於B/S的系統,網頁在其中就承擔著非常大的工作,包括向服務端後臺寫入和修改資料,以及服務端響應客戶端的請求,向客戶端頁面返回資料,這些工作不可能只由幾個網頁來完成。我採用了現代軟體開發過程的模組化思想,先將系統功能進行分解,大致可分為兩部分,即前臺和後臺,前臺主要是帖子和介面的設計,主要用到html+css技術。後臺包括使用者管理,關鍵字管理,簡訊管理等幾個部分。在開發過程中可以逐步,逐個模組的實現,提高了開發效率。此論壇後臺系統極大的提高了管理員的管理效率,為日後的管理提供了很大的方便。

論壇後臺系統無論是在開發過程中,還是建成後的日常維護過程中,都需要進行嚴格的檢測,以保證論壇的正常運作與網路的通暢。 隨著網路通訊的飛速發展,網上交流優勢日趨明顯,會有更多的人蔘與到網上交流發表見解的浪潮中來。

參考文獻
[1]    陳小兵,趙永峰 .SQL Server 2000培訓教程[M]. 北京:清華大學出版社,2002年4月
[2]    苗雪蘭,劉瑞新,宋會群 .資料庫技術及應用[M].北京:機械工業出版社, 2005年3月
[3]    崔巍 .資料庫系統及應用[M].北京:高等教育出版社,2003年7月
[4]    曾長軍.SQL Server 資料庫原理及應用[M].上海:人民郵電出版社,2005年6月
[5]    鄧子云,張賜.SP網路程式設計從基礎到實踐[M].北京:電子工業出版社,2005年5月
[6]    李振捷,陳雄,王軍.JSP網站開發典型模組與例項精講[M].北京:電子工業出版社,2006年3月
[7]    戴志誠,趙國峰.JSP資訊化系統建設案例[M].上海:人民郵電出版社,2006年4月
[8]    姚輝.JavaScript原始碼大全1.0版[Z] (2003-02-28),[Online]Available:
     http://book.alixixi.com/softdown.asp?softid=98183
[9]    “W3School”.http://www.w3school.com.cn/h.asp(2012/3/8)
[10]    “W3School”.http://www.w3school.com.cn/jquery/index.asp(2012/4/5)

致  謝
畢業設計帶我來到了大學學習生涯的終點,一個嶄新的明天在向我招手。我希望畢業設計能為我的大學生涯劃上一個完美的句號。我想感謝的人很多,剛拿到這個課題時,覺得這個課題太難了。但是在今天回過去看看,卻十分的欣慰,因為被我挺過來了。經過這次設計,提高了我很多的能力,比如實驗水平、分析問題的能力等, 在這大學學習期間,有很多實踐的機會,但都是幾個人一組,不能很好的檢驗我們自己。本次畢業設計正好給我們提供了這樣一個好機會,來檢驗我們自己的能力。在這期間凝結了很多人的心血,在此表示衷心的感謝。沒有他們的幫助,我將無法順利完成這次設計。
首先,我要特別感謝老師對我的悉心指導,在設計期間老師幫助我理清設計思路,指導實驗方法,提出有效的改進方案,及指導我如何操作。導師淵博的知識、嚴謹的學風、誨人不倦的態度和學術上精益求精的精神使我受益終生,更是讓我懂得了如何對待以後的工作和學習。現在我對軟體的結構及軟體的設計的瞭解都有很大程度的提高。實現了理論知識與實際應用的結合,使我受益非淺。
其次,要感謝母校華軟學院所有老師與同學4年來對我的關心與支援,感謝各位老師在學習期間對我的嚴格要求。同時也要感謝身邊同學的熱心幫助。
再次,我要向我的父母致以最崇高的敬意,沒有你們無私的支援,就沒有我今天的成績, 正是他們始終如一的支援使我能夠安心學習。
最後,向幫助過我的老師和同學致以崇高的謝意,對審閱此論文的老師表示致謝,懇請提出批評和指正。

PAGE  

14
-  -

:基於B/S的論壇系統後臺設計,程式後臺功能有使用者的管理,簡訊管理,
 

相關文章