軟件技術畢業(yè)論文基于JSP的學生論壇系統(tǒng)的設計與實現(xiàn)_第1頁
軟件技術畢業(yè)論文基于JSP的學生論壇系統(tǒng)的設計與實現(xiàn)_第2頁
軟件技術畢業(yè)論文基于JSP的學生論壇系統(tǒng)的設計與實現(xiàn)_第3頁
軟件技術畢業(yè)論文基于JSP的學生論壇系統(tǒng)的設計與實現(xiàn)_第4頁
軟件技術畢業(yè)論文基于JSP的學生論壇系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、天津工業(yè)大學天津工業(yè)大學 畢業(yè)設計(論文)畢業(yè)設計(論文) 基于基于 jspjsp 的學生論壇系統(tǒng)的設計與實現(xiàn)的學生論壇系統(tǒng)的設計與實現(xiàn) 姓姓 名名 xxx 學學 院院 計算機科學與軟件計算機科學與軟件 專專 業(yè)業(yè) 軟件技術軟件技術 指導教師指導教師 xx 職職 稱稱 講師講師 2011 年年 05 月月 07 日日 目目 錄錄 前前 言言.i i 第第 1 1 章章 概概 述述.1 1 1.1 課題研究的背景和來源.1 1.2 課題研究成果應用的實際意義.1 1.3 本文的內(nèi)容及主要工作.2 第第 2 2 章章 相關技術簡介相關技術簡介.3 3 2.1 b/s 架構的介紹 .3 2.2 js

2、p 技術的介紹 .3 2.3 jsp 技術的優(yōu)勢與劣勢 .4 2.4 struts 框架 .4 2.5 本章小結.7 第第 3 3 章章 需求分析需求分析.8 8 3.1 系統(tǒng)實現(xiàn)目標.8 3.2 系統(tǒng)運行環(huán)境.8 3.3 系統(tǒng)的開發(fā)環(huán)境.9 3.4 功能性需求描述.9 3.5 文件夾組織結構.13 3.6 非功能性需求描述.13 3.7 本章小結.14 第第 4 4 章章 系統(tǒng)設計系統(tǒng)設計.1515 4.1 系統(tǒng)設計原則.15 4.2 數(shù)據(jù)庫設計.15 4.3 用戶發(fā)布主題模塊設計.19 4.4 本章小結.20 第第 5 5 章章 系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn).2222 5.1 發(fā)布主題實現(xiàn)過程.22

3、5.2 本章小結.29 第第 6 6 章章 系統(tǒng)測試系統(tǒng)測試.3030 6.1 測試的概念.30 6.2 本系統(tǒng)的測試方法.30 6.3 本章小結.31 第第 7 7 章章 總總 結結.3232 7.1 工作總結.32 7.2 系統(tǒng)的完善和心得.32 參考文獻參考文獻.3333 致致 謝謝.3535 前前 言言 隨著網(wǎng)絡時代的來臨和沖擊,全球經(jīng)濟一體化的趨勢加強,各國都面臨著 前所未有的機遇和挑戰(zhàn)。論壇作為一種先進的交流方式和管理技術,被廣泛認 為是企業(yè)和網(wǎng)站在運作中一種新型和快捷的交流形式,提高了用戶對企業(yè)和網(wǎng) 站的認知,方便了用戶回饋意見,在企業(yè)的競爭和發(fā)展中發(fā)揮著重要作用。論 壇作為網(wǎng)絡

4、時代的代表性標志之一,越來越多的被人們喜歡上了這種新的研究 問題的形式。隨著論壇的熱度逐漸升高,網(wǎng)絡論壇進入戰(zhàn)國時代,大大小小的 網(wǎng)絡論壇生長著消亡著,而隨著網(wǎng)絡的迅猛發(fā)展,網(wǎng)民們也逐漸分野細化,分 類細化的網(wǎng)絡社區(qū)呼之欲出。在對如今如此激烈的各種論壇中,結合不同的的 要求和業(yè)務需要,設計了一個適合于各種企業(yè)需要的,具有較強擴展性的論壇 系統(tǒng)。 系統(tǒng)的主要功能是建立一個可以討論各種問題的專區(qū),可以讓用戶和游客 發(fā)表自己的意見和建議,通過這樣不斷的完善企業(yè)或者網(wǎng)站的建設,同時也給 用戶提供了一個交流的平臺。本論壇同時具備管理員管理系統(tǒng),方便專門負責 的管理員管理用戶的信息、權限,發(fā)表的主題等。系

5、統(tǒng)采用 b/s 架構,易于論 壇擁有者要求的不同進行擴展。論壇的用戶可以到自己喜歡的論壇欄目下進行 討論,極大的方便了企業(yè)公司或者其他網(wǎng)站等同用戶間的聯(lián)系,更好的了解用 戶的想法。同時對于企業(yè)或網(wǎng)站的宣傳起到了極大的促進作用。 目前活躍的網(wǎng)絡論壇有強國論壇、中青論壇、球迷一家等。強國論壇是人 民網(wǎng)開設的論壇,目的是為那些愛國無門又有一腔熱血堵在心頭的愛國志士們 設立的。中青論壇是中青在線的論壇,其中的青年話題是人氣最旺的論壇,由 中青報編輯李方主持,以為文學女青年排憂解難和抒發(fā)小資情調(diào)為宗旨。球迷 一家和前面提到的天涯社區(qū)都屬于海南在線,主要收容當年從新浪體育沙龍?zhí)?亡的散兵游勇。 還有一些人

6、氣未必很高但聲望不低的專業(yè)類論壇。it方面有新浪it業(yè)界論 壇和donewsit寫作社區(qū),攝影類有第三只眼和江湖色論壇,文學類有橄欖樹 和詩生活等。這些論壇有個共同的特點:在喧鬧的網(wǎng)絡背景下,慘淡經(jīng)營,低 調(diào)運作。而混跡于其中的網(wǎng)民圖的是,有朝一日,能脫穎而出,在業(yè)界找到自 己的一席之地,所以論壇系統(tǒng)對于企業(yè)和用戶的作用都是巨大的??傊?,隨著 論壇技術的發(fā)展,論壇領域的不斷擴大,越來越多的網(wǎng)站如雨后春筍一樣出現(xiàn) 在網(wǎng)絡上,這些論壇不僅能提供給用戶一個交流的平臺,更為企業(yè)和一些知名 網(wǎng)站提高了影響力和知名度。在這個信息化的時代中,論壇逐漸成為了一種引 領企業(yè)進步,甚至是整個社會進步的標志性文化

