最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

基于JSP動漫論壇的設(shè)計與實現(xiàn)(論文+PPT+源碼)

2022-12-21 04:05 作者:考研保研直通車  | 我要投稿

摘 要 作為文化產(chǎn)業(yè)的一部分,動漫影響了我國一代又一代青少年,據(jù)錢江晚報調(diào)查顯示,有超過七成的95后愿意從事與動漫相關(guān)的行業(yè),可見其對青少年影響力之大。 動漫論壇作為最先開始熱愛動漫人士進行交流的方式之一,是愛好者們共享信息,尋找同伴的重要渠道之一。在這次畢業(yè)設(shè)計中,使用MVC模式,采用MySQL5.0數(shù)據(jù)庫和JSP技術(shù),開發(fā)了界面友好、操作簡單易懂的動漫論壇。 在設(shè)計過程中,在以下論文里說明了九重天動漫論壇系統(tǒng)的設(shè)計方案,主要包括系統(tǒng)運用的關(guān)鍵技術(shù),數(shù)據(jù)庫設(shè)計,對各個功能模塊的詳細設(shè)計以及實現(xiàn),本次設(shè)計主要實現(xiàn)論壇系統(tǒng)中以下幾個功能:注冊會員,會員登錄,管理員登錄,瀏覽帖子,發(fā)帖回帖,管理員具有刪除用戶,管理板塊,能夠增加、刪除、修改板塊信息的功能。 關(guān)鍵詞:動漫論壇、JSP、MySQL。 Design and implementation of Animation Forum Based on JSP Abstract As part of the cultural industry, animation has affected our generations, according to Qianjiang Evening News survey, more than 70% of the 95 are willing to engage in animation related industries, visible to the influence of the youth. Anime forum, as one of the first ways to love the animation lovers, is one of the important channels for lovers to share information and find their companions. Through this graduation project, developed a friendly interface, easy to understand animation forum. In the design process, the use of MVC mode, using MySQL5.0 database and JSP technology. In the following thesis illustrates the design scheme of the nine day anime forum system, including key technology, system using the database design, each functional module of the detailed design and implementation of the design of the main functions of the forum system to achieve the following: Member registration, member login, the administrator login, browse posts, post replies. The administrator has to delete the user management module, can add, delete and modify the function of the information sector. Keywords:?Animation Forum, JSP, MySQL. 目錄 摘 要1 Abstract1 緒論1

1.1 課題背景1

1.2 國內(nèi)外現(xiàn)狀1

1.3 動漫論壇系統(tǒng)特點1

1.4 發(fā)展前景2

1.5 所做的主要工作2可行性分析及需求分析2

2.1 可行性分析2

2.1.1 經(jīng)濟可行性3

2.1.2 技術(shù)可行性3

2.1.3 運行可行性3

2.2 需求分析3

2.2.1 功能需求4

2.2.2 非功能需求5系統(tǒng)開發(fā)環(huán)境及技術(shù)介紹5

3.1 開發(fā)環(huán)境5

3.2 開發(fā)工具5

3.2.1 MyEclipse8.55

3.2.2 MySql5

3.3 相關(guān)技術(shù)介紹6

3.3.1 JSP技術(shù)簡介6

3.3.2 JDBC技術(shù)技術(shù)簡介6

3.3.3 MVC模式與Struts框架技術(shù)6總體設(shè)計7

4.1 系統(tǒng)模塊總體設(shè)計7

4.1.1 普通用戶模塊設(shè)計8

4.1.2 管理員模塊設(shè)計9

4.2 數(shù)據(jù)庫設(shè)計10

4.2.1 數(shù)據(jù)庫分析10

4.2.2 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計11

4.2.3 數(shù)據(jù)庫邏輯設(shè)計11

4.2.3 數(shù)據(jù)庫連接15功能模塊的設(shè)計與實現(xiàn)15

5.1 主界面15

5.2 前端16

5.2.1 用戶登錄16

5.2.2 用戶注冊18

5.2.4 發(fā)表新帖19

5.2.5 回復(fù)帖子20

5.3 后臺管理20

5.3.1 管理員登錄21

5.3.2 分區(qū)管理21

5.3.3版塊管理23

5.3.4 子版塊管理25

5.3.5 帖子管理26

5.3.6 用戶管理26各功能模塊測試26

6.1 測試概述及所用方案27 6.1.1軟件測試概述27 6.1.4 測試的主要內(nèi)容28 6.1.5 測試方案29 6.1.6測試設(shè)計30 6.2前端功能測試31 6.2.1 登錄功能測試31 6.2.2 注冊功能測試32 6.2.3 發(fā)帖功能測試33 6.2.4 回復(fù)帖子測試34 6.3后臺功能測試34 6.3.1 管理員登錄測試34 6.3.2 分區(qū)管理測試35 6.3.3 版塊管理測試36 6.3.4 子版塊管理測試37 6.3.5 主題管理測試38 6.3.5 用戶管理測試38 6.4測試結(jié)果及總結(jié)38 結(jié)束語39 參考文獻40 致 謝41 外文原文42 中文翻譯49 1. 緒論 1.1 課題背景 動漫產(chǎn)業(yè)作為文化產(chǎn)業(yè)的一部分,對我國青少年有著深遠的影響。作為擁有完整產(chǎn)業(yè)鏈的動漫強國日本,僅動畫與漫畫占GDP的0.4%,其衍生了電視、電影、音像出版、傳統(tǒng)出版、游戲軟件開發(fā)、游戲機硬件制造、服裝、小商品、餐飲等等行業(yè)?,F(xiàn)如今,我國動漫產(chǎn)業(yè)發(fā)展迅速,由《秦時明月》《鎮(zhèn)魂街》等優(yōu)質(zhì)動畫為首掀起了國漫熱潮,2015的《大圣歸來》、2016的《大魚海棠》收益頗豐。十二五期間國家明確要支持和壯大國有動漫企業(yè),使其在發(fā)展產(chǎn)業(yè)和繁榮市場方面發(fā)揮主導(dǎo)作用。同時支持各類所有制動漫企業(yè)的健康發(fā)展。 動漫論壇作為動漫愛好者最早開始交流的平臺之一,由于該產(chǎn)業(yè)的獨特性,線上交流是愛好者們進行交互的主要方式。現(xiàn)在國內(nèi)外著名的ACG論壇,如天使動漫論壇、精靈動漫論壇等注冊人數(shù)均已過萬。 為了是廣大動漫愛好者更好的進行交流,本次課題設(shè)計了九重天動漫論壇。該論壇系統(tǒng)的設(shè)計方案包括論壇的設(shè)計與實現(xiàn)的相關(guān)技術(shù)、開發(fā)環(huán)境,數(shù)據(jù)庫設(shè)計,對各個功能模塊的詳細設(shè)計,包括注冊會員,會員登錄,管理員登錄,瀏覽帖子,發(fā)帖回帖,管理員具有刪除用戶,管理板塊,能夠增加、刪除、修改板塊信息的功能。 1.2 國內(nèi)外現(xiàn)狀 bbs誕生于20世紀70年代的美國,主要用來成員之間的交流,隨著互聯(lián)網(wǎng)的發(fā)展,其許多特性被后面的應(yīng)用取代,90年代bbs的功能主要轉(zhuǎn)移到了我們現(xiàn)在所熟知的論壇上來。又值90年代動漫發(fā)展迅速,動漫論壇便成為了愛好者相互交流的主要途徑之一。由于互聯(lián)網(wǎng)發(fā)展迅猛,通訊方式和通訊工具的多元化,論壇不如鼎盛時期一樣人氣爆棚,但作為最先開始傳播訊息的供人民交流的平臺之一,直到今天論壇也在發(fā)揮其功能。依舊是愛好者們交流、共享信息、分享資源必不可少的平臺。 1.3 動漫論壇系統(tǒng)特點 動漫論壇系統(tǒng)有以下幾個特點: 人性化的界面

一個動漫論壇能否吸引人,其界面的美觀是必不可少的,對于愛好者來講,毫不夸張的說,一個是否讓人感覺舒適、友好界面是決定其是否使用該論壇的要素之一。人性化的界面,讓用戶在使用時更加舒適。其界面風(fēng)格也會由熱門作品、節(jié)日等因素影響定期更換,保證了新鮮度,是用戶不易產(chǎn)生審美疲勞。完整的管理功能

論壇系統(tǒng)一般有明確的制度,為此需要一套合理完整的管理功能,由于我們無法左右他人的思想和發(fā)言,會不可避免的出現(xiàn)過激的言論和不健康的內(nèi)容,因此,一套完整的管理功能顯得尤為重要。它約束用戶的行為,定期清理不良信息。對于論壇的主題,帖子有著編輯增加修改的功能,對于用戶也刪除封號等功能,通過這些管理功能的實現(xiàn)來保證廣大用戶使用論壇的感受。覆蓋范圍廣

論壇的成員可以來自各個地方,大家因為同一個興趣愛好聚集起來,由于是線上活動,所以對于成員的地域約束不是很大,因此論壇中成員的覆蓋范圍較廣話題性明確

作為動漫論壇,其主題相當明確,用戶也是針對愛好者這一群體。可以在論壇中討論關(guān)于ACG相關(guān)的話題。

1.4 發(fā)展前景

論壇作為一種著重依靠內(nèi)容和話題去促進用戶交流的平臺,只要話題還存在,其就有發(fā)展的可能性,現(xiàn)在的論壇已經(jīng)足夠完善和成熟,與曾經(jīng)的頂峰時期相比,并不會再和那時一樣聚集全網(wǎng)絡(luò)的目標,這并不是一件壞事,只能說明我們的交流方式日益多樣化,成熟化。而具有主題鮮明的論壇,比如動漫論壇將會繼續(xù)存在并且活躍下去?,F(xiàn)如今國內(nèi)動漫產(chǎn)業(yè)發(fā)展迅猛,動漫論壇今后也將乘著國漫大發(fā)展的東風(fēng),走向更好的未來。

1.5所做的主要工作

首先,對論壇進行可行性分析和需求分析,掌握所做論壇都需要哪些功能。論壇分為兩大模塊,分為前臺帖子瀏覽模塊、后臺帖子管理模塊,在后臺帖子管理模塊當中,應(yīng)該具有對帖子的管理功能,對注冊用戶的管理的功能,在前臺帖子瀏覽模塊當中,應(yīng)該具有帖子的瀏覽、發(fā)表新的帖子、注冊用戶看完帖子之后的回帖等等。

然后,要對論壇進行系統(tǒng)的設(shè)計,它包括各個功能模塊的設(shè)計和數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計。論壇采用動態(tài)服務(wù)器網(wǎng)頁JAVA作為開發(fā)語言,MySQL作為后臺數(shù)據(jù)庫來開發(fā)。功能模塊的設(shè)計,分為前臺帖子瀏覽模塊設(shè)計,后臺帖子管理模塊設(shè)計,在功能模塊設(shè)計中,要確定各個分模塊之間的聯(lián)系,以及前臺模塊與后臺模塊之間的聯(lián)系。在數(shù)據(jù)庫結(jié)構(gòu)設(shè)計中,要考慮建立幾個數(shù)據(jù)表。各個數(shù)據(jù)表之間的關(guān)系,以及如何把網(wǎng)頁與數(shù)據(jù)庫連接起來。

