小型論壇系統(tǒng)的設計與實現_第1頁
小型論壇系統(tǒng)的設計與實現_第2頁
小型論壇系統(tǒng)的設計與實現_第3頁
小型論壇系統(tǒng)的設計與實現_第4頁
小型論壇系統(tǒng)的設計與實現_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

鄭州工業(yè)應用技術學院課程設計說明書題目:小型論壇系統(tǒng)姓名:王浩浩院(系):信息工程學院專業(yè)班級:14級計算機科學與技術學號:1401110204指導教師:歐群雍成績:時間:2017年3月6日至2017年5月11日鄭州工業(yè)應用技術學院課程設計任務書題目小型論壇系統(tǒng)專業(yè)、班級14級計算機科學與技術學號1401110204姓名王浩浩主要內容:論壇服務已經是互聯(lián)網上的一種極為常見的互動交流服務。論壇可以為網友提供開放性的分類討論區(qū)專題服務,網友們可以在此發(fā)表自己的觀感,交流某些技術,經驗乃至人生的感悟與憂歡,亦可以作為用戶和商家交流的渠道,商家也可以在此回答用戶提出的問題或發(fā)布某些消息。基本要求:本次設計具有以下功能:系統(tǒng)前臺用來供所有網友交流之用,包括版塊列表、主題列表、顯示主題詳細內容、發(fā)表主題、發(fā)表回復、主題管理、用戶注冊以及用戶登錄等子模塊。后臺供管理員管理論壇之用,包括版塊設置和用戶設置兩個子模塊。主要參考資料:回相.論壇論壇[J].網絡與信息,2007,3:10—12.姜力、高群主編.SQLServer數據庫設計與管理[M].北京大學出版社,2006年.喬普拉(美)著.JSP高級程序設計[M].人民郵電出版社,2005年.完成期限:3月6日——5月1日指導教師簽名:課程負責人簽名:摘要為了方便信息的交流,在結合動態(tài)服務網頁(JSP)和SQL2000技術之下開發(fā)了這個界面友好的小型論壇系統(tǒng)。論壇使用動態(tài)服務網頁(JSP)技術建設論壇的骨干框架,使用SQL2000制作系統(tǒng)的數據庫,利用了Struts、Spring、Hibernate三大框架技術的部分知識點,還結合使用了AJAX技術,通過這些實現了一個功能相對齊全的論壇系統(tǒng)。該論壇為網友們提供了一個交流的平臺,在這里注冊用戶可以自由地發(fā)表自己的觀點和對論壇的主題帖子發(fā)表意見,還可以及時的解決網友提出的問題,獲取對自己有用的知識。該論壇還有一些特殊的功能,強大的搜索功能等。關鍵詞:動態(tài)服務網頁;論壇;JAVA目錄TOC\o"1-2"\h\z\u前言 11系統(tǒng)需求分析說明 31.1系統(tǒng)介紹 31.2功能需求 32總體設計 42.1總體結構和模塊設計 42.2處理流程 42.3數據庫設計 63系統(tǒng)詳細設計 93.1前臺頁面 103.2后臺頁面 153.3系統(tǒng)設計主要代碼及配置文件 184測試 234.1測試方法 234.2測試范圍 234.3測試報告 23總結與展望 25參考文獻 26前言進入21世紀,計算機技術迅速向著網絡化的、集成化方向發(fā)展。傳統(tǒng)的單機版應用軟件正在逐漸退出舞臺,取而代之的是支持網絡、支持多種數據信息(多媒體)的新一代網絡版應用軟件,而目前網絡版軟件中似乎存在著兩種不同的趨勢,一種是稱為客戶端——服務器的C/S結構應用系統(tǒng),這類軟件具有結構嚴謹,運行效率高,服務器端壓力小,安全性好等優(yōu)點,被廣泛運用于局域網中。另一種,也是本畢業(yè)設計所采用的,是稱為瀏覽器——服務器的B/S結構應用系統(tǒng),它的特點是在客戶端直接采用了功能強大的瀏覽器軟件作為界面,其優(yōu)點在于軟件開發(fā)效率高,客戶端不受操作平臺的限制、也不受地域的限制,網絡傳輸量少,即適用于局域網,更適用于Internet,而且投資小、見效快,用戶可以不必進行服務器方面的投資,而是去租用,甚至是免費使用ISP的服務器資源,因而受到越來越多中小型單位的青睞。本論文就是基于B/S結構實現的。論壇也常被簡稱為論壇(BulletinBoardSystem)。1978年在美國芝加哥開發(fā)出一套基于8080芯片的C論壇/Chicago(ComputerizedBulletinBoardSystem/Chicago),此乃最早的一套論壇系統(tǒng)。論壇發(fā)展至今,目前世界上業(yè)余的論壇網絡除了FidoNet(惠多網)以外,幾個較具知名度的還有EggNet、AlterNet和R論壇-Net等等。由于這些網絡和FidoNet之間的信息交流不成問題,這就實現了所謂的跨網。大約是從1991年開始,國內開始了第一個論壇站。經過長時間的發(fā)展,直到1995年,隨著計算機及其外設的大幅降價,論壇才逐漸被人們所認識。1996年更是以驚人的速度發(fā)展起來。國內的論壇站,按其性質劃分,可以分為兩種:一種是商業(yè)論壇站,如新華龍訊網;另一種是業(yè)余論壇站,如天堂資訊站。由于使用商業(yè)論壇站要交納一筆費用,而商業(yè)站所能提供的服務與業(yè)余站相比,并沒有什么優(yōu)勢,所以其用戶數量不多。多數業(yè)余論壇站的站長,基于個人關系,每天都互相交換電子郵件,漸漸地形成了一個全國性的電子郵件網絡ChinaFidoNet(中國惠多網)。于是,各地的用戶都可以通過本地的業(yè)余論壇站與遠在異地的網友互通信息。這種跨地域電子郵件交流正是商業(yè)站無法與業(yè)余站相抗衡的根本因素。由于業(yè)余論壇站擁有這種優(yōu)勢,所以使用者都更樂意加入。這里“業(yè)余”2字,并不是代表這種類型的論壇站的服務和技術水平是業(yè)余的,而是指這類論壇站的性質。一般論壇站都是由志愿者開發(fā)的。他們付出的不僅是金錢,更多的是精力。其目的是為了推動中國計算機網絡的健康發(fā)展,提高廣大計算機用戶的應用水平。論壇是互聯(lián)網一種人與人之間交互的必備工具,特別是做網站必備。以前我們一直用留言本形式,但是隨著您的網站的大規(guī)模化,越來越多的迫切需要一種可以易于維護和易于交流的平臺,那就要用論壇。論壇可以通過WEB瀏覽器訪問,并且實現上傳文件等諸多功能。網民們便逐步開始接受這種使用方便快捷、功能日漸強大的系統(tǒng)。在它上面網民們可以張貼和發(fā)布各種各樣的信息,討論各式話題。隨著中國網絡的普及和計算機及其外設的大幅度降價,Internet這個概念逐漸深入人心。中國網民的數量呈幾何級數量增長,論壇的普及程度也直追Email。每個網站幾乎都擁有自己的論壇或者論壇鏈接,論壇社區(qū)提供給用戶的服務是全面而且非常友好的,用戶在社區(qū)中可以根據自己的喜好設置不同的顯示風格,根據自己的需求定制各種服務。通過論壇更加快捷的了解企業(yè)員工的信息,而建立會員服務的基礎是建系論壇管理系統(tǒng)!通過應用該系統(tǒng)可以實現用戶與用戶間的交流、企業(yè)與企業(yè)間的信息交互,利用網絡經濟而又快捷地與外界進行各種信息溝通,取得更有用的信息資源。論壇系統(tǒng)服務已經是互聯(lián)網站一種極為常見的互動交流服務。論壇可以向網友提供開放性的分類專題討論區(qū)服務,可以在此發(fā)表自己的某些觀感、交流某些技術、經驗乃至人生的感悟與憂歡,亦可以做為網友們之間的交流渠道,網站亦可在此回答網友們提出的問題或發(fā)布某些消息。通過論壇的方式,增強個人與個人,團體與團體,個人與團體之間的交流聯(lián)系,在Internet上實現信息的傳遞,提高辦事效率[5]。因此論壇建設在Internet應用上的地位顯而易見,它已成為現代人溝通和獲取信息的重要組成部分,從而倍受人們的重視。本文利用JSP和SQLServer2000做一個在線論壇系統(tǒng)。該系統(tǒng)以Internet為平臺,前臺可使任何人注冊、登陸在論壇上進行發(fā)貼及討論,版主可以進行一部分管理。而管理員也可以在后臺進行相關的管理。1.系統(tǒng)需求分析說明1.1系統(tǒng)介紹本系統(tǒng)是基于B/S結構的一個小型論壇,主要基于Windows平臺,通過這個論壇,用戶之間可以實現互動交流。1.2功能需求通過對網上的一些著名論壇的認識,該論壇至少應該實現以下功能:(1)注冊管理:能夠對用戶名,密碼的簡單驗證,能夠防止利用頁面刷新重復注冊,已經存在的用戶名稱不能重復注冊。(2)瀏覽帖子:可以根據作者或內容等為關鍵字搜索帖子,分論壇版塊顯示帖子,顯示帖子詳情,瀏覽帖子時不要求用戶登錄,但回復帖子前用戶必須登錄。(3)發(fā)表及回復帖子:只有登錄用戶才可以發(fā)表和回復帖子,并且對帖子的字數有限制。(4)用戶個人信息管理:登陸用戶可以編輯注冊后的個人資料,如修改密碼等,但是不可以修改用戶名稱。也可以對自己發(fā)表的帖子進行操作:如修改,刪除。(5)回復管理:各論壇版塊的版主可以對自己管理的版塊的帖子的回復的帖子進行管理,可以屏蔽回復。(6)論壇版塊管理:只有管理員有該權限,管理員可以添加,刪除版塊,也可以修改版塊資料,如版塊名稱,上級版塊,版主。(7)用戶管理:只有管理員有該權限,管理員可以禁用,啟用用戶,進行用戶密碼重置。(8)公告管理:只有管理員有該權限,管理員可以添加,刪除公告。(9)帖子管理:各論壇版塊的版主可以對自己管理的版塊的帖子進行管理,可以屏蔽和刪除帖子。2.總體設計本系統(tǒng)采用B/S模式設計,方便系統(tǒng)的維護和使用。采取MVC設計模式與多層架構的基于J2EE平臺的設計,使系統(tǒng)擁有良好的擴展性,在滿足當前使用需求同時還兼顧系統(tǒng)以后可能的功能擴充。系統(tǒng)分成幾個相對獨立的模塊,但這些模塊都進行集中式管理。2.1總體結構和模塊設計該系統(tǒng)可分為前臺和后臺兩個部分,前臺是提供給一般用戶和版主使用的,后臺是提供給管理員進行一些系統(tǒng)維護的。功能結構圖如下:小型小型BBS論壇管理系統(tǒng)前臺功能后臺功能瀏覽搜索帖子用戶登陸注冊發(fā)表回復帖子個人資料管理帖子管理用戶管理論壇版塊管理公告管理圖2.1系統(tǒng)功能結構圖2.2處理流程對于本系統(tǒng)的使用者來說,可以分為以下幾類:未注冊的用戶,已注冊的用戶。已注冊的用戶又可以分為一般用戶、版主、管理員三類。根據用戶角色的不同,用戶擁有的權限也會不同。根據這個來分析該系統(tǒng)的業(yè)務流程。系統(tǒng)的業(yè)務流程如圖2.2所示:圖2.2業(yè)務流程圖2.3數據庫設計在建設網站系統(tǒng)之前,必須對系統(tǒng)所用到的數據進行大致的分類和具體的結構設計,既要做到清晰明了,又要能適應系統(tǒng)各項功能的調用,而不至于產生結構上的邏輯混亂,保證關鍵數據在意外情況下不會被破壞,可以說數據庫是系統(tǒng)的重中之重。數據庫設計要遵循一些規(guī)則,一個好的數據庫滿足一些嚴格的約束和要求。盡量分離各實體對應的表,一個實體對應一個表,分析該實體有哪些屬性,對應有些什么字段,以及各實體之間的聯(lián)系。實體、屬性與聯(lián)系是進行概念設計時要考慮的三個元素,也是一個好的數據庫設計的核心。數據庫結構屬性圖圖2.3數據庫結構屬性圖數據庫表格設計表2.1:UserInfo用戶信息表列名說明類型備注uid主鍵Int(4)自增username用戶名稱Varchar(20)Notnullpassword密碼Varchar(20)Notnullhead頭像Varchar(20)Notnullsign個人簽名Varchar(200)Notnullroleid角色Int(4)Notnullactive狀態(tài)Int(4)Notnull表2.2:Topic帖子表列名說明類型備注tid主鍵Int(4)自增title帖子主題Varchar(50)Notnullcontent帖子內容Varchar(1000)Notnullauthorid作者Int(4)Notnulltime發(fā)表時間datetimeNotnullsortid所屬的論壇版塊Int(4)Notnull表2.3:Reply回復表列名說明類型備注id主鍵Int(4)自增title帖子主題Varchar(50)Notnullcontent帖子內容Varchar(1000)Notnullauthorid作者Int(4)Notnulltime發(fā)表時間datetimeNotnulltopicid回復的帖子編號Int(4)Notnull表2.4:Sort論壇版塊分類表列名說明類型備注sid主鍵Int(4)自增parentid上級版塊Int(4)Notnullsortname版塊名稱Varchar(50)Notnullmaster版主名稱Varchar(20)允許為null表2.5:Role角色表列名說明類型備注rid主鍵Int(4)自增description角色描述Varchar(10)Notnull表2.6:Notice公告表列名說明類型備注nid主鍵Int(4)自增content公告內容Varchar(100)Notnull3.系統(tǒng)詳細設計前臺和后臺頁面設計采用的技術是JSP。之所以選擇它是因為JSP技術具有下面的特點:1)WriteOnceRunAnywhereJSP技術繼承了JAVA先天性的先進概念“WriteOnceRunAnywhere”這種概念正越來越深遠的影響著互連網行業(yè)的交互式、WEB設計的理念。JSPPages可以非常容易的開平臺跨WEB服務器軟件來是設計和開放源代碼。2)支持多種動態(tài)網頁格式目前對使用JSP技術設計出來的網頁應該采取什么樣的格式還沒有一個明確的標準。一般來說JSP技術即可以支持HTML/DHTML的傳統(tǒng)瀏覽器文件格式,又可以支持應用與無線通訊設備例如移動電話、PDA等設備進行網頁瀏覽器的VML文件格式,還可以支持其它一些B2B應用的XML格式。與以往的其它WEB應用技術相比較JSP技術有它很鮮明的特點。3)JSP標簽可擴充性盡管JSP與ASP都使用標簽與腳本技術來制造動態(tài)WEB網頁,但是JSP技術能夠使開發(fā)者擴展JSP標簽,使得應用JSP的開發(fā)者能定制標簽庫所以網頁制作者可以充分利用與XML兼容的標簽技術,大大減少了對腳本語言的依賴。由于指定標簽庫技術使得網頁制作者降低了制作網頁和想多個網頁擴充關鍵功能的復雜程度。4)JSP跨平臺的可重用性JSP的開發(fā)人員在開發(fā)過程中一直關注可重用性,JSP足見、企業(yè)JavaBean或制定的標簽都是跨平臺可重用的。企業(yè)JavaBean可以訪問傳統(tǒng)的數據庫并能并能已分布式系統(tǒng)模式工作于UNIX和WINDOWS平臺,JSP標簽可擴充功能為開發(fā)人員提供簡便的與XML兼容的接口,即共享網頁的打包功能使其完全的工業(yè)標準化。這種基于組建的模式能夠有效的提高應用程序的開發(fā)效率。因為這種模式能夠使開發(fā)人員利用快捷的子組建快速創(chuàng)建模板應用程序。然后再整和一些附加功能將其打包成一個JAVABEAN組建。5)易于維護性基于JSP技術的應用程序比基于ASP的應用程序更易于維護和管理。腳本語言都很好服務于小的應用程序但不能適宜大型的復雜的應用程序,因為JAVA是結構化的,它比較比較容易創(chuàng)建和維護龐大的組建化的應用程序。3.1前臺頁面登錄進入論壇首頁頁面圖3.1論壇登錄頁面在此頁面中,用戶如果點擊“瀏覽進入”這個超鏈接,即以相當于游客的身份進入論壇,進入的是論壇的首頁(圖3.2所示),那么就只擁有瀏覽和搜索帖子的權限。如果用戶輸入了正確的用戶名稱和密碼,就會以用戶的身份進入論壇的首頁。該用戶就可以擁有更多的權限,可以瀏覽和搜索帖子,修改個人資料,刪除和修改自己發(fā)表的主題帖子,發(fā)表和回復帖子。如果用戶輸入了不正確的信息,則系統(tǒng)阻止進入論壇的首頁,還是會跳轉到該登錄頁面。如果用戶點擊了“注冊”這個超鏈接,則會進入注冊頁面(圖3.3所示)。論壇首頁圖3.2論壇首頁在該頁面中,顯示了很多信息。主要是各個版塊的詳細信息,包括版塊的名稱,版主,發(fā)表于該版塊下的主題帖子總數,以及最新發(fā)表的帖子的信息。若有發(fā)表的帖子,則顯示該帖子的主題,作者,和發(fā)表時間,并且提供了帖子主題的超鏈接,點擊后會進入顯示該帖子的詳細信息頁面。若無發(fā)表的帖子,則顯示暫無。該頁面上還顯示了公告的信息,即公告欄顯示的內容。頁面上還提供了搜索帖子的功能,可以根據作者名稱來精確查找和根據帖子內容來模糊查找。如果用戶是經過登錄驗證后進入該頁面的,頁面會提供“個人中心”的超鏈接,點擊此鏈接會進入個人信息中心頁面(如圖3.6所示)。如果用戶是通過瀏覽進入該頁面的,則不會提供該超鏈接。注冊頁面圖3.3注冊頁面用戶可以在該頁面中輸入注冊資料,包括用戶名,密碼,個性簽名和頭像。用戶名,密碼,個性簽名都是必填的,頭像是默認選擇第一個,用戶也可以重新選擇。在用戶提交之前,對所填的信息都作了驗證,包括用戶名非空并且不可重復,密碼非空,密碼長度必須大于或等于4,兩次輸入的密碼必須一致,個性簽名非空,且長度小于50。在對用戶名稱的唯一性驗證時,使用了AJAX技術,當用戶輸入完用戶名,該文本框失去焦點時,會檢查數據庫中是否存在該用戶名,如果不存在,則在文本框后用藍色字體顯示“Ok,你可以用這個名稱!”,如果存在,則在文本框后用紅色字體顯示“No,這個名稱已占用!”。提交成功后,跳轉到登錄頁面。在這里簡單介紹一下AJAX技術。AJAX全稱為“AsynchronousJavaScriptandXML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網頁應用的網頁開發(fā)技術。它使瀏覽器可以為用戶提供更為自然的瀏覽體驗。在Ajax之前,Web站點強制用戶進入提交/等待/重新顯示范例,用戶的動作總是與服務器的“思考時間”同步。Ajax提供與服務器異步通信的能力,從而使用戶從請求/響應的循環(huán)中解脫出來。借助于Ajax,可以在用戶單擊按鈕時,使用JavaScript和DHTML立即更新UI,并向服務器發(fā)出異步請求,以執(zhí)行更新或查詢數據庫。當請求返回時,就可以使用JavaScript和CSS來相應地更新UI,而不是刷新整個頁面。最重要的是,用戶甚至不知道瀏覽器正在與服務器通信:Web站點看起來是即時響應的。發(fā)表帖子圖3.4發(fā)表頁面用戶可以在該頁面中填寫帖子的資料,包括標題和內容。提交之前也作了驗證:標題非空且長度小于50,帖子內容非空且長度小于2000。為提示用戶控制輸入,通過JavaScript實現了動態(tài)顯示用戶輸入的字符數目。為避免重復提交,提供了驗證碼,只有輸入了正確的驗證碼后才會提交。顯示帖子及回復圖3.5顯示貼子與回復頁面在該頁面中,顯示了帖子的詳細信息和回復的帖子的詳細信息。并且實現了分頁功能,每頁顯示5個回復帖子。只有對登錄用戶才顯示“回復帖子”和“發(fā)表話題”兩個按鈕,以及回復帖子的表格的顯示。對于沒有登錄的用戶,則不會顯示。如果登錄的用戶的身份是版主,而該帖子又是位于該用戶管理的論壇版塊下,則會在主題帖子后提供“屏蔽此帖”和“刪除”兩個超鏈接。分別實現屏蔽帖子和刪除帖子的功能。另外在回復的帖子后提供“屏蔽此回復”超鏈接,實現對回復的帖子的屏蔽操作。顯示個人中心頁面圖3.6個人中心頁面在該頁面中,顯示了用戶的個人資料和發(fā)表的帖子的信息。當用戶點擊“編輯個人資料”的超鏈接后,會進入修改該個人資料的頁面,實現對個人信息的修改。另外頁面上分頁顯示了用戶發(fā)表的主題帖子,用戶可以這些帖子進行修改和刪除操作。3.2后臺頁面用戶要進入后臺管理頁面,必須先進入后臺管理的登錄頁面,使用了Filter來實現過濾。只有登錄成功后,才能進入管理頁面。3.2.1后臺登錄頁面圖3.7后臺頁面登錄成功后跳轉到后臺管理頁面,登錄失敗后還是跳轉到本頁面。后臺管理頁面圖3.8后臺管理頁面進入到后臺管理后,首先顯示的是如上圖3.8所示的頁面。用戶管理頁面圖3.9用戶管理頁面點擊后臺管理頁面的左邊導航欄的“用戶詳細信息”超鏈接即可進入到該頁面。該頁面分頁顯示了用戶的部分資料,包括用戶名,用戶角色,是否禁用。還對每個用戶提供了“啟用”,“禁用”,“密碼重置”操作按鈕。管理員可以進行與之相對應的操作。這些操作是通過AJAX實現的。公告管理頁面圖3.10公告管理頁面點擊后臺管理頁面的左邊導航欄的“公告詳細信息”超鏈接即可進入到該頁面。該頁面分頁顯示了公告的詳細信息,包括公共編號,公共內容。管理員可以添加公告,刪除公告。點擊頁面上的添加圖標即可進入到添加公告頁面。點擊某個公告后的刪除圖標即可刪除選定的某個公告。論壇版塊管理頁面圖3.11論壇管理頁面點擊后臺管理頁面的左邊導航欄的“論壇詳細信息”超鏈接即可進入到該頁面。該頁面分頁顯示了各個論壇板塊的詳細信息,包括論壇版塊名稱,上級版塊名稱,版主。管理員可以對論壇版塊進行添加,修改,刪除操作。點擊頁面上的添加圖標即可進入到添加論壇版塊的頁面,完成添加功能。點擊某個版塊后面的修改圖標即可進入修改版塊信息的頁面,在修改頁面中可以修改該版塊的名稱,上級版塊,版主。修改成功后跳轉到顯示所有論壇版塊的頁面。點擊某個版塊后面的刪除圖標即可刪除選中的論壇版塊,如果刪除成功就跳轉到顯示所有論壇版塊的頁面,如果刪除失敗就跳轉到顯示刪除失敗信息的頁面。3.3系統(tǒng)設計主要代碼及配置文件分頁的JavaBean系統(tǒng)中的大部分JSP頁面需要使用分頁技術,因此使用一個JavaBean來專門完成分頁的功能。以下是此類的關鍵代碼:publicclassPageModel{//所有的記錄數privateinttotalRecords;//查詢的結果集privateListlist;//第幾頁privateintpageNo;//每頁多少條數據privateintpageSize;}//提供各成員屬性的get,set方法publicintgetTotalPages(){if(totalRecords==0)return1;return(totalRecords+pageSize-1)/pageSize;}}生成驗證碼的代碼try{BufferedImagebf=newBufferedImage(70,25,BufferedImage.TYPE_INT_RGB); Graphics2Dg2=bf.createGraphics(); g2.setPaint(newColor(0,0,255)); g2.fillRect(0,0,70,25); g2.setPaint(newColor(255,255,255)); Stringstr=request.getParameter("num"); session.setAttribute("num",str); g2.setFont(newFont("Arial",Font.BOLD,24)); g2.drawString(str,7,20); for(inti=0;i<10;i++){ intr=(int)(Math.random()*255); intg=(int)(Math.random()*255); intb=(int)(Math.random()*255); g2.setPaint(newColor(r,g,b)); intx1=(int)(Math.random()*80); inty1=(int)(Math.random()*30); intx2=(int)(Math.random()*80); inty2=(int)(Math.random()*30); g2.drawLine(x1,y1,x2,y2); } g2.dispose(); ImageIO.write(bf,"jpg",response.getOutputStream()); }catch(Exceptione){ System.out.println(e); }系統(tǒng)的配置文件1)Web.xml主要配置的是Tomcat啟動時要加載的配置文件。其中有Struts的配置文件Struts-config.xml,Spring的配置文件即與applicationContext-*.xml匹配的文件,另外還配置了Spring中Filter設置了字符集。此外還配置了與AJAX技術相關的DWR的詳細配置信息。2)Struts-config.xml對于本系統(tǒng)為什么選擇使用Struts技術,下面列舉的這些理由是顯而易見的:首先,它是建立在MVC這種公認的好的模式上的,Struts在M、V和C上都有涉及,但它主要是提供一個好的控制器和一套定制的標簽庫上,也就是說它的著力點在C和V上,因此,它天生就有MVC所帶來的一系列優(yōu)點,如:結構層次分明,高可重用性,增加了程序的健壯性和可伸縮性,便于開發(fā)與設計分工,提供集中統(tǒng)一的權限控制、校驗、國際化、日志等等;其次,經受了實戰(zhàn)的檢驗,使其功能越來越強大,體系也日臻完善;最后,是它對其他技術和框架顯示出很好的融合性[16]。該系統(tǒng)的Struts的配置文件中主要內容是ActionForm,DispatchAction的詳細信息,以及各頁面的跳轉路徑的控制信息。本系統(tǒng)中對數據庫操作的DAO是通過Hibernate來實現的,該層的事務處理都交給Hibernate來處理,下面簡單的來介紹一下Hibernate。Hibernate是一種Java語言下的對象關系映射解決方案。它用來把對象模型表示的對象映射到基于SQL的關系模型結構中去,為面向對象的領域模型到傳統(tǒng)的關系型數據庫的映射,提供了一個使用方便的框架。Hibernate不僅管理Java類到數據庫表的映射(包括從Java數據類型到SQL數據類型的映射),還提供數據查詢和獲取數據的方法,可以大幅度減少開發(fā)時人工使用SQL和JDBC處理數據的時間。Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。4)與Spring有關的三個配置文件在本系統(tǒng)中,利用Spring的依賴注入機制來實現了DAO對象的依賴注入,這樣一來不用自己來創(chuàng)建對象實例。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發(fā)留給了你。所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。以下是與系統(tǒng)有關的三個Spring的配置文件(1)applicationContext-common.xml在該文件中定義了哪些類的哪些方法參與事務,配置了SessionFactory,事務管理器,事務的傳播特性。(2)applicationContext-beans.xml在該配置文件中配置了各個模塊的DAO層的詳細信息。(3)applicationContext-actions.xml在該配置文件中配置了各個DispatchAction中DAO對象的注入信息。注冊時的驗證代碼(用到了AJAX技術)此處是通過DWR框架來實現的,頁面中的關鍵代碼如下:<scripttype='text/javascript'src='dwr/interface/checkMethod.js'></script><scripttype='text/javascript'src='dwr/engine.js'></script><scripttype='text/javascript'src='dwr/util.js'></script><scripttype="text/javascript">Stotype.trim=function(){//用正則表達式將前后空格,用空字符串替代returnthis.replace(/(^\s*)|(\s*$)/g,"");}functioncheckname(){varuname=document.all.username.value.trim();if(uname==""){window.alert("用戶名不能為空!");returnfalse;}checkMethod.checkUsername(uname,callback);}functioncallback(result){if(result=="canuse"){document.getElementById("user_msg").innerHTML="<fontcolor=blue>Ok,你可以用這個名稱!</font>";}else{document.getElementById("user_msg").innerHTML="<fontcolor=red>No,這個名稱已占用!</font>";document.getElementById("username").focus();}}returntrue;}</script>4.測試4.1測試方法由于本系統(tǒng)的設計人員和測試人員都是本人,很了解系統(tǒng)的內部結構和處理過程,所以測試方式采用的是動態(tài)測試方法中的白盒測試。4.2測試范圍用戶的登錄;帖子的添加、刪除、修改、查詢;用戶的個人信息編輯;管理員對用戶、論壇版塊、公告的管理。4.3測試報告測試項目測試目的測試結果原因解決情況用戶登錄確保系統(tǒng)的安全性不敢肯定系統(tǒng)一定安全存在一些其它的因素仍在解決帖子的添加確保帖子準確無誤的添加添加不成功有些屬性沒有進行正確性檢查已解決帖子的刪除確保帖子信息都刪除程序運行正常帖子的修改確保帖子信息準確的修改程序運行正常帖子的查詢確保查出要求的信息沒有達到要求SQL語句有誤已解決個人信息編輯確保個人信息成功的修改程序運行正常用戶管理確保對用戶的管理都能操作成功程序運行正常論壇管理確保對論壇的管理都能操作成功程序運行正常公告管理確保對公告的管理都能操作成功程序運行正??偨Y與展望在計算機網絡飛速發(fā)展的今天,論壇已經成為人們網上交流的重要平臺,因此對論壇的研究是十分必要的。設計和開發(fā)了一

溫馨提示

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

評論

0/150

提交評論