7、第 1 章 概 述 1.1 課題研究的背景和來源 bbs 的英文全稱是 bulletin board system,翻譯為中文就是“電子公告板” 。bbs 最早是用來公布股市價格等類信息的,當時 bbs 連文件傳輸?shù)墓δ芏紱] 有,而且只能在蘋果計算機上運行。早期的 bbs 與一般街頭和校園內(nèi)的公告板 性質相同,只不過是通過電腦來傳播或獲得消息而已。一直到個人計算機開始 普及之后,有些人嘗試將蘋果計算機上的 bbs 轉移到個人計算機上,bbs 才開 始漸漸普及開來。近些年來,由于愛好者們的努力,bbs 的功能得到了很大的 擴充。目前,通過 bbs 系統(tǒng)可隨時取得國際最新的軟件及信息,也可以通過

8、bbs 系統(tǒng)來和別人討論計算機軟件、硬件、internet、多媒體、程序設計以及 醫(yī)學等等各種有趣的話題,更可以利用 bbs 系統(tǒng)來刊登一些“征友”、“廉價 轉讓”及“公司產(chǎn)品”等啟事,而且這個園地就在你我的身旁。只要您擁有 1 臺計算機、1 只調(diào)制解調(diào)器和 1 條電話線,就能夠進入這個“超時代”的領域, 進而去享用它無比的威力! 從構建的方式上分,bbs 可以分為 pc bbs 和 internet bbs。pc bbs 是利 用現(xiàn)有的電話網(wǎng)組成的 bbs 系統(tǒng),由于構建費用較少,所以上面所說的 bbs 一 般都是基于這種方式構建的。當業(yè)余 bbs 站的發(fā)展如火如荼的時候,隨著 chinan

9、et 的全面開通,越來越多的人用上了 internet,并從中體會到了使用它 的方便與樂趣。建立在 internet 基礎上的 bbs,也就是 internet bbs,已經(jīng)開 始發(fā)展。但是,由于目前構建 internet bbs 的費用較高,所以還沒有形成較大 的規(guī)模。相信隨著 internet 使用費用的下降,這種類型的 bbs 將會越來越多。 bbs 的發(fā)展過程中,也出現(xiàn)了一些問題。由于國內(nèi)使用的 bbs 架站軟件, 都是從國外引進的,因此沒有必要的中文說明。雖然一些熱心的站長翻譯了一 些資料,但是僅靠這些是遠遠不夠的。另外,有些站臺的設立是相互抄襲,所 以在結構上難免有雷同之處。 19

10、99 年是中國網(wǎng)絡的發(fā)展年。但是,我們應該清醒地認識到,目前一些 bbs 站并沒有走上“簡單、易用”這一層次。包括一些廠商架設的 bbs 站,實 用性還需要加強。今后,國內(nèi)的 bbs 站將向著個性化和專業(yè)化的方向發(fā)展。 綜上所述,一套好的 bbs 站臺對于一個企業(yè)或者網(wǎng)站是十分重要,它與整 個企業(yè)或者網(wǎng)站的發(fā)展息息相關,所以本人制作了一個擴展性極強,操作簡便 的 bbs 論壇站臺。 1.2 課題研究成果應用的實際意義 本文研究的主要目的是實現(xiàn)一個bbs論壇,能使用戶發(fā)表自己的想法,同時 管理員可以管理論壇的情況,并在此基礎上實現(xiàn)企業(yè)與用戶之間溝通的功能。 由于各個企業(yè)和網(wǎng)站有各自的項目和產(chǎn)品的

11、不同,各式各樣的的論壇不斷 的如雨后春筍滋生出來。平時對于企業(yè)的宣傳開發(fā)的過程中,需要對不同的企 業(yè)實現(xiàn)不同的設計。而在論壇系統(tǒng)開發(fā)的時候,只需要把該企業(yè)的需要的模塊 添加到論壇設置好的模塊中即可。這種形式的論壇開發(fā)方式偏重于應用和擴展 性,極大的方便了企業(yè)的管理和規(guī)劃。普通的廣告形式如果需求有了變化,往 往要大面積地修改代碼,甚至是重新開發(fā)。這樣就浪費了大量的人力物力。要 達到降低開發(fā)成本的目的,最直接的方法就是復用以前的系統(tǒng)。論壇系統(tǒng)只需 要管理員不斷的對已經(jīng)形成好的模塊形式進行更新就可以達到需要的目的,這 就是論壇系統(tǒng)相對于其他的形式的網(wǎng)站的優(yōu)越性。 本課題研究的系統(tǒng),就是要通過 web

12、 服務器在企業(yè)的不同網(wǎng)站間架設屬于 本企業(yè)的論壇。為企業(yè)與用戶間搭建起一個橋梁,并在此基礎上添加注冊用戶, 管理用戶等功能,實現(xiàn)企業(yè)中的技術討論,社區(qū)建設,更好的為企業(yè)服務。 1.3 本文的內(nèi)容及主要工作 本文在分析介紹了 b/s 結構下,struts 框架和 jsp 的基礎上,基于論壇系 統(tǒng)的需求特點,介紹了 jsp 模式的優(yōu)點,并且實現(xiàn)了論壇系統(tǒng)的基本功能。 各章的內(nèi)容組織如下: 第 1 章介紹了課題研究的背景及實際的應用意義; 第 2 章介紹了 b/s 結構,jsp 技術優(yōu)越性以及 struts 框架技術; 第 3 章分析了系統(tǒng)的開發(fā)環(huán)境,利用用例建模分析系統(tǒng)的功能需求,并且 根據(jù)實際情

13、況補充了部分需求,提出了非功能性需求,并描述了系統(tǒng)術語表; 第 4 章對系統(tǒng)進行總體設計,并對服務層、web 服務層、數(shù)據(jù)訪問層、消 息處理部分等進行詳細設計,對系統(tǒng)中用戶注冊、用戶登陸、權限控制、發(fā)表 言論等功能進行了詳細設計,對介紹了系統(tǒng)中數(shù)據(jù)庫表; 第 5 章主要介紹了javascript語言的面向對象和事件驅動的實現(xiàn),展示了 web客戶端根據(jù)相關協(xié)議與服務器交互的流程,并介紹了客戶端框架的實現(xiàn)以及 定時更新機制的實現(xiàn)。最后是服務器端的具體實現(xiàn),展示了安全控制機制下用 戶訪問服務器的流程,重點介紹了用戶注冊、用戶登陸、發(fā)表貼子、管理員與 用戶之間進行操作等的處理流程; 第 6 章測試部分