最后,就是系統(tǒng)的實現(xiàn),根據(jù)前面所做的工作,對論壇進行詳細的設(shè)計與實現(xiàn),通過參考大量的書籍掌握Java語言的用法,以及怎樣用JDBC連接數(shù)據(jù)庫的。再實現(xiàn)各個功能模塊。闡述整個個性化頁面的系統(tǒng)結(jié)構(gòu)及工作原理;分析了系統(tǒng)實現(xiàn)中的特殊性、難點和重點。設(shè)計實現(xiàn)用戶管理、帖子管理、版面管理、數(shù)據(jù)庫管理、瀏覽查找功能等。分析并解決實現(xiàn)中的若干技術(shù)問題。?建立完整的網(wǎng)上論壇,進行測試并分析結(jié)果。

可行性分析及需求分析

2.1 可行性分析 可行性研究的目的就是用最小的代價在盡可能短的時間里確定問題是否能夠解決。但是這個階段的目的不是解決用戶提出的問題,而是確定這個問題是否值得去解決。其主要任務(wù)是,首先需要進行概要的分析研究,初步確定項目的規(guī)模和目標,確定項目的約束和限制,必須分析幾種可能的利弊,從而判定原系統(tǒng)的目標和規(guī)模是否現(xiàn)實,系統(tǒng)完成后帶來的效益是否大到值得投資開發(fā)這個系統(tǒng)的程度。因此,可行性研究實際上就是一次大大的簡化了的系統(tǒng)分析和系統(tǒng)設(shè)計的過程,即以抽象的方式進行分析和研究。 首先需要進一步分析和澄清之前一部的問題定義。一般都要從經(jīng)濟、技術(shù)、操作和法律四個方面來體驗每種解法的可行性,做出明確結(jié)論來供用戶參考。 可行性分析通過對項目的前期投入、帶來的收益、技術(shù)、環(huán)境影響、后續(xù)的影響等多方面的研究分析,對項目是否值得投資、是否建設(shè)等提出意見。為項目的決策提供了綜合性的系統(tǒng)分析方法。 2.1.1 經(jīng)濟可行性 首先要進行成本——效益分析。從開發(fā)所需的成本和資源,潛在的時長和前景等方面進行估算,確定要開發(fā)的項目是否值得投資開發(fā),即要分析在整個軟件生存周期中所花費的代價與得到的效益之間的度量。 本動漫論壇系統(tǒng)是一個實現(xiàn)愛好者相互交流的系統(tǒng),采用MVC結(jié)構(gòu)體系;本系統(tǒng)使用的開發(fā)工具為MyEclipse8.5,均可以在網(wǎng)上免費下載并安裝使用;MY SQL是本系統(tǒng)的后臺數(shù)據(jù)庫,同樣也可以在網(wǎng)上免費下載使用。因此,基本無需支付任何費用就可以使用這些開發(fā)工具。另外,本系統(tǒng)完全由個人開發(fā),除了個人的時間和精力的消耗之外,基本上沒有什么經(jīng)濟方面的開發(fā)成本。? 本系統(tǒng)的設(shè)計與開發(fā)是非商業(yè)性的,雖然沒有經(jīng)濟方面的收益,但對于本人而言,既加深了本人對JSP技術(shù)的了解和掌握,也為以后的軟件系統(tǒng)的設(shè)計和開發(fā)積累了一定的實踐經(jīng)驗。? 2.1.2 技術(shù)可行性 對要開發(fā)項目的功能、性能和限制條件進行分析,評價系統(tǒng)所采用的技術(shù)是否先進,使用現(xiàn)在的技術(shù)是否能實現(xiàn)系統(tǒng)打到的目標。技術(shù)可行性是從該項目實施的技術(shù)角度來探討該項目是否可一實施。要從軟硬件、環(huán)境以及技術(shù)人員等方面來做綜合的考慮。 動漫論壇系統(tǒng)的開發(fā)主要包括前臺和后臺兩個方面,不管是用戶還是系統(tǒng)管理員都是通過瀏覽器(如火狐,IE等)進入該系統(tǒng)。對于系統(tǒng)前臺,要求系統(tǒng)的界面友好、美觀大方、操作方便等要求,實現(xiàn)注冊會員,會員登錄,瀏覽帖子,發(fā)表帖子,回復(fù)帖子的功能;對于系統(tǒng)后臺則要求信息更新及時、數(shù)據(jù)存儲安全可靠、數(shù)據(jù)一致性高及易維護等要求,要實現(xiàn)管理員登錄,刪除用戶,管理板塊,能夠增加、刪除、修改板塊信息的功能。 本系統(tǒng)采用JSP技術(shù),開發(fā)調(diào)試相對簡單,靈活使用css可以使界面更加簡潔美觀友好, MyEclipse8.5集成開發(fā)環(huán)境是一套完整的開發(fā)工具集,可以用于生成基于JSP的應(yīng)用程序,還提供MySQL數(shù)據(jù)庫各種操作,這些大大提高了編程的效率和代碼質(zhì)量,而現(xiàn)在開發(fā)所需語言技術(shù)都是在大學(xué)期間學(xué)過的,從而在技術(shù)上為本系統(tǒng)的設(shè)計和開發(fā)提供了可能。 2.1.3 運行可行性 本系統(tǒng)操作簡單,功能齊全。各個模塊的操作都簡單易懂,沒有復(fù)雜的實現(xiàn)方式,再加上現(xiàn)如今互聯(lián)網(wǎng)飛速發(fā)展,當前信息化技術(shù)已經(jīng)相當普及,各類操作人員水平都有相當?shù)母叨龋栽谶\行上是可行的。 2.2 需求分析 軟件需求分析是軟件開發(fā)期的第一個階段,是軟件生存周期最重要的一步,是關(guān)系到軟件開發(fā)成敗的關(guān)鍵步驟。他在問題定義和可行性研究階段之后進行。它的基本任務(wù)是準確地回答“系統(tǒng)必須做什么?”這個問題。雖然在可行性研究階段粗略了解了用戶的需求,甚至還提出了一些可行的方案,但是可行性研究的基本目的是最小的代價在盡可能短的時間內(nèi)確定問題是否存在可行的解法,因此許多細節(jié)都被忽略了,一個微笑的錯漏都可能導(dǎo)致誤解或鑄成系統(tǒng)的大錯,在糾正時付出巨大的代價。因而可行性研究不能代替需求分析,他實際上并沒有準確地回答“系統(tǒng)必須做什么?”這個關(guān)鍵問題。 軟件需求分析是整個系統(tǒng)開發(fā)的基礎(chǔ)。在此階段結(jié)束前,系統(tǒng)分析員應(yīng)該寫出軟件需求規(guī)格說明書,以書面的形式準確地描述軟件需求。在此過程中,分析員和用戶都是起著關(guān)鍵的、必不可少的作用。 雙方確認對軟件系統(tǒng)有下述幾方面的綜合要求: 功能、性能、可靠、可用、出錯、接口、約束、逆向以及將來可能發(fā)生的。? 所謂需求分析,就是要弄清楚問題的要求,我們要清楚地知道對于用戶來講,他要實現(xiàn)什么功能,他希望我們做到什么。在這個階段與客戶的交流十分重要,只有明確了客戶的需求,才能制定出正確的計劃,才能做出完整的、另其滿意的項目,若一開始沒有明確客戶需求,那我們所追求的目標就是不正確的,制定的計劃和努力的方向也隨之發(fā)生了偏轉(zhuǎn),最后可能與客戶需要的想去甚遠,需要重頭再來,這樣就造成了大量資源、人力、財力的浪費。需求分析完成的好,對今后項目的開發(fā)百益而無一害,可以加快設(shè)計開發(fā)的效率,避免返工,節(jié)省時間,避免造成不必要的浪費。 2.2.1 功能需求 指所開發(fā)軟件系統(tǒng)必須提供的服務(wù),劃分出系統(tǒng)必須完成的所有功能。在本動漫論壇系統(tǒng)中,存在下列功能需求: A.面向普通用戶的功能需求 注冊用戶

如果用戶為非會員用戶,通過注冊,經(jīng)審核通過之后成為會員,獲得一個登陸身份。登錄

如果用戶已經(jīng)是注冊會員,可以進行登錄,登陸后實現(xiàn)別的功能。瀏覽帖子

用戶查看系統(tǒng)中的帖子,了解最新的資訊和各種動態(tài)等信息。發(fā)布新帖

用戶可以發(fā)表一些帖子,來與其他論壇用戶共享信息?;貜?fù)帖子

對于自己或者別的會員發(fā)表的帖子,可以進行回復(fù)。 B.面向管理員的功能需求 1、管理員登錄 對于已經(jīng)登錄的用戶,若權(quán)限為管理員,可以進行管理員的登錄,登陸之后才能有權(quán)限進行下一步操作。 帖子管理

管理員可以對發(fā)表的帖子進行查詢、修改、刪除等操作,對好的帖子進行標識,刪除或轉(zhuǎn)移不適合的帖子。模塊管理

論壇中的模塊,管理員可對其進行添加、修改、刪除等操作。用戶管理

用戶注冊成功后,管理員可以對用戶進行添加、刪除操作。 C.面向游客的功能需求: 游客可以對論壇進行訪問,瀏覽帖子的功能,但不能參與回復(fù)操作,也沒有發(fā)布帖子的權(quán)限。 2.2.2 非功能需求 動漫論壇系統(tǒng)比較重要的一點莫過于界面的設(shè)計,一個動漫論壇是否能吸引用戶的第一印象取決于該界面是否友好,因此友好的界面也是該系統(tǒng)必不可少的。與其他論壇系統(tǒng)風(fēng)格不同的是,動漫論壇要有自己獨特的二次元風(fēng)格,讓愛好者有親切、熟悉的感覺。 系統(tǒng)開發(fā)環(huán)境及技術(shù)介紹

3.1 開發(fā)環(huán)境 本動漫論壇系統(tǒng)的運行平臺設(shè)置分為硬件環(huán)境和軟件環(huán)境。 硬件環(huán)境:系統(tǒng)的硬件環(huán)境配置為處理器Intel COREi5-3230M,內(nèi)存4G,硬盤500G。軟件環(huán)境:系統(tǒng)的軟件環(huán)境配置為:操作系統(tǒng):Windows 7,數(shù)據(jù)庫:MySql,JDK1.8、MyEclipse8.5開發(fā)工具包和MyEclipse自帶的Tomcat服務(wù)器。