14、主要講解測試的概念以及本論文所需要的測試 第 7 章結論部分是對整個論文工作的總結以及下一步工作的展望,指出我 們工作中有待改進的地方,同時指明了下一步的研究方向。 第 2 章 相關技術簡介 2.1 b/s 架構的介紹 b/s 結構:(browser/server,瀏覽器/服務器模式):是 web 興起后的 一種網(wǎng)絡結構模式,web 瀏覽器是客戶端最主要的應用軟件。這種模式統(tǒng)一了 客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維 護和使用。 客戶機上只要安裝一個瀏覽器(browser),如 netscape navigator 或 internet explorer,服務器

15、安裝 oracle、sybase、informix 或 sql server 等數(shù)據(jù)庫。瀏覽器通過 web server 同數(shù)據(jù)庫進行數(shù)據(jù)交互。 b/s 最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件。 只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護。系統(tǒng)的擴展非常容易。 b/s 結構的使用越來越多,特別是由需求推動了 ajax 技術的發(fā)展,它的程 序也能在客戶端電腦上進行部分處理,從而大大的減輕了服務器的負擔;并增 加了交互性,能進行局部實時刷新。 2.2 jsp 技術的介紹 jsp 技術使用 java 編程語言編寫類 xml 的 tags 和 scriptlets,來封裝產(chǎn) 生

16、動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過 tags 和 scriptlets 訪問存在于服務端 的資源的應用邏輯。jsp 將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基 于組件的設計,使基于 web 的應用程序的開發(fā)變得迅速和容易。web 服務器在 遇到訪問 jsp 網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同 jsp 文件中的 html 代碼一起返回給客戶。插入的 java 程序段可以操作數(shù)據(jù)庫、 重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。 jsp 與 java servlet 一樣,是在服務器端執(zhí)行的,通常返回給客戶端的就 是一個 html 文本,因此客戶端只要有瀏覽器就能瀏覽。

17、jsp 的 1.0 規(guī)范的最后版本是 1999 年 9 月推出的,12 月又推出了 1.1 規(guī)范。 目前較新的是 jsp1.2 規(guī)范,jsp2.0 規(guī)范的征求意見稿也已出臺。 jsp 頁面由 html 代碼和嵌入其中的 java 代碼所組成。服務器在頁面被客 戶端請求以后對這些 java 代碼進行處理,然后將生成的 html 頁面返回給客戶 端的瀏覽器。java servlet 是 jsp 的技術基礎,而且大型的 web 應用程序的開 發(fā)需要 java servlet 和 jsp 配合才能完成。jsp 具備了 java 技術的簡單易用, 完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網(wǎng)

18、的所有特點。 自 jsp 推出后,眾多大公司都支持 jsp 技術的服務器,如 ibm、oracle、bea 公司等,所以 jsp 迅速成為商業(yè)應用的服務器端語言。 jsp 可用一種簡單易懂的等式表示為:html+java=jsp。 2.3 jsp 技術的優(yōu)勢與劣勢 jsp 頁面由 html 代碼和嵌入其中的 java 代碼所組成。服務器在頁面被客 戶端請求以后對這些 java 代碼進行處理,然后將生成的 html 頁面返回給客戶 端的瀏覽器。java servlet 是 jsp 的技術基礎,而且大型的 web 應用程序的開 發(fā)需要 java servlet 和 jsp 配合才能完成。jsp 具

19、備了 java 技術的簡單易用, 完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點, 這是 jsp 的天然優(yōu)勢。 jsp 的優(yōu)勢: (1)一次編寫,到處運行。在這一點上 java 比 php 更出色,除了系統(tǒng)之外, 代碼不用做任何更改。 (2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任 意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比 asp/php 的局限性是顯而易 見的。 (3)強大的可伸縮性。從只有一個小的 jar 文件就可以運行 servlet/jsp, 到由多臺服務器進行集群和負載均衡,到多臺 application 進行事務處理,消 息處理,一臺服

20、務器到無數(shù)臺服務器,java 顯示了一個巨大的生命力。 (4)多樣化和功能強大的開發(fā)工具支持。這一點與 asp 很像,java 已經(jīng)有 了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以 順利的運行于多種平臺之下。 jsp 的劣勢: (1) 與 asp 一樣,java 的一些優(yōu)勢正是它致命的問題所在。正是由于為了 跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復雜性。 (2) java 的運行速度是用 class 常駐內(nèi)存來完成的,所以它在一些情況下 所使用的內(nèi)存比起用戶數(shù)量來說確實是“最低性能價格比”了。從另一方面, 它還需要硬盤空間來儲存一系列的 java 文件

21、和 class 文件,以及對應的版本文 件。 2.4 struts 框架 2.4.1 struts 框架介紹 struts 最早是作為 apache jakarta 項目的組成部分,項目的創(chuàng)立者希望通過 對該項目的研究,改進和提高 javaserver pages 、servlet、標簽庫以及面向對象 的技術水準。struts 這個名字來源于在建筑和舊式飛機中使用的支持金屬架。這 個框架之所以叫struts,是為了提醒我們記住那些支撐我們房屋,建筑,橋梁, 甚至我們踩高蹺時候的基礎支撐。這也是一個解釋 struts 在開發(fā) web 應用程序 中所扮演的角色的精彩描述。當建立一個物理建筑時,建筑

22、工程師使用支柱為 建筑的每一層提供支持。同樣,軟件工程師使用 struts 為業(yè)務應用的每一層提 供支持。它的目的是為了幫助我們減少在運用 mvc 設計模型來開發(fā) web 應用 的時間。我們?nèi)匀恍枰獙W習和應用該架構,不過它將可以完成其中一些繁重的 工作。如果想混合使用 servlets 和 jsp 的優(yōu)點來建立可擴展的應用,struts 是一 個不錯的選擇。 struts 框架具有組件的模塊化,靈活性和重用性的優(yōu)點,同時簡化了基于 mvc 的 web 應用程序的開發(fā) 本章詳細討論 struts 架構。我們將看到 struts 是如何清晰地區(qū)分控制,事務 邏輯和外觀,從而簡化了開發(fā)應用程序過程的

23、。我們還將介紹 struts 提供的類 如何使得開發(fā)工作更加簡單,這些類包括: (1)控制程序流程的類。 (2)實現(xiàn)和執(zhí)行程序事務邏輯的類。 (3)自定義的標記庫使得創(chuàng)建和驗證 html 表單更加容易。 2.4.2 struts 壓縮包內(nèi)容 文件夾 jakarta-struts-1.0.2 包含兩個目錄,lib 和 webapps。在 lib 目錄中有 使用 struts 創(chuàng)建應用程序是所需的文件: 文件描述 jdbc2_0-stdext.jar 包含 jdbc2.0 optional package api 類。如果我們要使用 struts 提供的數(shù)據(jù)資源,就需要將這個文件拷貝到 web-i

24、nflib 下 struts.jar 包含 struts 中所有的 java 類。同樣也需要拷貝到 web-inflib 下 *.tld 標記庫描述器文件,描述了多個 struts 標記庫中的自定義標記。同樣 要拷貝到 web-inflib 下 在 webapps 目錄下有如下文件: web 應用程序描述 struts-blank.war 一個簡單的 web 應用程序 struts-documentation.war 包含 struts 站點上所有 struts 文檔 struts-example.war struts 很多特性的示范 struts-exercisetaglib.war 主要用

25、于對自定義標簽庫進行增加而使用的測試頁, 但也可以示范如何使用 struts 標記 struts-template.war 包含 struts 模板標記的介紹和范例 struts-upload.war 一個簡單的例子,示范如何使用 struts 框架上傳文件 2.4.3 struts 體系結構 讓我們從 mvc 角度觀察 struts 框架中的組件 框架中三個部分:模型,視窗和控制器。 模型 在 struts 框架中,模型分為兩個部分: 系統(tǒng)的內(nèi)部狀態(tài) (1)可以改變狀態(tài)的操作(事務邏輯) (2)內(nèi)部狀態(tài)通常由一組 actinform javabean 表示。根據(jù)設計或應用程序復 雜度的不同,

26、這些 bean 可以是自包含的并具有持續(xù)的狀態(tài),或只在需要時才獲 得數(shù)據(jù)(從某個數(shù)據(jù)庫)。 大型應用程序通常在方法內(nèi)部封裝事務邏輯(操作),這些方法可以被擁 有狀態(tài)信息的 bean 調(diào)用。比如購物車 bean,它擁有用戶購買商品的信息,可能 還有 checkout()方法用來檢查用戶的信用卡,并向倉庫發(fā)定貨信息。 小型程序中,操作可能會被內(nèi)嵌在 action 類,它是 struts 框架中控制器角 色的一部分。當邏輯簡單時這個方法很適合。 建議用戶將事務邏輯(要做什么)與 action 類所扮演的角色(決定做什么) 分開。 視窗 由 jsp 建立,struts 包含擴展自定義標簽庫,可以簡化創(chuàng)

27、建完全國際化用戶 界面的過程。 控制器 struts 中,基本的控制器組件是 actionservlet 類中的實例 servelt,實際使用 的 servlet 在配置文件中由一組映射(由 actionmapping 類進行描述)進行定義。 2.4.4 struts 框架中的組件 框架中所使用的組件: actionservlet 控制器 actionclass 包含事務邏輯 actionform 顯示模塊數(shù)據(jù) actionmapping 幫助控制器將請求映射到操作 actionforward 用來指示操作轉移的對象 actionerror 用來存儲和回收錯誤 struts 標記庫 可以減輕開

28、發(fā)顯示層次的工作 2.5 本章小結 本章首先對 b/s 結構進行了介紹,然后對 jsp 技術以及 jsp 優(yōu)點和缺點的 概述;同時介紹了 struts 框架的結構、內(nèi)容、體系等。 由本章的分析可知, struts 是一種非常規(guī)范的構建網(wǎng)站論壇框架,有利于 網(wǎng)站系統(tǒng)的開發(fā)和修改,所以本人選用了在 ecplice 平臺下進行開發(fā),以支持 struts 強大的架構和需要的插件。 第 3 章 需求分析 需求分析是軟件開發(fā)流程中重要的一個環(huán)節(jié),需求分析的基本任務是根據(jù) 用戶的需求,準確定義要完成的系統(tǒng)的目標,回答系統(tǒng)必須“做什么”的問題。 它的主要用途是明確系統(tǒng)需求,是用戶和開發(fā)人員之間進行討論的基礎,

29、并作 為系統(tǒng)設計、實現(xiàn)以及測試的依據(jù)。 只有準確全面的需求獲取與分析才能保證系統(tǒng)設計、系統(tǒng)實現(xiàn)的順利進行, 為后期測試提供必要的支持。在參考了現(xiàn)有的 bbs 論壇系統(tǒng)的功能,并且考慮 到了系統(tǒng)的擴展性和成本的基礎上,最后制定了本系統(tǒng)的具體需求。 3.1 系統(tǒng)實現(xiàn)目標 校園架設論壇,首先需要用戶在此論壇注冊,用戶注冊了以后管理員才能 進行管理,了解用戶的情況和發(fā)帖的情況,同時要求游客只能夠瀏覽論壇,不 能發(fā)表主題或回復,只有在論壇內(nèi)注冊的用戶才可以發(fā)表主題。管理員具有管 理整個論壇的權限,可以管理已注冊用戶和論壇模塊等。 為保證物論壇系統(tǒng)能夠有效地為企業(yè)和網(wǎng)站服務,從功能上必須達到以下 目標:

30、(1) 必須實現(xiàn)論壇所有必需功能。作為論壇系統(tǒng),系統(tǒng)必需能夠實現(xiàn)用戶 注冊,用戶登陸,發(fā)表主題,發(fā)表回復等功能,保證論壇實現(xiàn)交流信息技術的 功能。 (2) 必須保證管理員得到用戶信息的準確性和真實性。管理員作為整個系 統(tǒng)的調(diào)度者,系統(tǒng)的信息必須能夠清楚顯示給管理員。對于發(fā)表的不良信息, 管理員應及時刪除,保證論壇內(nèi)部模塊的秩序,防止有人惡意損壞論壇的形象。 (3) 必須保證管理員能和用戶之間通信。對于論壇系統(tǒng)來說,系統(tǒng)的實時 管理是十分重要的,管理員可以設立某個模塊的版主,來幫助管理員管理其中 的內(nèi)容和調(diào)動論壇的活躍度。所以,要保證管理員和用戶間通信聯(lián)系的及時性, 提高論壇的知名度與效率。 3