3.2 開發(fā)工具 3.2.1 MyEclipse8.5 MyEclipse是一個非常好的集成開發(fā)環(huán)境,旨在簡化多操作系統(tǒng)軟件工具的開發(fā)過程,可用于管理各種開發(fā)任務(wù),包括測試,性能調(diào)優(yōu)和程序調(diào)試,還可以從 針對多個供應(yīng)商的第三方應(yīng)用開發(fā)工具。 通過集成大量插件,Eclipse的功能可以擴展到支持各種不同的應(yīng)用程序。主要用于Java、Java EE以及移動應(yīng)用的開發(fā)。MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持相當不錯。 3.2.2 MySql MySQL是一個關(guān)聯(lián)的數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),它將數(shù)據(jù)與不同表中的數(shù)據(jù)進行關(guān)聯(lián),而不是將所有數(shù)據(jù)放在大型存儲庫中。 這提高了速度并提高了靈活性。 MySQL的SQL結(jié)構(gòu)化查詢語言是用于訪問數(shù)據(jù)庫的最常用的標準化語言。MySQL是開源的,所以不需要支付其他的費用,可以到官方的網(wǎng)站進行下載。MySQL不僅支持中小型的數(shù)據(jù)庫,也支持擁有上萬條數(shù)據(jù)記錄的大型數(shù)據(jù)庫。而且MySQL是適合于多個系統(tǒng)上的,它支持很多語言。也正是由于其體積小,速度快,總體擁有成本低,特別是開源這一功能,許多中小型網(wǎng)站為了降低網(wǎng)站的總體擁有成本,并選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。 3.3 相關(guān)技術(shù)介紹 本系統(tǒng)中使用了JSP技術(shù)、JDBC技術(shù)、MVC模式與struts框架技術(shù),下面將簡單介紹這些技術(shù)。 3.3.1 JSP技術(shù)簡介 JSP和servelet一樣都屬于“web層”,比起html這種直接把文件傳到服務(wù)器供用戶瀏覽的“靜態(tài)網(wǎng)頁技術(shù)”,JSP屬于“動態(tài)網(wǎng)頁技術(shù)”。所謂“動態(tài)網(wǎng)頁技術(shù)”就是根據(jù)客戶發(fā)出的請求來做出響應(yīng),并且生成頁面并返回給用戶。顯而易見,比起“靜態(tài)網(wǎng)頁技術(shù)”JSP是有很多好處的,比如靈活性和數(shù)據(jù)保密等方面。當然,也存在著不足,那就是其響應(yīng)速度相對較慢,因此現(xiàn)在解決這一問題的方法就是把“動態(tài)網(wǎng)頁”中相對固定的部分作為緩存。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計的顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 JSP(JavaServer Pages)是一種動態(tài)頁面技術(shù)。 JSP是面向服務(wù)器的,因此支持任何瀏覽器。當Web服務(wù)器和JSP引擎遇到訪問JSP網(wǎng)頁的請求時,JSP引擎將請求對象發(fā)送給服務(wù)器端的相關(guān)組件,比如JavaBean組件、Servlet或EJB等,然后由服務(wù)器端組件處理這些請示,可能需要從數(shù)據(jù)庫或數(shù)據(jù)存儲中檢索信息,然后服務(wù)器端組件再將響應(yīng)對象返回JSP引擎。JSP引擎將響應(yīng)對象傳遞給JSP頁面,根據(jù)JSP頁面的HTML格式完成數(shù)據(jù)編排,最后Web服務(wù)器和JSP引擎將格式化后的JSP頁面以HTML格式返回客戶瀏覽器。這就是當前網(wǎng)站構(gòu)建中廣泛采用的瀏覽器——Web服務(wù)器——后臺數(shù)據(jù)庫的三層架構(gòu)模式。因為JSP所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。 3.3.2 JDBC技術(shù)技術(shù)簡介 JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用

Java語言

編寫的類和接口組成。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問

Sybase數(shù)據(jù)庫

專門寫一個程序,為訪問

Oracle數(shù)據(jù)庫

又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。簡單來說。JDBC可以做三件事情:與數(shù)據(jù)庫建立連接、發(fā)送操縱數(shù)據(jù)庫的語句、返回處理結(jié)果。

Java數(shù)據(jù)庫連接

體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標準方法。 3.3.3 MVC模式與Struts框架技術(shù) MVC模式: MVC是一個設(shè)計模式,它強制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。 視圖V: 視圖是用戶看到并與之交互的界面。對老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Macromedia Flash和像XHTML,XML/XSL,WML等一些標識語言和Web services. 如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。 模型M 模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務(wù)。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復(fù)性。 控制器C 控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求,然后再確定用哪個視圖來顯示返回的數(shù)據(jù)。 Struts框架技術(shù): Struts 框架就是基于Model 2 的架構(gòu),也就是基于MVC模式的框架技術(shù)。它是一個免費的開源的WEB層的應(yīng)用框架,具有很高的可配置性,和有一個不斷增長的特性列表。一個前端控制組件,一系列動作類,動作映射,處理XML的實用工具類,服務(wù)器端java bean 的自動填充,支持驗證的WEB 表單,國際化支持,生成HTML,實現(xiàn)表現(xiàn)邏輯和模板組成了struts的靈魂。 總體設(shè)計

總體設(shè)計階段的基本目標就是回答“概括的說,系統(tǒng)應(yīng)該如何實現(xiàn)?”這個問題,因此總體設(shè)計又稱為概要設(shè)計或初步設(shè)計。通過這個階段的工作,開發(fā)人員將劃分出組成系統(tǒng)的物理元素,如程序、文件、數(shù)據(jù)等。但這些物理元素還處于黑盒子的形式,具體的內(nèi)部細節(jié)在詳細設(shè)計考慮??偺卦O(shè)計的另一項任務(wù)是設(shè)計軟件的總體結(jié)構(gòu),即確定系統(tǒng)中的每個程序有哪些模塊組成,每個模塊的功能及模塊和模塊之間的接口、調(diào)用關(guān)系等,但所有這些都不要求涉及模塊內(nèi)部過程的細節(jié)。 4.1 系統(tǒng)模塊總體設(shè)計 九重天動漫論壇系統(tǒng)在設(shè)計時應(yīng)滿足以下幾個目標:? 1.使用人機交互的操作,查詢信息快捷,方便后臺管理,確保數(shù)據(jù)庫的穩(wěn)定性,其次是盡可能使界面美觀。 2.為用戶提供一個方便、快捷的專業(yè)特色信息查看功能。 3.實現(xiàn)在線添加專業(yè)特色。 4. 操作簡單,易于理解,便于使用。 5. 屏幕設(shè)計簡潔明快,屏幕元素布局合理。 6.用戶隨時都可以查看自己發(fā)表的建議。 7.系統(tǒng)要盡可能的設(shè)計成便于管理員維護和方便操作。 8.系統(tǒng)運行穩(wěn)定安全可靠。 九重天動漫論壇的總體設(shè)計包括兩大部分:一是前臺的總體設(shè)計,也就是對于普通用戶模塊的設(shè)計,包括注冊會員,會員登錄,瀏覽帖子,發(fā)表帖子,回復(fù)帖子的功能;二是后臺的設(shè)計,也就是對于管理員的模塊設(shè)計,包括管理員對版塊進行增加修改刪除的操作,對用戶進行刪除操作,對帖子進行刪除操作等基本功能。 功能結(jié)構(gòu)如圖4.1.1

4.1.1 普通用戶模塊設(shè)計 會員注冊與登錄

訪問到論壇主頁時,所有用戶都默認為游客,只能執(zhí)行瀏覽、搜索帖子的功能,希望進行下一步操作需要進行會員登陸。

如果用戶為非會員用戶,通過注冊,經(jīng)審核通過之后成為會員,獲得一個登陸身份;登陸之后可以進行發(fā)帖,評論等功能。會員登錄

如果用戶為會員,可以直接登陸。登陸之后才能進行發(fā)帖、評論等功能。瀏覽帖子

訪問到論壇時,頁面會顯示版塊、分區(qū)和發(fā)表的帖子,用戶可以直接瀏覽帖子的內(nèi)容,也可以選擇感興趣的版塊或者分區(qū),從里面瀏覽該分區(qū)內(nèi)的帖子的內(nèi)容。該模塊沒有權(quán)限設(shè)置,無論是會員還是管理員都可以進行操作。發(fā)表帖子

用戶登陸后可以發(fā)表一些帖子來與他人共享最新資訊。 5、回復(fù)帖子 用戶登陸后可以在自己或別人發(fā)表的帖子下發(fā)表評論或者回復(fù),發(fā)表自己的想法。 會員在登錄后可進行的操作如圖4.1.2所示: 4.1.2 管理員模塊設(shè)計 1、管理員登錄 對于已經(jīng)登錄的用戶,若權(quán)限為管理員,可以進行管理員的登錄,登陸之后才能有權(quán)限進行下一步操作。 2、帖子管理 管理員可以對發(fā)表的帖子進行查詢、刪除等操作。 3、分區(qū)管理 論壇中的分區(qū),管理員可對其進行添加、修改、刪除等操作。 4、版塊管理(子版塊管理) 論壇中的分區(qū)下有不同的版塊,可以對指定分區(qū)下的版塊進行添加、修改、刪除等操作。 子版塊位于版塊之內(nèi),可以對指定版塊進行添加子版塊,編輯和刪除子版塊的操作。 5、用戶管理 用戶注冊成功后,管理員可以對用戶進行刪除操作。 管理員模塊設(shè)計結(jié)構(gòu)如圖4.2.1

4.2 數(shù)據(jù)庫設(shè)計 良好的數(shù)據(jù)庫設(shè)計,可以大大方便在開發(fā)過程中的編程。一個合理、有限的數(shù)據(jù)庫設(shè)計可降低程序的復(fù)雜性,使程序開發(fā)的過程更為容易。 本系統(tǒng)是一個中小型的動漫論壇系統(tǒng),考慮到開發(fā)成本、用戶信息量客戶需求等問題,決定采用MYSQL作為項目中的數(shù)據(jù)庫。 MySQL相對來說是個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典的MySQL AB公司開發(fā),在2008年被SUN公司收購。而2009年,SUN又被Oracle收購.

Mysql

是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一。MySQL是一種關(guān)聯(lián)

數(shù)據(jù)庫管理系統(tǒng)

,關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了

靈活

性。MySQL軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),由于其體積小、速度快、總體擁有成本低,尤其是

開放源碼

這一特點,一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站

數(shù)據(jù)庫

。由于其社區(qū)版的性能卓越,搭配

PHP

Apache

可組成良好的開發(fā)環(huán)境。 4.2.1 數(shù)據(jù)庫分析 通過對系統(tǒng)的需求和功能的分析將系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)主要劃分為四個部分:用戶、管理員、帖子、模塊這四個。 用戶執(zhí)行的主要是注冊會員,會員登錄,瀏覽帖子,發(fā)表帖子,回復(fù)帖子的功能。 管理員則主要進行后臺管理,包括對分區(qū)、版塊以及子版塊進行增加修改刪除的操作,對用戶進行刪除操作,對帖子進行刪除操作等基本功能。 帖子是用戶之間進行交流的直接手段,其中包括帖子的題目,內(nèi)容,發(fā)帖人,發(fā)帖時間,所屬板塊信息。 模塊是最先展示給用戶的,包括具體的分區(qū)、板塊和子版塊。模塊間的關(guān)系,如:同級、上下層的關(guān)系要把握好。 從這上面的信息,我們可以將數(shù)據(jù)庫這樣設(shè)計: 設(shè)計四個表,信息如下: t_user用于存放用戶注冊信息。 t_topic用于存放版面信息。 t_threads用于存放貼子信息。 t_forums用于存放論壇類別介紹。 這四個表的詳細的邏輯設(shè)計詳見4.2.3. 4.2.2 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 E-R模型的基本概念? ER圖即實體關(guān)系圖,是描述實體和關(guān)系的圖。ER圖構(gòu)建實體間的關(guān)系模型。ER圖的思想是:項目所有參與者能理解ER圖。ER圖的構(gòu)成要素是:實體,關(guān)系類型,屬性。實體是現(xiàn)實事物的形象或者抽象描述,必須有業(yè)務(wù)意義。特性是用來描繪實體,關(guān)系存在于實體之間 (1)實體:現(xiàn)實世界中的各種事物; (2)屬性:事物的特性;? (3)聯(lián)系:事物之間的關(guān)系。實體的關(guān)系有一對一、一對多、多對多聯(lián)系。 根據(jù)系統(tǒng)的總體設(shè)計,我們可以看出看系統(tǒng)的主要實體有用戶、管理員、帖子、模塊這四個。 大體的概念模型設(shè)計如下圖4.2.2所示