31、.2 系統(tǒng)運行環(huán)境 為了能使學校更好的應用現(xiàn)有軟硬件資源,在保障數(shù)據(jù)信息系統(tǒng)穩(wěn)定、高 效運行的前提下,實現(xiàn)論壇的目的。根據(jù)系統(tǒng)需求,設定了 bbs 論壇系統(tǒng)的運 行環(huán)境。 網(wǎng)絡環(huán)境: 服務器的終端和操作主機都需要連接到 internet。 硬件環(huán)境: (1) 服務器主機配置:cpu 使用 intel p 4 xeon, 雙 cpu,內(nèi)存為 2gb,選 用 2 塊 120gb 的 scsi 硬盤進行同時讀寫。 (2) 操作主機配置:cpu 最低 intel p4 2.0ghz 以上,內(nèi)存 1gb 以上。 (3) 用戶端配置:無嚴格要求,可以登陸 internet 訪問此網(wǎng)站便可。 軟件環(huán)境: 服

32、務器: windows 2000 服務器版操作系統(tǒng),tomcat5.5 服務器, myecplice5.5 開發(fā)工具,mysql 5.0 數(shù)據(jù)庫。 管理員操作端:windows 98 操作系統(tǒng)以上,ie6.0 以上。 用戶端:windows 98 操作系統(tǒng)以上,ie6.0 以上。 3.3 系統(tǒng)的開發(fā)環(huán)境 考慮到系統(tǒng)成本問題,全部采用開源軟件和框架來構建此系統(tǒng)。相對來說, 開源軟件成本低,功能相對簡單。 服務器端軟件環(huán)境:web 服務器采用 tomcat5.5,它部署和使用起來都很 方便,支持的功能對本系統(tǒng)來說已經(jīng)足夠。論壇的制作方面選用 myecplice 5.5 開發(fā),它是一個全面的多語言環(huán)

33、境的編程軟件,能夠實現(xiàn)實用多種語言同時更 好的編寫程序。數(shù)據(jù)庫服務器采用的 powerdesinger 完成建模工作,并將其導 入 mysql 中,為了節(jié)省本系統(tǒng)的資源,所以采用了小型數(shù)據(jù)庫 mysql。在實際 應用中,企業(yè)可以根據(jù)自己的需要更換其他的的數(shù)據(jù)庫管理。 開發(fā)工具與支持環(huán)境:系統(tǒng)開發(fā)采用 myeclipse??紤]到系統(tǒng)的擴展性和實 體類的獨立性,采用 struts 作為 j2ee 實現(xiàn)的服務器端容器,數(shù)據(jù)庫訪問則采用 jdbc 組件實現(xiàn)。這些開源軟件的采用,降低了系統(tǒng)開發(fā)難度,提高了軟件的 可復用性。 3.4 功能性需求描述 在面向對象的系統(tǒng)分析中,獲取功能需求的最常用的技術就是用

34、例建模技 術。它能夠直觀地向客戶展示系統(tǒng)的功能,方便技術人員準確地獲取需求。在 項目開發(fā)的前期,它幫助開發(fā)人員理解系統(tǒng)的需求而不考慮具體的實現(xiàn)方法。 用例,表示系統(tǒng)的一種行為或者某個功能。它是在特定條件下,為了達到某種 目的,系統(tǒng)和用戶之間進行交互的一個序列。用例模型由參與者和用例組成。 參與者是與系統(tǒng)進行交互的外部實體,可能是某個人或者是某個事物。圖 3.1 顯示的就是本系統(tǒng)的業(yè)務流程圖。本系統(tǒng)中,參與者有兩個,管理員和普通用 戶,相關的用例描述如下。 圖 3.1 論壇系統(tǒng)流程圖 3.4.1 用戶注冊 用例標識:1.0參與者: 瀏覽本論壇的游客 簡要說明:游客在瀏覽本論壇系統(tǒng)的時候可以注冊成

35、為本論壇的用戶。 基本事件流: (1) 先單擊論壇右上方“注冊用戶”導航按鈕,進入注冊界面。 (2) 客進入注冊界面填寫個人的基本信息,包括用戶名、密碼、真實姓名、 性別、oicq、頭像等信息。 (3) 提交注冊信息,必填項目必須填寫,如果用戶名重復,兩次密碼輸入 不同,則系統(tǒng)顯示請從新填寫。 (4)注冊成功,頁面自動跳轉回論壇首頁。 3.4.2 瀏覽論壇 用例標識:2.0參與者:管理員,注冊用戶,游客 簡要說明:此用例中操作者為管理員,注冊用戶,游客均可,系統(tǒng)以列表 的方式顯示論壇的當前狀態(tài)以及其他基本信息。 基本事件流: (1) 凡登陸本論壇者,都可以可以隨意瀏覽本論壇基本信息。 (2)

36、管理論壇的信息只有管理員登陸后可見。 (3) 論壇模塊信息只有注冊用戶或管理員可見。 3.4.3 發(fā)表回復 用例標識:3.0參與者:管理員,注冊用戶 簡要說明:瀏覽本站的用戶可以在自己感興趣的論壇區(qū)中查看主題貼子并 發(fā)表回復。 基本事件流: (1) 登陸網(wǎng)站首頁,在首頁的右上方的登陸框內(nèi)登陸用戶的用戶名和密碼。 (2) 登陸成功后,可選擇相關的論壇模塊,點擊即可進入。 (3) 進入相應的論壇模塊后,可以查看已發(fā)的主題貼子并進行回復。 3.4.4 發(fā)表主題 用例標識:4.0參與者: 管理員,注冊用戶 簡要說明:管理人員通過輸入要查詢項和查詢條件,來完成對系統(tǒng)中某類 信息的查詢,結果采用列表的方式

37、顯示。 基本事件流: (1) 登陸網(wǎng)站首頁,在首頁的右上方的登陸框內(nèi)登陸用戶的用戶名和密碼。 (2) 登陸成功后,可選擇相關的論壇模塊,點擊即可進入。 (3) 進入相應的論壇模塊后,點擊論壇右上角的發(fā)布主題選項即可發(fā)布新 主題。 3.4.5 用戶管理 用例標識:5.0參與者:管理員 簡要說明:管理員可以對已經(jīng)在本論壇的注冊的用戶進行管理,根據(jù)不同 的需求和形式,進行不同的管理。 基本事件流: (1) 點擊網(wǎng)頁右上方的的“管理員登陸”導航按鈕,然后進如管理員管理 頁面。 (2) 進入管理員操作界面以后,單擊左側的“用戶管理”按鈕。 (3) 可以根據(jù)用戶對論壇的貢獻進行提升為管理員或刪除。 3.4

38、.6 主題管理 用例標識:6.0參與者:管理員 簡要說明:管理員可以通過管理員登陸系統(tǒng)進入主題管理系統(tǒng),查看并管 理用戶發(fā)表的主題。 基本事件流: (1)點擊網(wǎng)頁右上方的的“管理員登陸”導航按鈕,然后進入管理員管理頁 面。 (2 進入管理員操作界面以后,單擊左側的“主題管理”按鈕。 (3) 可對不文明的主題或惡意宣傳的主題進行刪除。 3.4.7 欄目管理 用例標識:7.0參與者:管理員 簡要說明:管理員可以對某個欄目做出杰出貢獻者進行任命,將其設為版 主。 基本事件流: (1) 點擊網(wǎng)頁右上方的的“管理員登陸”導航按鈕,然后進入管理員管理 頁面。 (2) 進入管理員操作界面以后,單擊左側的“欄

39、目管理”按鈕。 (3) 進入欄目管理頁面后,可以將用戶設置為某個欄目模塊的版主,其名 字會顯示在論壇首頁欄目名字的下方。 3.4.8 回復管理 用例標識:8.0參與者:管理員 簡要說明:管理員可以通過管理員登陸系統(tǒng)進入主題管理系統(tǒng),查看并管 理用戶發(fā)表的主題。 基本事件流: (1)點擊網(wǎng)頁右上方的的“管理員登陸”導航按鈕,然后進入管理員管理頁 面。 (2 進入管理員操作界面以后,單擊左側的“回復管理”按鈕。 (3) 可對不文明的回復或惡意宣攻擊他人,傳播不良文化等的回復進行刪 除。 3.4.9 用戶注銷 用例標識:9.0參與者:注冊用戶,管理員 簡要說明:注冊用戶和管理員在結束操作以后可以點擊

40、“注銷”按鈕退出 登錄。 基本事件流: (1) 用戶或管理員已經(jīng)登陸本論壇系統(tǒng)。 (2) 確定執(zhí)行的所有操作均已完成。 (3) 點擊論壇首頁左上方的“注銷”按鈕,安全退出。 3.5 文件夾組織結構 在開發(fā)系統(tǒng)前,將可能用到的文件夾創(chuàng)建出來,可以方便以后的開發(fā)工作, 還可以規(guī)范論壇的整體架構,bbs 系統(tǒng)的文件夾組織結構如圖 3.2 所示。 圖 3.2 論壇組織文件夾結構圖 3.6 非功能性需求描述 非功能性需求在整個系統(tǒng)中占有非常重要的位置,對系統(tǒng)的非功能性需求 的滿足是系統(tǒng)成功的基礎,下面列出本系統(tǒng)的非功能性需求: (1) 系統(tǒng)能夠長時間的持續(xù)工作。 對于企業(yè)應用級的系統(tǒng)來說,系統(tǒng)的穩(wěn)定性與

41、正確性一樣重要。考慮到本 系統(tǒng)的實際情況,服務器端必須能夠在 24*7 小時內(nèi)不間斷地穩(wěn)定運行。 (2) 客戶端信息更新更新等待時間不能大于 5 秒。 (3) 系統(tǒng)要采用 b/s 架構進行構建。 考慮到 b/s 架構部署以及升級的簡單化,所以要求采用 b/s 架構進行構建。 3.7 本章小結 本章首先介紹了系統(tǒng)的實現(xiàn)目標、運行環(huán)境和開發(fā)環(huán)境。然后通過用例分 析的方式獲取和分析了系統(tǒng)的功能性需求,對需求進行了補充,提出了系統(tǒng)的 非功能性需求。從而對系統(tǒng)的整體需求有了完整的了解。 從本章的需求分析中可以得出,系統(tǒng)的功能性需求相對來說比較易于實現(xiàn), 而非功能性需求比較嚴格。對于非功能性需求影響最大的

42、就是系統(tǒng)的架構,所 以在設計和實現(xiàn)系統(tǒng)時,要在對系統(tǒng)的架構給予充分重視的前提下,實現(xiàn)功能 性需求。 第 4 章 系統(tǒng)設計 4.1 系統(tǒng)設計原則 (一)低成本。隨著技術的進步和系統(tǒng)復雜性的增加,論壇成本在整個系統(tǒng) 中所占的比重越來越大,企業(yè)應用中已經(jīng)達到 80%左右擁有屬于自己的論壇, 而且有繼續(xù)增加的趨勢。為了降低系統(tǒng)的成本,系統(tǒng)中各個模塊都采用開源項 目中的組件完成。它們不僅能夠提供比較完善的功能,而且還能根據(jù)系統(tǒng)需求 進行適當擴展。 (二) 規(guī)范性。從使用周期上來考慮,論壇系統(tǒng)維護階段在軟件生命周期或 生存期中占較大比重,有的可達系統(tǒng)生存周期的 50-70%。所以需要系統(tǒng)在設計 的過程中積

43、極遵循各種規(guī)范,保證后期維護和開發(fā)人員能夠快速整理和修改。 (三) 易擴展。系統(tǒng)的設計直接決定可擴展性??蓴U展性是軟件工程追求的 目標,能夠大大提高系統(tǒng)的復用程度,較低開發(fā)成本。本系統(tǒng)中采用標準的 struts 框架作為服務器端的容器,其中的提供了可擴展的 action 類,用戶處理 特定的 http 請求。另外系統(tǒng)采用分層機制設計,建立專門的數(shù)據(jù)訪問層、服 務層、業(yè)務邏輯層等,采用設計模式中的思想優(yōu)化設計,從而最大程度上提高 系統(tǒng)可擴展性。 4.2 數(shù)據(jù)庫設計 數(shù)據(jù)是系統(tǒng)的基礎,數(shù)據(jù)庫設計關系到系統(tǒng)開發(fā)的成敗,所以數(shù)據(jù)庫設計 這一環(huán)節(jié)在系統(tǒng)開發(fā)中顯得尤為重要。數(shù)據(jù)庫設計就像一座建筑的地基一樣

44、, 如果設計不合理,將會影響到整個系統(tǒng)開發(fā)的全過程,甚至會給后期維護帶來 極大的不便。 4.2.1 數(shù)據(jù)庫分析 本系統(tǒng)采用 mysql 數(shù)據(jù)庫,相對于 oracle 等大型數(shù)據(jù)庫來講,mysql 數(shù)據(jù) 庫更適用于中小型系統(tǒng),其存取數(shù)據(jù)的方便、快捷為系統(tǒng)開發(fā)帶來了便利。由 于本系統(tǒng)數(shù)據(jù)量并不算龐大,為了減少工程成本,所以選擇使用 mysql 數(shù)據(jù)庫。 4.2.2 數(shù)據(jù)庫概念設計 根據(jù)以上對系統(tǒng)所做的需求分析、流程設計及功能結構的確定,每個功能 模塊可以抽象出一個或多個實體對象,例如用戶、論壇、主題、回復主題實體 對象等。這些實體對象彼此互相聯(lián)系,并且最重將被創(chuàng)建成數(shù)據(jù)表結構。 (1) 用戶實體對

45、象 用戶實體包括用戶編號、用戶名、用戶簽名、用戶頭像、用戶級別等用戶 相關屬性。用戶編號是識別用戶實體的唯一編號,也就是數(shù)據(jù)表的主鍵,它的 數(shù)據(jù)類型為 int 型,并且具有自增特性;用戶級別屬性是標明用戶在本系統(tǒng)中的 功能管線;其他屬性都是描述此用戶相關信息的屬性,例如用戶頭像、用戶聯(lián) 系地址、用戶個人主業(yè)等。用戶實體 e-r 圖如圖 4.1 所示。 圖 4.1 用戶實體 e-r 圖 (2) 論壇實體對象 論壇實體對象包括論壇編號、論壇名稱、版主、創(chuàng)建時間等相關屬性。論 壇實體對象中的論壇編號屬性與用戶實體對象中的用戶編號屬性類型相同,都 為 int 型,并具有自增特性;其他屬性都是描述此論壇

46、的相關信息。論壇實體 e-r 圖如圖 4.2 所示。 圖 4.2 論壇實體 e-r 圖 (3) 主題實體對象 主題實體包括主題編號、主題標題、主題內(nèi)容、主題作者、發(fā)表時間、論 壇編號、論壇名稱、人氣等相關屬性。主題編號屬性類型為 int 型,并且具有自 增特性;論壇編號屬性標明此主題發(fā)表在哪個論壇中;由于在使用主題實體對 象時,頻繁用到論壇實體對象中的論壇名稱屬性,所以在這里將論壇名稱屬性 定義到主題實體中;人氣屬性用于標明此主題被訪問過的次數(shù);其他屬性都是 描述主題實體對象的相關信息。主題實體 e-r 圖如圖 4.3 所示。 圖 4.3 主題實體 e-r 圖 (4) 回復主題實體對象 回復主

47、題實體對象包括回復主題編號、回復主題標題、回復主題內(nèi)容、回 復主題作者、回復主題時間、主題編號、主題名稱、回復作者心情等屬性。除 了主題編號與主題名稱屬性之外,其余屬性都是描述回復主題實體對象相關信 息?;貜椭黝}實體 e-r 圖如圖 4.4 所示。 圖 4.4 回復主題實體 e-r 圖 4.2.3 powerdesigner 數(shù)據(jù)庫建模 在數(shù)據(jù)庫概念設計中已經(jīng)分析了用戶、論壇、主題、回復主題等主要數(shù)據(jù) 庫實體對象,這些實體對象最終將被定義為數(shù)據(jù)表,形成整體的數(shù)據(jù)結構。在 這里,本人使用 powerdesigner 軟件完成數(shù)據(jù)庫建模工作。建模結構如圖 4.5 所 示。 圖 4.5 數(shù)據(jù)庫模型圖

48、 圖 9.5 中的數(shù)據(jù)庫模型描述了整個 bbs 系統(tǒng)的數(shù)據(jù)結構,包括用戶、論壇、 主題、主題回復等實體,這 4 個實體之間沒有直接關聯(lián)關系,這就意味著開發(fā) 過程比較簡單。 4.2.4 創(chuàng)建數(shù)據(jù)庫 通過 powerdesigner 建模后,可以使用此軟件生成相應的數(shù)據(jù)庫腳本,本 人將本系統(tǒng)數(shù)據(jù)庫腳本命名為 db_bbs.sql,然后使用腳本在 mysql 中創(chuàng)建數(shù)據(jù) 庫。具體步驟如下: (1) 選擇“開始”/“程序”/mysql/mysql server 5.0/mysql command line client 命令,彈出窗口,輸入 root 用戶密碼,窗口提示符變?yōu)椤癿ysql” , 這表示