4.2.3 數(shù)據(jù)庫邏輯設(shè)計 表1 t_user(用戶信息表) 序號名稱別名類型長度1id編號int112userName用戶名varchar503userPW用戶密碼varchar504realName真實姓名varchar505email郵箱varchar1006userType用戶權(quán)限int117isDel刪除標記int11 該表用于存放用戶注冊信息 id是t_user表的主鍵,是表示用戶的編號。 userName是用戶名,是用戶登錄所需要的信息之一。 userPW是用戶密碼,和用戶名一起作用于用戶登錄。 userPW是用戶真實姓名,用于用戶注冊,對管理員可見。 Email是郵箱,用于注冊,對管理員可見。 Usertype 是用戶類型,用來表示用戶的權(quán)限,我們設(shè)置usertype為0的是管理員,具有更高的權(quán)限,usertype為1的是普通用戶,只能實現(xiàn)前端的功能。 isDel是刪除標記,表示該用戶是否被刪除,被刪除用戶發(fā)表帖子依舊能顯示在論壇中,所以刪除用戶不是講用戶從數(shù)據(jù)庫中移除,而是將其刪除標記置為1。 表2 t_forums(論壇類別介紹表) 序號名稱別名類型長度1fid模塊編號int112type類型varchar103name名字varchar1004fup上級編號int115status狀態(tài)smallint6 該表用于存放論壇類別介紹 fid是編號,用來表示管理員最近添加或者修改刪除的分區(qū)、版塊、子版塊。是該介紹表的主鍵 Type表示的是類型,用來表示管理員實施操作是對分區(qū)、版塊還是子版塊進行的,通過type表示區(qū)分三者。 Name是名稱,表示管理員實施操作時的分區(qū)、版塊及子版塊的名稱。 Fup表示的上級模塊,默認最頂層的為0,即每個分區(qū)的上層為0,每個版塊的上層對應(yīng)的編號是每個分區(qū)的編號(fid),每個子版塊對應(yīng)的上層編號是每個模塊對應(yīng)的編號(fid)。 Status表示狀態(tài),即這些模塊存在與否,對于存在的記為“1”不存在的記為“0”. 表3 t_topic(版面信息表) 序號名稱別名類型長度1pid新帖編號int112fid模塊編號int113author作者varchar1004authorid作者idint115subject標題varchar1006view觀看int117replies回復(fù)int118addtime發(fā)表時間datetime0 該表用于存放版面信息。 Pid即新帖編號,也就是發(fā)布的新的帖子的編號,是該表的主鍵。 fid是編號,用來表示新帖所屬的模塊(子版塊)。 Author表示發(fā)帖的作者名字。 Authorid 表示發(fā)帖的作者編號。 Subject 表示發(fā)表的新帖子的內(nèi)容。 View 表示有多少觀看量(瀏覽量)。 Replies 表示回復(fù)帖子的數(shù)量。 Addtime 表示帖子發(fā)布的時間。 表4 t_threads(貼子信息表) 序號名稱別名類型長度1tid帖子編號int112pid新帖編號int113fid題目編號int114ftype類型int115author作者varchar506authorid作者idint117subject標題varchar1008Content內(nèi)容varchar100009addtime發(fā)表時間datetime010tnum帖子數(shù)量int11 該表用于存放貼子信息。 Tid 即帖子的編號,這個帖子可以表示新發(fā)布的新帖,也可以表示是回復(fù)的帖子,是該表的主鍵。 Pid 即新帖編號,也就是發(fā)布的新的帖子的編號,如果帖子是回復(fù)帖子的話,該編號反應(yīng)的是回復(fù)帖子所屬于的帖子的編號。 Fid 是編號,用來表示新帖所屬的模塊(子版塊)。 Ftype 表示帖子的類型,如果帖子的類型標志為“0”嘖表示該帖是新發(fā)布的帖子,如果帖子的類型標識為“1”,則表示該帖子是回復(fù)別的帖子的帖子。 Author表示發(fā)帖的作者。 Authorid 表示發(fā)帖作者的編號。 Subject 表示帖子的題目。 Content 存放帖子的內(nèi)容。 Addtime 表示帖子發(fā)布的時間。 tnum 表示帖子的數(shù)量。 論壇中所有的操作所產(chǎn)生的數(shù)據(jù)如:注冊,登錄,瀏覽帖子,發(fā)表帖子,回復(fù)貼子所產(chǎn)生的數(shù)據(jù)都需要放到數(shù)據(jù)庫中存儲。數(shù)據(jù)庫中以數(shù)據(jù)表來存放各個功能模塊相關(guān)的數(shù)據(jù),數(shù)據(jù)庫的設(shè)計對系統(tǒng)非常重要 數(shù)據(jù)庫設(shè)計的合理與否,安全性,穩(wěn)定性這些方面都直接影響著計算機論壇的運作。一個好的數(shù)據(jù)庫設(shè)計方案,能夠使網(wǎng)站的效率事半功倍。在對數(shù)據(jù)庫的設(shè)計要格外的認真的分析,考慮的要周全細致。 要確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫MYSQL中主要是指存取和存儲結(jié)構(gòu)。若物理設(shè)計滿足設(shè)計要求,即可實施,否則,需要重新設(shè)計或者修改物理結(jié)構(gòu),嚴重時甚至需要返回邏輯設(shè)計階段對數(shù)據(jù)模型進行修改。 數(shù)據(jù)庫是眾多用戶共享的系統(tǒng),很多時候?qū)ν魂P(guān)系需要建立多條存取路徑才能滿足多用戶的多種需求。現(xiàn)代技術(shù)的飛速發(fā)展使得數(shù)據(jù)庫存儲變更簡單、方便、易行。索引法和聚簌法都可以使物理設(shè)計順利實現(xiàn)。 4.2.3 數(shù)據(jù)庫連接 功能模塊的設(shè)計與實現(xiàn)

功能模塊是指數(shù)據(jù)

說明

、可執(zhí)行語句等程序元素的集合,它是指單獨命名的可通過名字來訪問的過程、函數(shù)、子程序或宏調(diào)用。功能模塊化是將程序劃分成若干個功能模塊,每個功能模塊完成了一個子功能,再軟件結(jié)構(gòu)圖示把這些功能模塊總起來組成一個整體。以滿足所要求的整個系統(tǒng)的功能。功能模塊化的根據(jù)是,如果一個問題有多個問題組合而成,那么這個組合問題的復(fù)雜程度將大于分別考慮這個

問題

時的復(fù)雜程度之和. 在本動漫論壇系統(tǒng)中,有以下幾個模塊:登錄模塊、注冊模塊、發(fā)表新帖模塊、回復(fù)帖子模塊、用戶管理模塊、分區(qū)管理模塊、版塊管理模塊、子版塊管理模塊這幾大模塊,在本章中我們來對這些模塊的設(shè)計與實現(xiàn)進行討論。 5.1 主界面 主界面是論壇的門戶,是給用戶留下第一印象的重要界面,九重天動漫論壇的主界面包括用戶登錄注冊、管理員登錄、退出,分區(qū),各個分區(qū)下的版塊,各版塊最后發(fā)表的帖子內(nèi)容等信息。 主界面如下圖5.1所示

5.2 前端 5.2.1 用戶登錄 用戶進入主頁面,若想瀏覽具體的帖子或者執(zhí)行發(fā)帖、回復(fù)帖子等功能必須先登錄。點擊工具欄上“登錄”按鈕則進入登錄頁面(如圖5.2所示)。該模塊在用戶登錄要進行用戶名和密碼的有效性檢驗,查詢用戶表,如果該用戶存在則進入主頁面,如果用戶表內(nèi)沒有用戶相關(guān)信息,或者密碼不正確,則不能登錄成功,并彈出窗口提示用戶名不存在或者密碼錯誤,回到登錄頁面以便用戶再次輸入用戶名及密碼登錄。 登錄界面如下圖5.2.1所示

主要代碼: public?String login(String userName,String userPw) { String result="no"; try { String sql="from TUser where userName=? and userPw=? and isDel=0 "; Object[] con={userName,userPw}; List userList=userDAO.getHibernateTemplate().find(sql,con); if(userList.size()==0) { result="no"; } else { WebContext ctx = WebContextFactory.

get

();? HttpSession session=ctx.getSession();? TUser user=(TUser)userList.get(0); session.setAttribute("user", user); result="yes"; } }catch(Exception e) { e.printStackTrace(); } return?result; } result="yes"; } }catch(Exception e) { e.printStackTrace(); } return?result; } 5.2.2 用戶注冊 若用戶是第一次使用該動漫論壇,需要進行注冊,點擊工具欄中的“注冊”按鈕進入注冊界面。注冊成功后跳轉(zhuǎn)至主界面,獲得一個登陸身份,可以執(zhí)行瀏覽帖子、發(fā)表新帖子和回復(fù)帖子等功能用戶注冊信息必須完善,如果兩次密碼不正確或者信息沒有填完整,則不能完成注冊并且提示錯誤,如“兩次密碼不一致”“請輸入郵箱”“請輸入真實姓名”,回到注冊界面使用戶繼續(xù)完成注冊。 注冊界面如下圖5.2.2所示

主要代碼: public?String userReg(){ TUser user =?new?TUser(); user.setUserName(userName); user.setUserPw(userPw); user.setEmail(email); user.setRealName(realName); user.setUserType(1); user.setIsDel(0); userDAO.save(user); Map session= ActionContext.

getContext

().getSession(); session.put("user", user); this.setMessage("注冊成功"); this.setPath("bbs/jump.jsp"); return?"succeed"; } 5.2.3 瀏覽帖子 一個論壇,帖子是用戶之間交流最直接的手段,完成注冊或者登陸后,用戶可以通過選擇感興趣的分區(qū)、版塊、子版塊來瀏覽帖子。 瀏覽帖子如下圖5.2.3所示

5.2.4 發(fā)表新帖 當用戶完成登錄之后,若要發(fā)布新帖,點擊“新帖”發(fā)表新帖子,依次寫入標題與正文內(nèi)容,之后點擊“發(fā)新話題”即完成新帖的發(fā)表。 發(fā)表新帖如下圖5.2.4所示

5.2.5 回復(fù)帖子 對于已經(jīng)發(fā)表的帖子,不論是自己發(fā)表的帖子還是別人發(fā)表的帖子都可以進行回復(fù)帖子的操作,在原貼內(nèi)容最下方的“快速回復(fù)主題”中輸入自己要回復(fù)的內(nèi)容,點擊“發(fā)表回復(fù)”即可完成回復(fù)帖子的功能。 回復(fù)新帖如下圖5..2.5所示

5.3 后臺管理 為了論壇能夠更好的工作,后臺的設(shè)計必不可少,后臺是為了前臺更加良好的運作而服務(wù)的。后臺管理的功能只有管理員才能實現(xiàn),要進入后臺首先要進行管理員的登錄,在后臺管理中,我們有以下幾個功能:分區(qū)管理:包括添加分區(qū)、編輯分區(qū)和刪除分區(qū);版塊管理:包括添加版塊,編輯版塊和刪除版塊;子版塊管理:包括在指定的版塊下添加子版塊、編輯子版塊和刪除子版塊;帖子管理:可以查詢和刪除帖子;用戶管理:可以查詢和刪除用戶。 后臺主界面如下圖5.3.1所示:

5.3.1 管理員登錄 為了進入后臺進行操作,管理員首先要進行登錄,管理員一開始的登錄入口與普通用戶相同,在進入到主界面后,管理員有“管理員登錄”的選項。點擊“管理員登錄”即可進行到后臺管理的登錄操作。 管理員登錄如下圖5.3.2所示

5.3.2 分區(qū)管理 分區(qū)管理是將論壇的幾個大的分區(qū)進行添加、修改、刪除的功能。 添加分區(qū):

點擊“分區(qū)管理”框內(nèi)的“分區(qū)添加”,管理員在“添加分區(qū)”的框內(nèi)寫入要新增的分區(qū),點擊“提交”即可完成分區(qū)的添加,對應(yīng)數(shù)據(jù)庫內(nèi)新增一條信息。

添加分區(qū)如下圖5.3.3所示:

主要代碼: public?String toEdit(){ TForums forums = forumsDAO.findById(fid); String txt = ""; String td = ""; List forumsList =?new?ArrayList(); if(

typeForum

.equals(forums.getType())){ //添加版塊 forumsList = getForumsByType(

typeGroup

);//獲取分區(qū) txt = "編輯版塊"; td = "上級分區(qū)"; }else?if(

typeSub

.equals(forums.getType())){ forumsList = getForumsByType(

typeForum

);//獲取版塊 txt = "編輯子版塊"; td = "上級版塊"; }else{ txt = "編輯分區(qū)"; } Map request=(Map)ServletActionContext.

getContext

().get("request"); request.put("forumInfo", forums); request.put("forumsList", forumsList); request.put("txt", txt); request.put("td", td); return?"toEdit"; } 編輯分區(qū):

若想對現(xiàn)存的分區(qū)進行重命名等重新編輯的操作,單擊“分區(qū)管理”,在右側(cè)顯示框內(nèi),點擊“編輯”跳轉(zhuǎn)至編輯分區(qū),管理員在“編輯分區(qū)”內(nèi)填入重新編輯好的分區(qū)名稱,點擊“提交”即完成編輯分區(qū)的功能操作,相應(yīng)數(shù)據(jù)庫內(nèi)修改該分區(qū)的名稱。

編輯分區(qū)如下圖5.3.4所示:

刪除分區(qū):

想要刪除現(xiàn)有的分區(qū),單擊“分區(qū)管理”在右側(cè)顯示框內(nèi),點擊“刪除”,彈出窗口詢問“確認刪除”點擊“確定”即完成刪除操作,相應(yīng)數(shù)據(jù)庫內(nèi)的信息也會刪除。 刪除分區(qū)如下圖5.3.5所示

5.3.3 版塊管理 版塊管理是將論壇的幾大分區(qū)下的版塊進行添加、修改、刪除的功能。 A、添加版塊: 點擊“版塊管理”框內(nèi)的“版塊添加”,管理員在“添加版塊”的框內(nèi)寫入要新增的版塊,在“上級分區(qū)”內(nèi)選擇該板塊所屬的分區(qū),完成之后點擊“提交”即可完成在指定分區(qū)下版塊的添加,對應(yīng)數(shù)據(jù)庫內(nèi)新增一條信息。 添加版塊如下圖5.3.6所示:

B、編輯版塊: 若想對現(xiàn)存的分區(qū)進行重命名等重新編輯的操作,單擊“版塊管理”,在右側(cè)顯示框內(nèi),點擊“編輯”跳轉(zhuǎn)至編輯版塊,管理員在“編輯版塊”內(nèi)填入重新編輯好的版塊名稱,并選擇其上級分區(qū),上級分區(qū)默認是未修改版塊前所屬的分區(qū),點擊“提交”即完成編輯版塊的功能操作,相應(yīng)數(shù)據(jù)庫內(nèi)修改該版塊的名稱。 編輯版塊如下圖5.3.7所示:

C、刪除版塊: 想要刪除現(xiàn)有的版塊,單擊“版塊管理”在右側(cè)顯示框內(nèi),選定需要刪除的版塊,點擊“刪除”,彈出窗口詢問“確認刪除”點擊“確定”即完成刪除操作,相應(yīng)數(shù)據(jù)庫內(nèi)的信息也會刪除。 刪除版塊如下圖5.3.8所示

5.3.4 子版塊管理 子版塊管理是版塊管理的更加細化的功能,將論壇的幾大分區(qū)下的版塊所擁有的子版塊進行添加、修改、刪除的功能。 A、添加子版塊: 點擊“子版塊管理”框內(nèi)的“子版塊添加”,管理員在“添加子版塊”的框內(nèi)寫入要新增的版塊,在“上級版塊”內(nèi)選擇該子板塊所屬的版塊,完成之后點擊“提交”即可完成在指定版塊下子版塊的添加,對應(yīng)數(shù)據(jù)庫內(nèi)新增一條信息。 添加子版塊如下圖5.3.9所示:?

B、編輯子版塊: 若想對現(xiàn)存的分區(qū)進行重命名等重新編輯的操作,單擊“子版塊管理”,在右側(cè)顯示框內(nèi),點擊“編輯”跳轉(zhuǎn)至編輯子版塊,管理員在“編輯子版塊”內(nèi)填入重新編輯好的子版塊名稱,并選擇其上級版塊,上級版塊默認是未修改子版塊前所屬的分區(qū),點擊“提交”即完成編輯子版塊的功能操作,相應(yīng)數(shù)據(jù)庫內(nèi)修改該子版塊的名稱。 編輯子版塊如下圖5.3.10所示:?

C、刪除子版塊: 想要刪除現(xiàn)有的版塊,單擊“子版塊管理”在右側(cè)顯示框內(nèi),選定需要刪除的子版塊,點擊“刪除”,彈出窗口詢問“確認刪除”點擊“確定”即完成刪除操作,相應(yīng)數(shù)據(jù)庫內(nèi)的信息也會刪除。 刪除子版塊如下圖5.3.11所示

5.3.5 帖子管理 后臺帖子管理的功能主要包括帖子的查詢和刪除,在前臺發(fā)布過的帖子,這里都有顯示其具體內(nèi)容,為了論壇的內(nèi)容健康和諧,需要對不良信息的帖子進行刪除操作,單擊“主題管理”在右側(cè)顯示框內(nèi)選定需要刪除的主題,點擊“刪除”即可完成刪除帖子的操作,與此同時對應(yīng)數(shù)據(jù)庫內(nèi)也相應(yīng)刪除該信息。 帖子管理如下圖5.3.12所示

5.3.6 用戶管理 后臺用戶管理的功能主要包括查詢系統(tǒng)用戶的相關(guān)信息和刪除用戶,在前臺注冊成功的用戶,在這里都有顯示出來,為了論壇的秩序井井有條,對于散布不良信息或者蓄意發(fā)布無用帖子等不良行為的用戶,管理員可以對用戶進行刪除操作。點擊“用戶管理”在右側(cè)顯示框內(nèi)找到所刪除用戶的信息,點擊“刪除”即可刪除該用戶的信息,在對應(yīng)的數(shù)據(jù)庫中也相應(yīng)的刪除該記錄。 用戶管理如下圖5.3.13所示

各功能模塊測試

在軟件開發(fā)的一系列活動中,為了保證軟件的可靠性,人們研究并使用了很多方法進行分析、設(shè)計及編碼實現(xiàn)。但是由于軟件產(chǎn)品本身是無形的、復(fù)雜的、知識密集的邏輯產(chǎn)品,其中難免有各種各樣的錯誤,因此需要通過測試查找錯誤,保證軟件的質(zhì)量。軟件測試是保證軟件質(zhì)量的關(guān)鍵,它是對需求分析、設(shè)計和編碼的最終復(fù)審。 軟件測試在軟件開發(fā)的生命周期中也扮演著重要的角色,通過測試,我們可以找出系統(tǒng)現(xiàn)在存在的漏洞,并對其進行修改,只有通過完整的測試才能將產(chǎn)品放心的交付給客戶。在投入使用之前盡可能多的發(fā)現(xiàn)系統(tǒng)的不足,并且完善,是保障系統(tǒng)質(zhì)量的一個重要手段。本章進行的軟件測試將對注冊會員,會員登錄,管理員登錄,瀏覽帖子,發(fā)帖回帖,管理員具有刪除用戶,管理板塊,能夠增加、刪除、修改板塊信息這些功能進行測試。 6.1 測試概述及所用方案 6.1.1軟件測試概述 軟件測試是以發(fā)現(xiàn)軟件的缺陷為目的,使軟件運行,并將軟件不運行所產(chǎn)生的危險性降低到允許的范圍 (1)軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;? (2)測試是為了證明程序有錯,而不是證明程序無錯誤;? (3)一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;? (4)一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。 測試的主要目的并不僅僅是為了找出錯誤,而是通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現(xiàn)當前所采用的軟件過程的缺陷,以便改進。6.1.2 測試的重要性及目的 (1)測試的重要性 在軟件生命周期中,軟件的測試占據(jù)著一個重要的位置,在傳統(tǒng)的瀑布模式中,軟件測試學(xué)只是處于在運行維護階段之前,是軟件產(chǎn)品交付給大眾用戶使用之前用以保證軟件質(zhì)量重要的一個方法。近來,軟件工程界中更加趨向于一種新觀點,即認為軟件每一階段中的生命周期都理應(yīng)包含測試,因此使檢查本階段的成果能不能接近預(yù)期的結(jié)果目標,進而盡可能早一點發(fā)現(xiàn)到錯誤并加以改正,如果測試不是在早期階段進行的,那么錯誤將延時擴散,最后常常會導(dǎo)致成品測試面臨巨大的困難。? 對于軟件來講,事實上,無論采用任何方法或者任何技術(shù),系統(tǒng)中仍然會出現(xiàn)錯誤。采用新的開發(fā)方式、先進的語言、完善的開發(fā)過程,可以最大限度的降低錯誤的引進,但還是不能完全的杜絕軟件中有可能出現(xiàn)的錯誤,這些引入的錯誤需要通過測試找出來,系統(tǒng)中錯誤的密度也需要通過測試來進行估量。測試是所有學(xué)科的工程的最基本的組成單元,是軟件開發(fā)的一個很重要的部分。自有設(shè)計程序的那天起測試就一直跟隨著。統(tǒng)計表明,在典型的軟件開發(fā)項目中,系統(tǒng)測試工作量通常占開發(fā)系統(tǒng)總工作量的45%以上。在開發(fā)系統(tǒng)總的成本中,用在測試上的開銷要占30%到50%。如果把維護階段也考慮在內(nèi),討論整個系統(tǒng)生存期時,測試的成本比例也許能降低,但實際上維護程序的工作相當于二次開發(fā),甚至是多次開發(fā),其中一定又包含了很多測試的工作。? 在實踐中,測試軟件非常困難,從而常常使我們敷衍了事或望而卻步,這是因為對測試還是存在了一些錯誤的看法和不正確的態(tài)度,這包括:? 難以給測試的工作人員某種成就感; 認為測試工作并不像編碼和設(shè)計那樣容易進行發(fā)展在測試的過程中發(fā)現(xiàn)錯位其實是一種對責(zé)任者工作的否定; 測試是以發(fā)現(xiàn)軟件的錯誤為目標的,這是非建設(shè)性的,甚至還是具有破壞性的,測試的工作過程非??菰餆o味,因此不足以引起我們的興趣和愛好;?測試工作需要是細致而艱苦的進行;?一般來說,我們都對自己編寫出來的程序比較盲目的自信,在發(fā)現(xiàn)到錯誤的時候,可能會顧慮別人對我們自己開發(fā)的能力的看法。?

以上這幾個觀點對測試系統(tǒng)的工作進行是尤為不利的,我們必須要端正態(tài)度、澄清認識,才可能將系統(tǒng)產(chǎn)品的質(zhì)量加以提高。? 測試的目的?

如果測試程序的目的是為了盡可能全面地找出系統(tǒng)中的錯誤,那么測試就必須直觀的針對軟件較為復(fù)雜的部分或者是前期出現(xiàn)錯誤比較多的位置。? 系統(tǒng)的測試是為了檢查出錯誤而執(zhí)行程序的運行過程;?測試則是為了證明程序中有錯誤,而不是用來證明程序沒有錯誤;?每一個好的測試的用例是因為它能檢查到至今未出現(xiàn)的錯誤;?一個很成功的測試就是檢查出了至今未能發(fā)現(xiàn)的錯誤的測試。?

這種觀點可以提醒人們測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點可能會產(chǎn)生誤導(dǎo),認為發(fā)現(xiàn)錯誤是軟件測試的唯一目,查找不出錯誤的測試就是沒有價值的,事實并非如此。? 首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤的分布特征和錯誤產(chǎn)生的原因,可以使項目管理者發(fā)現(xiàn)當前所應(yīng)用系統(tǒng)的缺陷,以便改進。此外,這種分析還可以使我們設(shè)計出有針對性地檢測方法,改善測試的有效性。其次,沒有檢查出錯誤的測試也有它的價值,完整的測試是測試質(zhì)量評定的一種方式。 6.1.3 測試的步驟 類似系統(tǒng)開發(fā)的過程,測試工作的過程也需要分步驟來進行,每個步驟在邏輯上是前一個步驟的繼續(xù)。大型系統(tǒng)軟件一般是由若干個子系統(tǒng)而組成的,每以個子系統(tǒng)又是由若干個小的模塊組成的。因此,大型系統(tǒng)軟件的測試功過基本上由下面的幾個步驟組成: (1)模塊測試 在對模塊進行的測試工作步驟中所發(fā)現(xiàn)的經(jīng)常是詳細設(shè)計和編碼的錯誤。 (2)系統(tǒng)測試 在對系統(tǒng)進行的測試工作步驟中發(fā)現(xiàn)的經(jīng)常是軟件設(shè)計時出現(xiàn)的錯誤,也有可能會發(fā)現(xiàn)需求說明中的出現(xiàn)錯誤。 (3)驗收測試 在對驗收進行的測試工作步驟中發(fā)現(xiàn)的經(jīng)常是系統(tǒng)需求說明書中出現(xiàn)的錯誤。 6.1.4 測試的主要內(nèi)容

我們在進行測試工作的時候為了保證系統(tǒng)的質(zhì)量,可以將測試工作的內(nèi)容分成以下所說的幾個部分,即: 審查代碼、集成測試、單元測試、系統(tǒng)測試和確認測試。? (1)單元測試? 檢查系統(tǒng)設(shè)計最小的單位(—個模塊)就是單元測試,通過測試檢查出用來定義該模塊的功能說明不符合與實現(xiàn)該模塊的實際功能的情況,以及編碼時的錯誤。? (2)集成測試? 我們可以將每個小的模塊按照設(shè)計的需求組裝起來后同時進行集成測試,集成測試的主要目的是檢查與接口有關(guān)聯(lián)的某些問題。假設(shè)一個模塊和另一個模塊可能會出現(xiàn)由于疏忽的問題而引起有危害的影響;把子功能模塊組合起來后可能不能產(chǎn)生預(yù)期的主功能;有個別的看起來視乎能接受的誤差卻很有可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯誤等。? (3)確認測試? 確認測試的目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),基本排除了接口的錯誤,接下來我們就應(yīng)該進一步的檢驗系統(tǒng)軟件的有效性,就是確認測試工作的任務(wù),是將系統(tǒng)軟件的性能和功能發(fā)揮到如用戶們合理期待的一樣。? (4)系統(tǒng)測試? 完成軟件設(shè)計開發(fā)以后,最后還要將它與系統(tǒng)中其他的部分整合運行,從性能測試、安全測試、強度測試和恢復(fù)測試等四個方面來進行系統(tǒng)測試。 此外對系統(tǒng)的單獨測試主要從以下三個方面入手: 功能測試:測試能否滿足開發(fā)的要求,能否實現(xiàn)了設(shè)計所描述的功能,能否讓用戶的需求得到滿足。系統(tǒng)測試必須和最常用的測試是功能測試。一般來說還會以對軟件正式的說明書為標準進行測試。性能及強度的測試:最高實際限度的測試系統(tǒng)能力,即軟件在某些超負荷環(huán)境下功能是否還實現(xiàn)的情況。安全測試:對安裝在系統(tǒng)內(nèi)的安全保護機構(gòu)確實能能不能保護系統(tǒng)進行驗證,使系統(tǒng)不會受到各種不正常的干擾。因此針對本次開發(fā)的系統(tǒng)主要是測試錯誤的數(shù)據(jù)、無效的數(shù)據(jù),測試權(quán)限系統(tǒng)和對抗非法數(shù)據(jù)干擾的能力。?

6.1.5 測試方案 測試方法一般分為動態(tài)測試和靜態(tài)測試。動態(tài)方法中又根據(jù)測試用例的設(shè)計方法不同,分為黑盒測試和白盒測試。 黑盒測試,也稱功能測試或數(shù)據(jù)驅(qū)動測試。他不考慮程序內(nèi)部結(jié)構(gòu)和處理過程。把被測試程序看成一個黑盒子,只在軟件接口處進行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求。每個功能是否都能正常使用,是否滿足用戶的要求。程序能否適當?shù)慕邮茌斎霐?shù)據(jù)并產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或者文件等)的完整性。 通過黑盒測試束腰發(fā)現(xiàn)以下錯誤: 是否有不正確或者遺漏的功能;在接口上能否正確的接受輸入數(shù)據(jù),能否產(chǎn)生正確的輸出信息;訪問外部信息是否有錯;性能上是否滿足要求;界面是否有錯,是否美觀、友好。

白盒測試,也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試。白盒測試法與黑盒測試法不同,測試人員將程序視為一個透明的白盒子,測試人員需要了解程序的內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細節(jié)為基礎(chǔ),要求對程序的結(jié)構(gòu)特性做到一定程度的覆蓋,對程序中的所有邏輯路徑進行檢測,并檢驗內(nèi)部控制結(jié)構(gòu)是否有錯,確定實際的運行狀態(tài)與預(yù)期的狀態(tài)是否一致。 在對動漫論壇系統(tǒng)的功能測試中,我們選用的是黑盒測試。將對前端功能:注冊會員,會員登錄,管理員登錄,瀏覽帖子,發(fā)帖回帖,后臺功能:刪除用戶,管理板塊:能夠增加、刪除、修改板塊信息,管理分區(qū):添加、修改、刪除分區(qū),管理子版塊:添加、刪除、修改子版塊,管理主體:瀏覽和刪除主題這些功能進行測試。 6.1.6測試設(shè)計 (1)單一功能模塊測試要求: 表5 單元測試用例表 測試編號測試項目輸入條件預(yù)期結(jié)果1用戶注冊用戶名、密碼等數(shù)據(jù)項全部符合要求兩次輸入密碼不一致兩次密碼一致,但未輸入郵箱沒有輸入真實姓名什么都不輸入,直接點擊“提交”注冊成功彈出“兩次密碼不一致”,注冊失敗彈出“請輸入郵箱”,注冊失敗彈出“請輸入真實姓名”,注冊失敗彈出“請輸入用戶名”,注冊失敗2用戶登錄用戶名、密碼正確用戶名錯誤、密碼正確用戶名存在、密碼錯誤用戶名、密碼均錯誤登錄成功B、C、D.彈出“用戶名或密碼錯誤”,登錄失敗3管理員登錄用戶名、密碼正確用戶名錯誤、密碼正確用戶名正確、密碼錯誤用戶名、密碼均錯誤登錄成功B、C、D.彈出“用戶名或密碼錯誤”,登錄失敗4發(fā)帖測試用戶或者管理員都可以進行發(fā)布帖子的操作。點擊“新帖”,發(fā)表內(nèi)容進行測試。發(fā)布帖子成功5回帖測試用戶或者管理員在相應(yīng)的帖子下面進行回復(fù)操作,點擊“發(fā)表回復(fù)”進行提交?;貜?fù)帖子成功6模塊管理測試管理員可以對分區(qū)模塊進行添加、編輯、刪除的功能。添加模塊成功編輯模塊成功刪除模塊成功7用戶管理測試管理員對用戶進行刪除操作,打開用戶管理界面,選定要刪除的用戶進行刪除操作。刪除用戶成功多功能模塊組合測試要求:

表6 多功能模塊組合測試表編號測試項目預(yù)期結(jié)果1登錄完成后跳轉(zhuǎn)至用戶主界面可以回到用戶主界面2注冊完成后自動跳轉(zhuǎn)至改注冊用戶的主界面跳轉(zhuǎn)成功3通過主界面可以選擇瀏覽的專區(qū)或者帖子進行瀏覽可以瀏覽4發(fā)帖后可以顯示在該所屬分區(qū)下可以顯示5在一個帖子中回復(fù),回復(fù)內(nèi)容顯示在帖子下評論區(qū)可以顯示6點擊“退出”回到最開始的主界面可以回到最開始界面7點擊“管理員登錄”跳轉(zhuǎn)至后臺登錄界面可以跳轉(zhuǎn)至該界面8進行模塊的添加、修改和刪除操作并在后臺管理和用戶界面顯示出來操作之后的模塊可以顯示9管理員選定用戶,對其進行刪除操作用戶被刪除系統(tǒng)整體測試要求:

表7 系統(tǒng)整體測試表 編號測試項目預(yù)期測試評價1各功能均實現(xiàn)可以實現(xiàn)2運行和響應(yīng)時間較快響應(yīng)較快3界面美觀、友好、易于操作是 6.2前端功能測試 6.2.1 登錄功能測試 在用戶登錄模塊測試中,涉及到用戶名和密碼兩項數(shù)據(jù),我們用以下的數(shù)據(jù)來測試 (已經(jīng)注冊成功的數(shù)據(jù),用戶名、密碼正確)用戶名:owee 密碼:123456(已經(jīng)注冊成功的數(shù)據(jù),密碼不正確)用戶名:owee 密碼:123(沒有注冊的數(shù)據(jù))用戶名:kochan 密碼:244

進入登錄界面,輸入第一組數(shù)據(jù),登錄成功,如下圖6.2.1所示:

進入登錄界面,輸入第二組數(shù)據(jù)和第三組數(shù)據(jù),登錄均不成功,并彈出錯誤提示,具體情況如下圖6.2.2所示:

6.2.2 注冊功能測試 在用戶注冊測試模塊中,涉及以下幾項數(shù)據(jù):用戶名、密碼、郵箱以及真實姓名,且均為必填項,其中密碼兩次輸入須保持一致,針對用戶名、密碼、確認密碼、email、真實姓名這幾項內(nèi)容,我們選用以下數(shù)據(jù)來進行測試: kochan 244 244??

kochan@qq.com

?D本K一Onno 12345 123??

onno@163.com

?面包Onno 12345 12345 (null) 面包Onno 12345 12345??

onno@163.com

?(null)

進入注冊界面,將第一組數(shù)據(jù)填入,第一組數(shù)據(jù)信息完整且兩次密碼相同,符合注冊所需條件,因此注冊成功,如下圖6.2.1所示:

進入注冊界面,將第二組數(shù)據(jù)填入,第二組數(shù)據(jù)中密碼,與確認密碼框內(nèi)填入的密碼不相同,注冊失敗,彈出下列窗口,如下圖6.2.2所示:

進入注冊界面,將第三組數(shù)據(jù)填入,第三組數(shù)據(jù)中兩次密碼相同但沒有填入郵箱,注冊失敗,彈出下列窗口,如下圖6.2.3所示:

進入注冊界面,將第四組數(shù)據(jù)填入,第四組數(shù)據(jù)中密碼,兩次密碼相同且郵箱正確但沒有填入真實姓名,注冊失敗,彈出下列窗口,如下圖6.2.4所示:

6.2.3 發(fā)帖功能測試 進入主頁,依次進入發(fā)帖所在的分區(qū)、版塊、和版塊下的子版塊中,點擊“新帖”發(fā)表新帖子,依次寫入標題與正文內(nèi)容,之后點擊“發(fā)新話題”即完成新帖的發(fā)表,所發(fā)表的帖子就是該子版塊中的帖子,如下圖6.2.5所示:

點擊“發(fā)新話題”發(fā)表新帖子,新帖子將出現(xiàn)在剛剛所處于的子版塊中,如下圖6.2.6所示:

6.2.4 回復(fù)帖子測試 在瀏覽的帖子下方“快速回復(fù)主題”中輸入自己要回復(fù)的內(nèi)容,點擊“發(fā)表回復(fù)”即可完成回復(fù)帖子的功能,該回復(fù)的帖子將在主題帖下方顯示出來,如下圖6.2.7所示:

6.3后臺功能測試 6.3.1 管理員登錄測試 管理員為了進入后臺進行操作,管理員首先要進行登錄,管理員的登錄入口與普通用戶相同,在進入到主界面后,點擊“管理員登錄”即可進行到后臺管理的登錄操作,在該功能測試中涉及到兩個內(nèi)容,分別是用戶名、密碼,我們將采用以下三組數(shù)據(jù)來進行測試。 用戶名:admin 密碼:1用戶名:admin 密碼:2用戶名:owee 密碼:123456

首先利用管理員的用戶名和密碼進行常規(guī)登錄,在主頁面中點擊“管理員登錄”進入管理員登錄界面,輸入第一組數(shù)據(jù),登錄后臺成功,如下圖6.3.1所示:

首先利用管理員的用戶名和密碼進行常規(guī)登錄,在主頁面中點擊“管理員登錄”進入管理員登錄界面,輸入第二組數(shù)據(jù),由于密碼錯誤,登錄失敗,如下圖6.3.2所示:

首先利用管理員的用戶名和密碼進行常規(guī)登錄,在主頁面中點擊“管理員登錄”進入管理員登錄界面,輸入第三組數(shù)據(jù),由于用戶名不是admin,即用戶權(quán)限不支持進行后臺管理登錄,登錄失敗。(如上圖6.3.2所示) 6.3.2 分區(qū)管理測試 分區(qū)添加

點擊“分區(qū)管理”框內(nèi)的“分區(qū)添加”,管理員在“添加分區(qū)”的框內(nèi)寫入要新增的分區(qū),點擊“提交”即可完成分區(qū)的添加,我們在“添加分區(qū)”內(nèi)添加“同好專區(qū)”,單擊“提交”,如下圖6.3.3所示,分區(qū)中多了“同好專區(qū)”這一分區(qū)。

分區(qū)編輯

單擊“分區(qū)管理”,在右側(cè)顯示框內(nèi),點擊“編輯”跳轉(zhuǎn)至編輯分區(qū),管理員在“編輯分區(qū)”內(nèi)填入重新編輯好的分區(qū)名稱,點擊“提交”即完成編輯分區(qū)的功能操作。本次我們選擇對“同好專區(qū)”進行編輯,點擊“同好專區(qū)”右側(cè)的“編輯”將“同好專區(qū)”修改為“吐槽專區(qū)”,點擊提交,如下圖6.3.4所示,“同好專區(qū)”已經(jīng)被修改為“吐槽專區(qū)”。

分區(qū)刪除

想要刪除現(xiàn)有的分區(qū)測試,單擊“分區(qū)管理”在右側(cè)顯示框內(nèi),點擊“刪除”,彈出窗口詢問“確認刪除”點擊“確定”即完成刪除操作,本次我們點擊“吐槽專區(qū)”右側(cè)的“刪除按鈕”,確定刪除后如下圖6.3.5所示,“吐槽專區(qū)”已經(jīng)被刪除。

6.3.3 版塊管理測試 A、添加版塊: 點擊“版塊管理”框內(nèi)的“版塊添加”,管理員在“添加版塊”的框內(nèi)寫入要新增的版塊,在“上級分區(qū)”內(nèi)選擇該板塊所屬的分區(qū),完成之后點擊“提交”即可完成在指定分區(qū)下版塊的添加,對應(yīng)數(shù)據(jù)庫內(nèi)新增一條信息。我們選擇在“九重天動漫”分區(qū)下添加版塊“活動專區(qū)”提交后發(fā)現(xiàn)在該分區(qū)下新增了“活動專區(qū)”版塊,如下圖6.3.6所示:

B、編輯版塊: 若想對現(xiàn)存的分區(qū)進行重命名等重新編輯的操作,單擊“版塊管理”,在右側(cè)顯示框內(nèi),點擊“編輯”跳轉(zhuǎn)至編輯版塊,管理員在“編輯版塊”內(nèi)填入重新編輯好的版塊名稱,并選擇其上級分區(qū),上級分區(qū)默認是未修改版塊前所屬的分區(qū),點擊“提交”即完成編輯版塊的功能操作,我們將之前添加“活動專區(qū)”版塊進行編輯,改為“近期活動”編輯版塊如下圖6.3.7所示:

C、刪除版塊: 想要刪除現(xiàn)有的版塊,單擊“版塊管理”在右側(cè)顯示框內(nèi),選定需要刪除的版塊,點擊“刪除”,彈出窗口詢問“確認刪除”點擊“確定”即完成刪除操作,我們將剛剛修改過的“近期活動”刪除,執(zhí)行操作之后,版塊版塊如下圖6.3.8所示:

6.3.4 子版塊管理測試 A、添加子版塊: 點擊“子版塊管理”框內(nèi)的“子版塊添加”,管理員在“添加子版塊”的框內(nèi)寫入要新增的版塊,在“上級版塊”內(nèi)選擇該子板塊所屬的版塊,完成之后點擊“提交”即可完成在指定版塊下子版塊的添加,我們在“動漫公社”版塊下選擇添加子版塊“銀魂”造作完成之后如下圖6.3.9所示:。

B、編輯子版塊: 若想對現(xiàn)存的分區(qū)進行重命名等重新編輯的操作,單擊“子版塊管理”,在右側(cè)顯示框內(nèi),點擊“編輯”跳轉(zhuǎn)至編輯子版塊,管理員在“編輯子版塊”內(nèi)填入重新編輯好的子版塊名稱,并選擇其上級版塊,上級版塊默認是未修改子版塊前所屬的分區(qū),點擊“提交”即完成編輯子版塊的功能操作,我們將剛剛添加的子版塊“銀魂”修改為“鬼燈的冷徹”如下圖6.3.10所示:。

C、刪除子版塊: 想要刪除現(xiàn)有的版塊,單擊“子版塊管理”在右側(cè)顯示框內(nèi),選定需要刪除的子版塊,點擊“刪除”,彈出窗口詢問“確認刪除”點擊“確定”即完成刪除操作,我們將剛剛修改過的子版塊“鬼燈的冷徹”刪除,子版塊如下圖6.3.11所示:

6.3.5 主題管理測試 后臺帖子管理的功能主要包括帖子的查詢和刪除,在前臺發(fā)布過的帖子,這里都有顯示其具體內(nèi)容,為了論壇的內(nèi)容健康和諧,需要對不良信息的帖子進行刪除操作,單擊“主題管理”在右側(cè)顯示框內(nèi)選定需要刪除的主題,點擊“刪除”即可完成刪除帖子的操作,我們選擇剛剛發(fā)表的新帖子“九重天十周年社慶宣傳第一彈”進行刪除操作,完成之后帖子如下圖6.3.12所示

6.3.5 用戶管理測試 測試方法后臺用戶管理的功能主要包括查詢系統(tǒng)用戶的相關(guān)信息和刪除用戶,在前臺注冊成功的用戶,在這里都有顯示出來,為了論壇的秩序井井有條,對于散布不良信息或者蓄意發(fā)布無用帖子等不良行為的用戶,管理員可以對用戶進行刪除操作。點擊“用戶管理”在右側(cè)顯示框內(nèi)找到所刪除用戶的信息,點擊“刪除”即可刪除該用戶的信息,我們對剛剛注冊的用戶kochan進行刪除操作,操作完成后用戶如下圖6.3.13所示:

6.4測試結(jié)果及總結(jié) (1)上述測試用例及結(jié)果總結(jié) 前臺測試總結(jié)

表8 登錄功能測試表測試序號用戶名密碼測試結(jié)果1owee123456成功2owee123失敗3kochan244失敗 表9 注冊功能測試 序號用戶名密碼確認密碼email真實姓名測試結(jié)果1Kochan244244kochan@qq.comD本K一成功2onno12345123onno@163.com面包密碼不一致3onno1234512345面包郵箱為空4onno1234512345onno@163.com真名為空后臺測試總結(jié)

表10 管理員登錄功能測試表 測試序號用戶名密碼測試結(jié)果1admin1成功2adminadmin用戶名或密碼錯誤3owee123456用戶名或密碼錯誤測試總結(jié)

經(jīng)過上述的測試階段之后,軟件項目的功能大體上滿足了用戶的對項目的需求,測試工作宣告結(jié)束,在整個測試過程中,發(fā)現(xiàn)了軟件項目中存在很多錯誤,并及時得到改正,減少了很多不必要的麻煩,使軟件項目可以盡可能的完善。通過這次軟件測試的經(jīng)驗,我深刻體會到軟件測試的重要性,在以后的工作中,我 一定要重視并積極的完成測試,讓自己的項目更加可靠、安全。 結(jié)束語 隨著互聯(lián)網(wǎng)的發(fā)展以及國家對動漫展業(yè)的大力支持,我國動漫產(chǎn)業(yè)取得了飛速發(fā)展。作為最先用于傳播訊息的供人們交流的平臺之一,直到今天論壇也在發(fā)揮其功能。依舊是愛好者們交流、共享信息、分享資源必不可少的平臺。 JSP技術(shù)的設(shè)計目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開發(fā)工具共同工作。因此本論壇采用JSP技術(shù)開放能滿足這種需求。 在進行畢業(yè)設(shè)計的這段時間,我對相關(guān)的專業(yè)知識有了進一步的了解,實現(xiàn)了學(xué)以致用。本次畢業(yè)設(shè)計到此已經(jīng)順利結(jié)束,通過這次的畢業(yè)設(shè)計,我學(xué)到了很多東西。在之前的學(xué)習(xí)生活中內(nèi)我學(xué)習(xí)了很多的課程及編程語言,從最初始的C語言到稍微深入一點的C++,JAVA,數(shù)據(jù)庫系統(tǒng)概論等等,雖然通過學(xué)習(xí)對這些課程有所了解和掌握,但也只是對理論知識的理解階段,對知識的掌握還不夠全面和熟練不能進行的編程開發(fā),更不用說真正應(yīng)用于實踐設(shè)計開發(fā),而且并不能真正獨立的開發(fā)出一個完整的應(yīng)用于實際的系統(tǒng)。通過這次的畢業(yè)設(shè)計,我需要學(xué)習(xí)不僅僅是Java語言和JSP技術(shù),其它很多方面的知識都需要我去了解并掌握。本次的畢業(yè)設(shè)計也存著許多的問題和不足,只能說是完成了論壇的基本功能,與真正運行著的幾大動漫論壇相比,是難以望其項背的。從中也反映出了我們的學(xué)習(xí)之路是無止境的。 雖然,畢業(yè)設(shè)計只有短暫的幾個月,但卻使我充分認識到自身還存在很多不足的地方,還需要不斷的努力來充實自己、完善自己,只有這樣才能學(xué)無止境,以求得更大的發(fā)展。 參考文獻 耿鄉(xiāng)義. JSP基礎(chǔ)教程[M]. 北京:清華大學(xué)出版社,2004:101-103.孫衛(wèi)琴、李洪成.Tomat與Java Web開發(fā)技術(shù)詳解[M]. 北京:電子工業(yè)出版社,2004:73-78.賽奎春.JSP信息系統(tǒng)開發(fā)實例精選[M]. 北京:機械工業(yè)出版社,2006:66-72.張金霞.HTML網(wǎng)頁設(shè)計參考手冊[M]. 北京:清華大學(xué)出版社,2006.曹淑琴.基于JSP的網(wǎng)站建設(shè)[J]. 華北科技學(xué)院報,2007(2).李振捷.JSP網(wǎng)站開發(fā)經(jīng)典模塊與實例精講[M]. 北京:電子業(yè)出版社,2006.王艷霞,陳長生.基于JSP的BBS論壇設(shè)計[J].才智,2010(25):90-91