49、已經(jīng)正確連接了 mysql 數(shù)據(jù)庫。 (2) 在提示符“mysql”后輸入如下命令: use db_bbs; 然后按回車鍵,此時使用的數(shù)據(jù)庫為 db_bbs。 (3) 將 db_bbs.sql 放入 mysql 根目錄中的 bin 路徑下,在提示符 “mysql”后輸入如下命令: source db_bbs.sql; 按回車鍵,這樣數(shù)據(jù)庫就建立完成。 4.3 用戶發(fā)布主題模塊設計 4.3.1 發(fā)布主題概述 發(fā)布主題模塊包括發(fā)布新主題與回復主題兩個功能。發(fā)布新主題即用戶發(fā) 表一篇新的文章,回復主題即用戶回復已發(fā)表的文章,兩者雖然功能不同,但 都提交到相同的 action 控制器。發(fā)布主題頁面如圖

50、 4.6 所示。 圖 4.6 發(fā)表主題頁面 4.3.2 發(fā)布主題技術分析 當在導航欄中單擊右側的“發(fā)布主題”連接時,將發(fā)出 newtopic.do 請求, 進入發(fā)表主題頁面,此時實現(xiàn)的是“發(fā)布新主題”功能。另外, “發(fā)布新主題” 功能只提供給登錄用戶,普通用戶沒有“發(fā)布新主題”的權限。 當用戶在主題瀏覽頁面單擊“回復”鏈接時,同樣將發(fā)出 newtopic.do 請求, 為了在 action 控制器中區(qū)別兩種功能,本人為回復請求加上一個參數(shù) type,系 統(tǒng)自動根據(jù) struts-config.xml 配置信息將參數(shù) type 值提交到 action 控制器中, 然后根據(jù) type 的值在控制器

51、中調(diào)用相應的業(yè)務邏輯處理。 當用戶輸入主題相關信息后,發(fā)送 newaticle.do 請求,在指定控制器中調(diào) 用相應的業(yè)務邏輯處理,將用戶發(fā)表的文章插入數(shù)據(jù)庫。 4.4 本章小結 本章介紹了論壇系統(tǒng)設計的過程,根據(jù)系統(tǒng)設計所提出的三個原則對系統(tǒng) 進行總體設計。剖析了一個較大型的web項目如何運用struts框架來構造。bbs 系統(tǒng)是網(wǎng)絡應用系統(tǒng),本章從分析開始,詳細的介紹了系統(tǒng)的各個部分的設計 理念和主要功能需要。 考慮到論壇系統(tǒng)的可擴展性,大部分系統(tǒng)設計的可復用性較強,提升了整 個系統(tǒng)的復用性和可擴展性,為以后系統(tǒng)升級奠定了基礎。 第 5 章 系統(tǒng)實現(xiàn) 根據(jù)對系統(tǒng)分析與設計,本章對系統(tǒng)中相關

52、部分的實現(xiàn)情況做了詳細的介 紹。 5.1 發(fā)布主題實現(xiàn)過程 發(fā)布主題功能模塊主要通過如下組件實現(xiàn): 視圖組件:newaticle.jsp。 控制器組件:newtopicaction.java、newaticleaction.java。 formbeanaction:newtopicform.java、newaticleform.java。 業(yè)務邏輯類:topiclistbean.java、loginbean.java、umlchange.java。 5.1.1 配置發(fā)布主題模塊組件 在 struts-config.xml 配置文件中,有機地將這 4 個組件結合起來。關鍵代碼 如下: 5.1.2

53、 創(chuàng)建視圖組件 在發(fā)布主題功能模塊中,視圖組件為 newarticle.jsp 文件,newarticle.jsp 文 件中包括發(fā)布主題表單,其中本人為用戶輸入主題內(nèi)容提供了相應的模式選擇, 例如字體、字體大小設置等,這一功能由 javascript 代碼來實現(xiàn)。點擊相對應 的設置時,會彈出消息框,用戶可在消息框中填寫內(nèi)容,如圖 5.1 所示: 圖 5.1 設置字體消息框 關鍵代碼如下: function change_b() var text=mpt(請輸入要加粗顯示的文字!,); if(text!=) text1=_strong_+text+_/strong_; if(

54、text!=null) newtopicform.content.value=newtopicform.content.value+text1; function change_i() var text=mpt(請輸入要斜體顯示的文字!,); if(text!=) text1=_em_+text+_/em_; if(text!=null) newtopicform.content.value=newtopicform.content.value+text1; function change_u() var text=mpt(請輸入要以下劃線顯示的文字!,

55、); if(text!=) text1=_u_+text+_/u_; if(text!=null) newtopicform.content.value=newtopicform.content.value+text1; 上述代碼將用戶輸入主題內(nèi)容以“_u_+text+_/u_”樣式傳入 actionform bean 中,然后提交到 action 控制器中將數(shù)據(jù)插入數(shù)據(jù)庫中,當用 戶從數(shù)據(jù)庫中取這些數(shù)據(jù)時,“_u_”不是有效的 html 代碼,此時需要對 這個字符串進行轉換操作,用到輔助類 com.wsy.struts.util.umlchange.java。關鍵 代碼如下: public

56、class umlchange public string change(string str) string s=str.replaceall(_, ).replaceall(|_|, ); return s.trim(); 5.1.3 創(chuàng)建控制器組件 用戶發(fā)布主題模塊的控制器組件主要包括如下兩個部分: (1) 用于轉入發(fā)布主題頁面 newtopicaction.java 控制器組件。 在 struts-config.xml 配置信息中 newtopic.do 請求發(fā)送到 com.wsy.struts.action .newtopicaction.java 控制器,同時發(fā)送到這個 actio

57、n 控制器的參數(shù)包括 type、name、forumid、forumname(其中參數(shù) type 標識用戶發(fā)表回復文章還是發(fā) 表新主題,參數(shù) name 為當前登陸的用戶名,參數(shù) forumid 為論壇號,參數(shù) forumname 為論壇名稱)。同時還需要取出發(fā)表文章作者相關信息,數(shù)據(jù)取出后 以 list 形式表示。這些參數(shù)通過 session 傳入 newarticle.jsp 文件中,待發(fā)送 newaticle.do 請求時,將這些數(shù)據(jù)提交到相應的 action 控制器中,然后根據(jù) type 的值來確定調(diào)用哪個業(yè)務邏輯類處理這些數(shù)據(jù)。關鍵代碼如下: public actionforward

58、execute(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) datasource datasource = getdatasource(request,datasources);/取 struts 配 置的數(shù)據(jù)源 newtopicform newtopicform = (newtopicform) form;/ todo auto- generated method stub actionmessages error=new actionmes

59、sages(); httpsession session=request.getsession(); string name=newtopicform.getname(); string forumid=newtopicform.getforumid(); string forumname=null; if(forumid=null) forumid=(string)session.getattribute(forumid); forumbean forum=new forumbean(); list forumnlist=forum.getrecord(datasource, forumid

60、); for(int i=0;iforumnlist.size();i+) forumbean forums=(forumbean)forumnlist.get(i); forumname=forums.getforumnname(); string topicname=(string)session.getattribute(title); system.out.println(topicname); system.out.println(name); system.out.println(forumname+forumname); system.out.println(forumid+fo

溫馨提示

  • 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

提交評論