[8] JH Goto,ML Puterman. Coffee, Tea, or ...?: A Markov Decision Process Model for Airline Meal Provisioning ;《Transportation Science》, 2004, 38(1):107-118 [9] XD Li,CS Poon,SC Lee,SS Chung,F(xiàn) Luk. Waste reduction and recycling strategies for the in-flight services in the airline industry; 《Resources Conservation & Recycling》, 2003, 37(2):87-99 [10] L Wang,B Liu,LU Minyan. A Modeling Language Based on UML for Modeling Simulation Testing System of Avionic Software; 《Chinese Journal of Aeronautics》, 2011, 24(2):181-194 致 謝

轉(zhuǎn)眼間,大學(xué)四年已經(jīng)要結(jié)束了,回首過去幾年的校園生活,交到了志同道合的朋友,為了共同的目標一起努力,學(xué)到了許許多多,在各個方面都得到了發(fā)展、提高。在這四年來感謝學(xué)校的老師們無私的傳授給我們知識,教會了我們懂得如何做人,如何依靠自己去完成一件事情。軟件工程這個學(xué)科的畢設(shè)任務(wù)很繁重,不論是設(shè)計的完成還是論文的編寫都需要費一番功夫。但是通過這個過程,我們又進一步的了解了這門學(xué)科,通過這段時間的學(xué)習(xí),對原來學(xué)習(xí)的知識有了更好的了解。 在這次畢業(yè)選題中,我很幸運地選到了自己一直以來都很喜歡的動漫方向的題目。在這幾年來,國內(nèi)大力支持動漫產(chǎn)業(yè)的發(fā)展,能在自己畢業(yè)的時候?qū)⒆约核鶎W(xué)的專業(yè)知識與自己長年的愛好相結(jié)合是一件令人高興的事情。作為這個高速發(fā)展的時代的高校畢業(yè)生,我們要跟隨發(fā)展的潮流,學(xué)習(xí)和掌握當代科學(xué)技術(shù)知識,將自己所學(xué)到的知識與社會的發(fā)展融合起來,只有這樣才能接受來自社會的挑戰(zhàn),才能適應(yīng)社會發(fā)展的要求。 本次畢業(yè)設(shè)計是在我的兩位導(dǎo)師——XX教授和XX老師的悉心指導(dǎo)下完成的兩位導(dǎo)師嚴謹?shù)闹螌W(xué)態(tài)度和科學(xué)的工作方法給了我極大的幫助和影響。在此衷心感謝老師對我的關(guān)心和指導(dǎo)。同時也謝謝在此期間給予我?guī)椭耐瑢W(xué)們。 外文原文 JSP Profile JSP (JavaServer Pages) is initiated by Sun Microsystems, Inc., with many companies to participate in the establishment of a dynamic web page technical standards. JSP technology somewhat similar to ASP technology, it is in the traditional HTML web page document (*. htm, *. html) to insert the Java programming paragraph (Scriptlet) and JSP tag (tag), thus JSP documents (*. jsp). Using JSP development of the Web application is cross-platform that can run on Linux, is also available for other operating systems. JSP technology use the Java programming language prepared by the category of XML tags and scriptlets and produce dynamic pages package processing logic. Page also visit by tags and scriptlets exist in the services side of the resources of logic. JSP page logic and web page design and display separation, support reusable component-based design, Web-based application development is rapid and easy.? Web server in the face of visits JSP page request, the first implementation of the procedures of, and then together with the results of the implementation of JSP documents in HTML code with the return to the customer. Insert the Java programming operation of the database can be re-oriented websites, in order to achieve the establishment of dynamic pages needed to function.? JSP and Java Servlet, is in the implementation of the server, usually returned to the client is an HTML text, as long as the client browser will be able to visit. JSP 1.0 specification of the final version is launched in September 1999, December has introduced 1.1 specifications. At present relatively new is JSP1.2 norms, JSP2.0 norms of the draft has also been introduced.? JSP pages from HTML code and Java code embedded in one of the components. The server was in the pages of client requests after the Java code and then will generate the HTML pages to return to the client browser. Java Servlet JSP is the technical foundation and large-scale Web application development needs of Java Servlet and JSP support to complete. JSP with the Java technology easy to use, fully object-oriented, and a platform-independent and secure, mainly for all the characteristics of the Internet.? JSP technology strength? (1) time to prepare, run everywhere. At this point Java better than PHP, in addition to systems, the code not to make any changes.? (2) the multi-platform support. Basically on all platforms of any development environment, in any environment for deployment in any environment in the expansion. Compared ASP / PHP limitations are obvious.? (3) a strong scalability. From only a small Jar documents can run Servlet / JSP, to the multiple servers clustering and load balancing, to multiple Application for transaction processing, information processing, a server to numerous servers, Java shows a tremendous Vitality.? (4) diversification and powerful development tools support. This is similar to the ASP, Java already have many very good development tools, and many can be free, and many of them have been able to run on a variety of platforms under.? JSP technology vulnerable? (1) and the same ASP, Java is the advantage of some of its fatal problem. It is precisely because in order to cross-platform functionality, in order to extreme stretching capacity, greatly increasing the complexity of the product.? (2) Java's speed is class to complete the permanent memory, so in some cases by the use of memory compared to the number of users is indeed a "minimum cost performance." On the other hand, it also needs disk space to store a series of. Java documents and. Class, as well as the corresponding versions of documents.? JSP six built-in objects:? request, response, out, session, application, config, pagecontext, page, exception.? 1. Request for:? The object of the package of information submitted by users, by calling the object corresponding way to access the information package, namely the use of the target users can access the information.? 2. Response object:? The customer's request dynamic response to the client sent the data.? 3. session object? 1. What is the session: session object is a built-in objects JSP, it in the first JSP pages loaded automatically create, complete the conversation of management.? From a customer to open a browser and connect to the server, to close the browser, leaving the end of this server, known as a conversation. When a customer visits a server, the server may be a few pages link between repeatedly, repeatedly refresh a page, the server should be through some kind of way to know this is the same client, which requires session object.? 2. session object ID: When a customer's first visit to a server on the JSP pages, JSP engines produce a session object, and assigned a String type of ID number, JSP engine at the same time, the ID number sent to the client, stored in Cookie, this session objects, and customers on the establishment of a one-to-one relationship. When a customer to connect to the server of the other pages, customers no longer allocated to the new session object, until, close your browser, the client-server object to cancel the session, and the conversation, and customer relationship disappeared. When a customer re-open the browser to connect to the server, the server for the customer to create a new session object.? 4. application target? 1. What is the application:? Servers have launched after the application object, when a customer to visit the site between the various pages here, this application objects are the same, until the server is down. But with the session difference is that all customers of the application objects are the same, that is, all customers share this built-in application objects.? 2. application objects commonly used methods:? (1) public void setAttribute (String key, Object obj): Object specified parameters will be the object obj added to the application object, and to add the subject of the designation of a keyword index.? (2) public Object getAttribute (String key): access to application objects containing keywords for.? Benefits of JSP Fundamentally, any task JSP pages can perform could also be accomplished by servlets. However, this underlying equivalence does not mean that servlets and JSP pages are equally appropriate in all scenarios. The issue is not the power of the technology, it is the convenience, productivity, and maintainability of one or the other. After all, anything you can do on a particular computer platform in the Java programming language you could also do in assembly language. But it still matters which you choose.. JSP provides the following benefits over servlets alone: ? It is easier to write and maintain the HTML. Your static code is ordinary HTML: no extra backslashes, no double quotes, and no lurking Java syntax. ? You can use standard Web-site development tools. Even HTML tools that know nothing about JSP can be used because they simply ignore the JSP tags ? You can divide up your development team. The Java programmers can work on the dynamic code. The Web developers can concentrate on the presentation layer. On large projects, this division is very important. Depending on the size of your team and the complexity of your project, you can enforce a weaker or stronger separation between the static HTML and the dynamic content. Now, this discussion is not to say that you should stop using servlets and use only JSP instead. By no means. Almost all projects will use both. For some requests in your project, you will use servlets. For others, you will use JSP. For still others, you will combine them with the MVC architecture . You want the appropriate tool for the job, and servlets, by themselves, do not complete your toolkit Advantages of JSP Over Competing Technologies A number of years ago, Marty was invited to attend a small 20-person industry roundtable discussion on software technology. Sitting in the seat next to Marty was James Gosling, inventor of the Java programming language. Sitting several seats away was a high-level manager from a very large software company in Redmond, Washington. During the discussion, the moderator brought up the subject of Jini, which at that time was a new Java technology. The moderator asked the manager what he thought of it, and the manager responded that it was too early to tell, but that it seemed to be an excellent idea. He went on to say that they would keep an eye on it, and if it seemed to be catching on, they would follow his company's usual "embrace and extend" strategy. At this point, Gosling lightheartedly interjected "You mean disgrace and distend." Now, the grievance that Gosling was airing was that he felt that this company would take technology from other companies and suborn it for their own purposes. But guess what? The shoe is on the other foot here. The Java community did not invent the idea of designing pages as a mixture of static HTML and dynamic code marked with special tags. For example, ColdFusion did it years earlier. Even ASP (a product from the very software company of the aforementioned manager) popularized this approach before JSP came along and decided to jump on the bandwagon. In fact, JSP not only adopted the general idea, it even used many of the same special tags as ASP did. So, the question becomes: why use JSP instead of one of these other technologies? Our first response is that we are not arguing that everyone should. Several of those other technologies are quite good and are reasonable options in some situations. In other situations, however, JSP is clearly better. Here are a few of the reasons. Versus .NET and Active Server Pages (ASP) .NET is well-designed technology from Microsoft.?

http://

ASP.NET

?is the part that directly competes with servlets and JSP. The advantages of JSP are twofold First, JSP is portable to multiple operating systems and Web servers; you aren't locked into deploying on Windows and IIS. Although the core .NET platform runs on a few non-Windows platforms, the ASP part does not. You cannot expect to deploy serious?

http://

ASP.NET

?applications on multiple servers and operating systems. For some applications, this difference does not matter. For others, it matters greatly. Second, for some applications the choice of the underlying language matters greatly. For example, although .NET's C# language is very well designed and is similar to Java, fewer programmers are familiar with either the core C# syntax or the many auxiliary libraries. In addition, many de

基于JSP動漫論壇的設(shè)計與實現(xiàn)(論文+PPT+源碼)的評論 (共 條)

分享到微博請遵守國家法律
木里| 游戏| 专栏| 财经| 邢台县| 漳平市| 兴城市| 巫山县| 东辽县| 竹北市| 平定县| 陕西省| 射洪县| 南澳县| 清丰县| 耿马| 平南县| 孝感市| 天等县| 三江| 连江县| 舟曲县| 天台县| 庄河市| 都匀市| 新巴尔虎左旗| 正蓝旗| 咸宁市| 岑巩县| 华安县| 明光市| 康保县| 增城市| 肥西县| 瑞昌市| 仙居县| 武邑县| 武义县| 龙岩市| 吴桥县| 清水河县|