本科畢業(yè)論文-基于j2ee技術(shù)實(shí)現(xiàn)高校bbs論壇設(shè)計(jì)_第1頁
本科畢業(yè)論文-基于j2ee技術(shù)實(shí)現(xiàn)高校bbs論壇設(shè)計(jì)_第2頁
本科畢業(yè)論文-基于j2ee技術(shù)實(shí)現(xiàn)高校bbs論壇設(shè)計(jì)_第3頁
本科畢業(yè)論文-基于j2ee技術(shù)實(shí)現(xiàn)高校bbs論壇設(shè)計(jì)_第4頁
本科畢業(yè)論文-基于j2ee技術(shù)實(shí)現(xiàn)高校bbs論壇設(shè)計(jì)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本科畢業(yè)論文(設(shè)計(jì))題目基于J2EE技術(shù)實(shí)現(xiàn)高校BBS論壇設(shè)計(jì)姓名學(xué)號(hào)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)院系信息工程學(xué)院指導(dǎo)老師胡俊職稱學(xué)位助教碩士完成時(shí)間2014年4月30日教務(wù)處制摘要隨著經(jīng)濟(jì)的快速發(fā)展,21世紀(jì)已經(jīng)是屬于網(wǎng)絡(luò)的時(shí)代。同時(shí)21世紀(jì)也是一個(gè)物質(zhì)和經(jīng)濟(jì)的時(shí)代,人們的心聲也開始慢慢的增多。時(shí)??梢钥吹胶吐牭饺藗兊母鞣N各樣的觀點(diǎn)和評(píng)論。本文是根據(jù)高校的需求設(shè)計(jì)出基于WEB的高校BBS交流論壇。首先介紹了論壇的由來、基本思想、發(fā)展趨勢。以及系統(tǒng)的一些特色,系統(tǒng)流程及結(jié)構(gòu)。最后講述了實(shí)施技術(shù)以及開發(fā)平臺(tái)。分析了建立基于WEB的高校BBS論壇的必要性和可行性,然后對(duì)論壇進(jìn)行了需求分析和系統(tǒng)設(shè)計(jì)。論文給出了基于WEB的心聲交流論壇開發(fā)實(shí)例。該實(shí)例實(shí)現(xiàn)了心聲交流論壇管理的一些主要功能。主要包括用戶管理、板塊管理、主貼管理、回帖管理、公告管理、廣告管理六個(gè)模塊。不但可以實(shí)現(xiàn)普通論壇的發(fā)帖和回帖基本用戶要求。而且還引入了系統(tǒng)的特色溫馨的提示、用戶信息安全、提供免費(fèi)的視頻學(xué)習(xí)。而且可以充分的利用當(dāng)前網(wǎng)絡(luò)資源共享化的特點(diǎn),給基于WEB的心聲交流論壇的開發(fā)提供了一個(gè)好的思路。關(guān)鍵詞WEB,MVC,STRUTS,數(shù)據(jù)庫,心聲交流論壇,ABSTRACTWITHTHERAPIDDEVELOPMENTOFECONOMY,THETWENTYFIRSTCENTERYISTHEERAOFNETWORK。ATTHESAMETIME,PEOPLESECONOMYCONTINUETOGETRICHSOTWENTYFIRSTCENTERYISATIMEOFMATERIAL,THEVOICEOFTHEPEOPLEALSOBEGINTOSLOWLYINCREASEOFTENCANSEEANDHEARPEOPLECOMMENTONAVARIETYOFIDEASANDPHENOMENATHISPAPERISBASEDONTHEREALIZATIONOFWEBVOICECOMMUNICATIONFORUMWASSTUDIEDFIRSTINTRODUCEDTHEDEVELOPMENTTRENDOFORIGIN、THEBASICIDEA、DEVELOPMENTTENDENCYASWELLASTHESYSTEMFEATURES,THESYSTEMPROCESSANDSTRUCTUREFINALLYTHEIMPLEMENTATIONTECHNIQUESANDDEVELOPMENTPLATFORMANALYSISOFTHENECESSITYANDFEASIBILITYBASEDONOFESTABLISHMENTOFWEBVOICECOMMUNICATIONFORUMANDTHENVOICECOMMUNICATIONFORUMNEEDSANDSYSTEMDESIGNPAPERPRESENTSTHEDEVELOPMENTOFWEBBASEDVOICECOMMUNICATIONFORUMINSTANCETHEEXAMPLEOFTHEREALIZATIONOFSOMEMAINFUNCTIONSOFVOICECOMMUNICATIONFORUMMANAGEMENTINCLUDESUSERMANAGEMENT、PLATEMANAGEMENT、TOPICMANAGEMENT、REPLYMANAGEMENT、ANNOUNCEMENTMANAGEMENT、ADVERTISINGMANAGEMENTSIXMODULENOTONLYCANREALIZETHENORMALDAILYFORUMPOSTSANDREPLIESITHASALSOINTRODUCETHECHARACTERISTICOFTHESYSTEM,SUCHASWARMPROMPT、USERINFORMATIONSAFETY,PROVIDEFREEVIDEOWARMBUTALSOGOODINTERNETANDRAPIDCOLLECTIONOFINFORMATIONFROMTHEINTERNATANDRELEASEOFINFORMATIONTOUSEFULLYFORVOICECOMMUNICATIONBASEDONWEBFORUMDEVELOPMENTPROVIDESAGOODIDEASKEYWORDSWEB,MVC,STRUTS,DATABASE,VOICECOMMUNICATIONFORUM目錄1緒論111本課題研究的背景112本課題研究的意義113論文研究思路和所作的主要工作22高校BBS交流論壇的實(shí)現(xiàn)技術(shù)321使用JAVA技術(shù)的優(yōu)勢322JAVA包含的一些技術(shù)以及開發(fā)工具4221SERVLET、JDBC、JSP和JAVABEANS4222STRUTS20技術(shù)介紹6223AJAX、JQUERY、JAVASCRIPT介紹7224MVC模式介紹9225MYECLIPSE開發(fā)工具的介紹103高校BBS論壇交流的需求分析1131可行性分析1132論壇的特性需求分析124高校BBS論壇的總體設(shè)計(jì)1441系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)1442系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)1443BBS論壇的系統(tǒng)流程圖1544系統(tǒng)的開發(fā)環(huán)境155數(shù)據(jù)庫的設(shè)計(jì)1751數(shù)據(jù)庫分析1752數(shù)據(jù)庫概要設(shè)計(jì)1753數(shù)據(jù)庫的邏輯設(shè)計(jì)216BBS論壇的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)2661系統(tǒng)整體功能模塊介紹2662功能界面268總結(jié)與期望31參考文獻(xiàn)33致謝351緒論11本課題研究的背景現(xiàn)在已經(jīng)是互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)慢慢地已經(jīng)離不開我們的日常生活。心聲交流論壇是一種電子服務(wù)系統(tǒng)。它為用戶提供了一個(gè)空白的編輯區(qū)域。每個(gè)注冊(cè)該論壇的用戶都可以在上面發(fā)表自己對(duì)某個(gè)主題的看法,其面向的用戶是廣大群眾。通過該論壇,網(wǎng)名可以自由的發(fā)表自己的想法和在網(wǎng)站上找到和自己有共同興趣愛好的人。同時(shí),雖然當(dāng)今社會(huì)交流的工具和軟件也比比皆是,但是,人們對(duì)于信息的需求卻永遠(yuǎn)無止境。通過該心聲交流論壇,我們可以吸收更多的信息和獲得更多的交流信息。也可以在論壇上發(fā)表自己的見解和看法,很好的起到了及時(shí)發(fā)泄用戶的情緒和心情的橋梁作用。其可以充當(dāng)一個(gè)中間件角色。而且,對(duì)于每一個(gè)不同的用戶也具有不同的權(quán)限。例如,對(duì)于普通的登錄該論壇的用戶但是卻沒有注冊(cè)該論壇的用戶,其只能看到一些該論壇的普通帖子信息。但是對(duì)于管理員和版主的話,可以創(chuàng)建自己感興趣的話題和主帖?;谝陨显?,本文是基于WEB的心聲交流論壇設(shè)計(jì)和實(shí)現(xiàn),選擇板塊管理作為突破口,目的在于對(duì)基于WEB的心聲交流論壇進(jìn)行研究的同時(shí),為基于WEB的心聲交流系統(tǒng)的實(shí)現(xiàn)進(jìn)行深入的探討。12本課題研究的意義心聲交流論壇從現(xiàn)實(shí)生活中和信息化的角度來說。首先作為一個(gè)交流平臺(tái),大家可以自由的發(fā)表自己的看法和見解,其次,每天可以為用戶實(shí)時(shí)提供新的帖子、照片、適用于不同的人群。隨著信息化時(shí)代的到來,網(wǎng)絡(luò)技術(shù)的快速發(fā)展和騰飛,人們對(duì)于精神生活的關(guān)注也倍加加重。通過該論壇,用戶可以訴說自己心中的想法和及時(shí)的發(fā)泄自己的情感,也是一個(gè)很好平臺(tái)。個(gè)性化的回帖設(shè)計(jì),用戶可以選擇圖片,對(duì)字帖等進(jìn)行設(shè)計(jì)。使用自己喜歡的表情和字體。可以對(duì)自己的文字進(jìn)行處理,添加各種表情。最后,免費(fèi)的為用戶提供服務(wù),用戶的參與度高、積極性強(qiáng)。13論文研究思路和所作的主要工作隨著IT信息的普及和網(wǎng)絡(luò)信息的大眾化,以及社會(huì)快速發(fā)展的需求人們開始慢慢的喜歡上了快餐主義。開始快速吸取一些信息和日常的生活需求,也開始在網(wǎng)絡(luò)上坦白的表達(dá)自己的觀點(diǎn)和看法。不在像以前那樣壓抑著自己的內(nèi)心真實(shí)的想法。不在變得像以前那樣無處發(fā)泄。本文針對(duì)國內(nèi)現(xiàn)在人們對(duì)于網(wǎng)絡(luò)的需求和使用,運(yùn)用了JSP、STRUTS20、AJAX、JQUERY、JAVASCRIPT、SERVLET等技術(shù)以及一些插件,像FCKEDITOR用于對(duì)文字進(jìn)行編輯處理的插件。在一般論壇的設(shè)計(jì)基礎(chǔ)模板上為例子,研究給予WEB技術(shù)的心聲交流論壇的實(shí)現(xiàn)。主要工作有以下1對(duì)國內(nèi)市場人們感興趣的話題進(jìn)行深入的了解和市場分析,從而建立起與之對(duì)應(yīng)的PLATE和TOPIC,讓人們可以在上面進(jìn)行自由的評(píng)論。2分析目前國內(nèi)心聲交流論壇的研究應(yīng)用現(xiàn)狀。剖析在論壇建設(shè)的過程中會(huì)出現(xiàn)什么樣的問題以及找到如何處理這些問題的解決辦法。3深入探討基于WEB的心聲交流論壇的整個(gè)體系結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)開發(fā)方法和系統(tǒng)實(shí)現(xiàn)技術(shù)相關(guān)技術(shù)等問題。并對(duì)心聲交流論壇進(jìn)行需求分析和數(shù)據(jù)流程分析。4以心聲交流論壇系統(tǒng)為實(shí)例進(jìn)行重新開發(fā),實(shí)現(xiàn)心聲交流論壇主要的功能,為我的畢業(yè)設(shè)計(jì)基于WEB的心聲交流論壇系統(tǒng)的開發(fā)提供了一個(gè)好的思路。2高校BBS交流論壇的實(shí)現(xiàn)技術(shù)JAVA是一種基于計(jì)算機(jī)網(wǎng)絡(luò)的開發(fā)語言,而且其是一種純粹的面向?qū)ο蟮木幊陶Z言,是由SUN公司推出的。其最大的優(yōu)點(diǎn)就是“跨平臺(tái)”性,而且在進(jìn)行JAVA開發(fā)的時(shí)候我們只需要安裝一個(gè)JDK即可以。平時(shí)基于JAVA開發(fā)的應(yīng)用程序同時(shí)也是基于WEB的,另外,因?yàn)镴AVA的跨平臺(tái)性,可以使得應(yīng)用程序運(yùn)行在不同的硬件平臺(tái)。自從JAVA的創(chuàng)始人JAMESGOSILING開發(fā)JAVA語言之后,其發(fā)展也是非常的快速和飛進(jìn)。最近,由于SUN公司被ORACLE公司收購之后。其得到了更好的發(fā)展機(jī)會(huì),此外各大數(shù)據(jù)庫廠商紛紛表示他們將會(huì)更好的支持INTERNET,支持JAVA。并且許多的應(yīng)用軟件廠家推出了采用JAVA進(jìn)行開發(fā)的應(yīng)用程序。并且JAVA的良好表現(xiàn)證明了它是一種非常成熟的、值得我們開發(fā)人員和廠商信賴的語言。本文的開發(fā)語言就是采用JAVA來實(shí)現(xiàn)的,因此,在本論文中將對(duì)JAVA技術(shù)做一個(gè)簡單的介紹。21使用JAVA技術(shù)的優(yōu)勢JAVA是一種純面向?qū)ο蟮母呒?jí)編程語言,1995年由SUN公司創(chuàng)立,具有面向?qū)ο?、分布式、解釋?zhí)行、健壯性和安全性、體系結(jié)構(gòu)中立、可移植性、多線程、動(dòng)態(tài)等特點(diǎn)。和其它編程語言相比,它有很多的優(yōu)勢。使用JAVA的優(yōu)點(diǎn)具體的體現(xiàn)在以下的一些1靈活可擴(kuò)展性JAVA非常的靈活,我們?cè)谶M(jìn)行JAVA程序開發(fā)的時(shí)候,其可以支持部署和開發(fā)環(huán)境中的各種變化。而且由于JAVA是面向?qū)ο蟮幕A(chǔ)平臺(tái)上構(gòu)建的,所以也很容易對(duì)基本的語言進(jìn)行擴(kuò)展和發(fā)布。在修改別人的代碼的時(shí)候我們不需要關(guān)注各個(gè)模塊之間的耦合性,只要做好自己模塊的擴(kuò)展和修改即可以的。2具有很多廠商的支持采用JAVA開發(fā)已經(jīng)是一個(gè)主流趨勢所向,因?yàn)槠涫艿搅藦V泛的廠商支持。其中ORACLE公司是JAVA行業(yè)的一個(gè)巨頭,由于SUN公司被ORACLE公司收購之后,其更是獨(dú)大一家,它繼續(xù)支持并且會(huì)更加壯大JAVA發(fā)展,對(duì)產(chǎn)品會(huì)將繼續(xù)支持。這種支持JAVA的公司很多,因此選擇JAVA語言非常的穩(wěn)定,不會(huì)因?yàn)閷黹_發(fā)語言的改變將和廠商捆綁在一起。3平臺(tái)無關(guān)性JAVA語言的最大優(yōu)勢就是“跨平臺(tái)”,其它編程語言面臨的最主要的問題就是操作系統(tǒng)的變化,例如當(dāng)我們?cè)赪INDOWSXP系統(tǒng)下編寫一個(gè)C程序的時(shí)候,當(dāng)需要在另外一個(gè)WINDOWSSERVER2003系統(tǒng)下運(yùn)行的時(shí)候就需要重新調(diào)整23。當(dāng)我們的電腦硬件配置發(fā)生變化時(shí)候,都可能導(dǎo)致程序出現(xiàn)錯(cuò)誤或者無法運(yùn)行。JAVA虛擬機(jī)成功的幫助我們解決了這個(gè)問題,我們只要在一臺(tái)機(jī)子上面安裝一個(gè)JREJAVARUNNINGTIMEENVIRONMENT即可以運(yùn)行JAVA的代碼程序,SUN公司實(shí)現(xiàn)了自己的目標(biāo)“一次運(yùn)行,隨處運(yùn)行”24。4安全性當(dāng)你準(zhǔn)備從網(wǎng)絡(luò)上下載一個(gè)應(yīng)用程序的時(shí)候,也許你最擔(dān)心的就是程序中含有惡意代碼了。如果你使用的瀏覽器支持JAVA,你可以放心的運(yùn)行JAVA程序。5動(dòng)態(tài)性JAVA程序的組成單元是類,所謂的類就是對(duì)方法和屬性的封裝。有些類是自己動(dòng)手編寫和封裝的類,但是JDK為我們提供了一套API接口。里面包含了許多的工具類,例如JAVAUTIL包下面的類。而類又是運(yùn)行時(shí)候動(dòng)態(tài)加載的,這使得JAVA可以在各種環(huán)境中動(dòng)態(tài)的維護(hù)程序和類庫,而不像其它語言那樣,每當(dāng)升級(jí)之后都一定需要自己親自重新修改,編譯。22JAVA包含的一些技術(shù)以及開發(fā)工具221SERVLET、JDBC、JSP和JAVABEANSSERVLET我們也可以稱它為小應(yīng)用服務(wù)器。SERVLET主要是用于JAVAWEB程序開發(fā)。SERVLET的本質(zhì)也是JSP,當(dāng)我們將其進(jìn)行編譯之后其也是一個(gè)JSP文件。但是SERVLET不同于JSP的是,SERVLET更擅長于處理業(yè)務(wù)邏輯,但是JSP的視圖顯示比SERVLET方便。所以我們?cè)谧鲆话愕腏AVAWEB項(xiàng)目的時(shí)候當(dāng)不使用框架的時(shí)候一般用JSP做視圖顯示,用SERVLET做業(yè)務(wù)邏輯處理。由于JAVA是垮平臺(tái)的,因此SERVLET也可以與平臺(tái)無關(guān)。其JAVA內(nèi)部是以線程的方式提供服務(wù)的,而且SERVLET是單例模式,當(dāng)有一個(gè)服務(wù)請(qǐng)求過來的時(shí)候,服務(wù)器會(huì)為它創(chuàng)建一個(gè)進(jìn)程,多個(gè)線程共享這個(gè)進(jìn)程,不必對(duì)每個(gè)請(qǐng)求都創(chuàng)建一個(gè)進(jìn)程,并且利用多線程和加鎖可以保證多個(gè)請(qǐng)求之間互相不干擾,保證了服務(wù)的獨(dú)立性,因此效率也是很高的。JDBCJAVADATABASECONNECTION作為一個(gè)連接數(shù)據(jù)庫的工具對(duì)象,用于執(zhí)行SQL語句的JAVAAPI,它的是由JAVA編程語言編寫的類和接口組成。JDBC為它提供了一個(gè)標(biāo)準(zhǔn)的APIAPPLICATIONPROGRAMINTERFACE應(yīng)用程序接口4??梢灾皇褂肑AVA語言來編寫應(yīng)用程序。同時(shí),作為一種規(guī)范,它也讓各個(gè)數(shù)據(jù)庫廠商為JAVA程序員提供了訪問數(shù)據(jù)庫類和接口的標(biāo)準(zhǔn)??偟膩碚f,JDBC的功能主要體現(xiàn)在以下三個(gè)方面首先發(fā)送數(shù)據(jù)庫連接請(qǐng)求建立連接、接著將發(fā)送SQL語句、最后執(zhí)行SQL語句并且返回處理結(jié)果。當(dāng)我們?cè)谡{(diào)用JDBC的接口和類的時(shí)候,首先我們需要得到一個(gè)CONNECTION連接對(duì)象,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的操作,這一點(diǎn)和HIBERNATE操作數(shù)據(jù)庫的時(shí)候類似都是通過CONNECTION對(duì)象去操作數(shù)據(jù)庫2。JDBCAPI同時(shí)支持?jǐn)?shù)據(jù)庫訪問的兩層模型和三層模型。在兩層模型中,應(yīng)用程序或者JAVAAPPLET將直接與數(shù)據(jù)庫進(jìn)行通話。此時(shí)需要一個(gè)數(shù)據(jù)庫的驅(qū)動(dòng)來與特定數(shù)據(jù)庫管理系統(tǒng)通信。獲得鏈接對(duì)象之后SQL語句被送往數(shù)據(jù)庫,數(shù)據(jù)庫再將處理結(jié)果返回給用戶。這當(dāng)中用戶的計(jì)算機(jī)為客戶機(jī),提供數(shù)據(jù)庫的電腦為服務(wù)器,我們也稱之為C/S配置。但是在三層模型中,用戶發(fā)送的命令是先被送到中間層,中間層在收到這個(gè)請(qǐng)求命令之后再將之發(fā)給服務(wù)器,服務(wù)器在處理完SQL語句之后再將相應(yīng)的處理結(jié)果返回到中間層,最后由中間層再將結(jié)果返回給客戶端。這種模式就是三層式結(jié)構(gòu),也稱之為B/S模式3。JSPJAVASERVERPAGES用于組成包含動(dòng)態(tài)的WEB的網(wǎng)頁內(nèi)容HTML、DHTML、XHTML以及XML等網(wǎng)頁的一種應(yīng)用JAVA網(wǎng)頁技術(shù)。其組成主要包含HTML和JAVA代碼片段。JSP的出現(xiàn)讓動(dòng)態(tài)的WEB網(wǎng)頁開發(fā)變得更加簡單、靈活和效率高。其主要用于配合SERVLET一起進(jìn)行JAVAWEB的開發(fā),具有自己獨(dú)立的語法和一些專用的標(biāo)簽。JAVABEANS號(hào)稱JAVA的種子,主要用于對(duì)應(yīng)數(shù)據(jù)庫中的表,用于封裝對(duì)象。是JAVA的可重用技術(shù)組件。對(duì)應(yīng)著這MVC開發(fā)模式中的MODEL,用于持久化對(duì)象數(shù)據(jù),將數(shù)據(jù)庫中面向關(guān)系的數(shù)據(jù)和面向?qū)ο缶幊虝r(shí)候的數(shù)據(jù)對(duì)象對(duì)應(yīng)起來。一般需要事先JAVAIOSERIALIZABLE接口就可以實(shí)現(xiàn)持久化。222STRUTS20技術(shù)介紹STRUTS20框架的開發(fā)是為了減少在使用MVC模式的時(shí)候開發(fā)WEB應(yīng)用的時(shí)間,通過STRUTS20我們可以完成其中一些很發(fā)雜的業(yè)務(wù)工作。和TOMCAT等其它APACHE項(xiàng)目一樣,它也是開源的項(xiàng)目,這樣,可以讓開發(fā)者更好的了解它們內(nèi)部機(jī)制。同時(shí),STRUTS20主要是用于業(yè)務(wù)邏輯的處理,其工作的核心就是攔截器。攔截器不同于SERVLET中的過濾器。攔截器主要是攔截一類的請(qǐng)求,例如在STRUTS20中主要攔截ACTION的請(qǐng)求,而過濾器可以過濾任何請(qǐng)求。STRUTS20的開發(fā)優(yōu)勢主要體現(xiàn)在一下兩個(gè)方面標(biāo)簽庫和頁面導(dǎo)航。其中TAGLIB是STRUTS20的標(biāo)簽庫,靈活使用。能很大程度的提高了開發(fā)的效率,與其它的標(biāo)簽不一樣的是,EL表達(dá)式不僅可以操作對(duì)象的普通方法和屬性,而且可以為屬性賦值,這也是區(qū)別于其它標(biāo)簽的最大地方。而頁面導(dǎo)航,則是STRUTS20的另外一個(gè)大的優(yōu)勢,僅僅通過一個(gè)XML配置文件,我們就可以完成整個(gè)項(xiàng)目的業(yè)務(wù)邏輯脈絡(luò)。這對(duì)于后期的維護(hù)有很大的好處,當(dāng)另外一批開發(fā)者接手這個(gè)項(xiàng)目的時(shí)候,其只需要查看相關(guān)的配置文件就可以很快的理解其項(xiàng)目整體開發(fā)思路。STRUTS20的工作原理是首先,我們的客戶端發(fā)送一個(gè)ACTION的請(qǐng)求,服務(wù)器TOMCAT容器接收這個(gè)特殊的請(qǐng)求,經(jīng)過濾器過濾后到達(dá)轉(zhuǎn)到STRUTS20默認(rèn)的FILTERDISPATCHER過濾器。而FILTERDISPATCHER過濾器也是STRUTS20工作的核心所在,在該過濾器中可以過濾一些不需要處理的請(qǐng)求,從而減輕了系統(tǒng)的開銷20。TOMCAT啟動(dòng)WEB容器的時(shí)候就會(huì)加載配置文件里面相關(guān)的參數(shù),轉(zhuǎn)到相應(yīng)的ACTION處理類去處理請(qǐng)求,如果找到相應(yīng)的ACTION,過濾器會(huì)把請(qǐng)求的處理首先交給ACTIONPROXY代理去處理。因?yàn)锳CTIONPROXY只是一個(gè)代理對(duì)象,其真實(shí)的實(shí)現(xiàn)處理需要去創(chuàng)建一個(gè)ACTIONINVOCATION實(shí)例。并且ACTIONINVOCATION是處于ACTIONPROXY層之下的,它可以明顯的表現(xiàn)ACTION的執(zhí)行狀態(tài),它獲得了ACTION的所有引用和相關(guān)的INTERCEPTOR。相關(guān)實(shí)例調(diào)用ACTIONINVOCATIONINVOKE方法,進(jìn)一步調(diào)用ACTION的實(shí)現(xiàn)時(shí),將會(huì)執(zhí)行INTERCEPTOR攔截,在ACTION方法被調(diào)用之后,相關(guān)攔截器的也將被調(diào)用。最后執(zhí)行完之后,會(huì)返回一個(gè)STRING類型的字符串,我們?cè)俚絊TRUTSXML配置文件中就可以找到其相應(yīng)的視圖展示頁面JSP。圖21STRUTS20的工作原理圖223AJAX、JQUERY、JAVASCRIPT介紹AJAXASYNCHRONOUSJAVASCRIPTANDXML是異步JAVASCRIPT和XML,是一種用于生成交互式網(wǎng)頁的主要開發(fā)技術(shù),使用AJAX技術(shù),我們可以做到局部刷新數(shù)據(jù)的目的,從而不用刷新整個(gè)頁面,這樣就可以提高頁面的及時(shí)刷新性。而JAVASCRIPT中的XMLHTTPREQUEST參數(shù)變量則是我們對(duì)服務(wù)器進(jìn)行操作的核心對(duì)象,它可以讓我們?cè)诓恢匦滤⑿马撁娴那闆r下與WEB服務(wù)器進(jìn)行交換數(shù)據(jù)15。從而大大節(jié)省了服務(wù)器的開銷,可使英特網(wǎng)應(yīng)用程序更小、更快、更友好。AJAX技術(shù)是一種不依賴于WEB服務(wù)器軟件的瀏覽器技術(shù)。AJAX的工作原理是基于下面幾個(gè)標(biāo)準(zhǔn)第一,AJAX的變化多樣性技術(shù)、第二,耦合性要求高的客戶端服務(wù)端環(huán)境。AJAX提出了一種新的開發(fā)方式,其要求開發(fā)人員掌握MVC的程度也很高,因此其對(duì)于應(yīng)用的層次也就做了限定。同時(shí)開發(fā)人員還要考慮CS環(huán)境的外部和使用AJAX技術(shù)來重新定義MVC邊界。開發(fā)人員必須以頁面集合的方式來考慮WEB應(yīng)用,并且需要將其認(rèn)為是單個(gè)頁面。圖22AJAX的開發(fā)框架JQUERY是在PROTOTYPE之后的又一個(gè)杰出的JAVASCRIPT框架,是我們平時(shí)開發(fā)使用的一個(gè)非重量級(jí)的JS倉庫,不但兼容CSS3,同時(shí)對(duì)各種版本的瀏覽器均支持。JQUERY可以讓用戶更加簡單地對(duì)HTMLDOCUMENTS、EVENTS、實(shí)現(xiàn)動(dòng)畫效果進(jìn)行處理,并且可以為網(wǎng)站提供便捷的AJAX交叉互動(dòng)3。它還有一個(gè)很大優(yōu)勢就是相關(guān)文檔說明很齊全,而且各種使用說明也很詳細(xì),其也可以兼容很多的插件。其也做到了讓HTML頁面保持代碼和HTML內(nèi)容分離,提供了多種方法來調(diào)用相關(guān)的JS,不再需要將相應(yīng)的JS代碼都寫到一個(gè)頁面中,可以通過ID來調(diào)用相應(yīng)的JS18。JQUERY的特點(diǎn)主要有以下幾點(diǎn)1動(dòng)態(tài)特效。2很好的兼容AJAX技術(shù)。3可以通過插件來擴(kuò)展。4方便的工具例如我們可以通過瀏覽器來判斷。5漸進(jìn)性的增強(qiáng)。6鏈?zhǔn)秸{(diào)用,可以一個(gè)對(duì)象同時(shí)調(diào)用多個(gè)函數(shù)來添加多個(gè)效果。7最后,支持瀏覽器的種類多,像IE60以上、OPERA90以上、FIREFOX2以上、CHROME10以上等主流瀏覽器均支持。JAVASCRIPT是一種以對(duì)象和事件驅(qū)動(dòng)為主的客戶端的腳本開發(fā)語言,主要用于支持JAVA語言的開發(fā),同時(shí)也用于為JAVA進(jìn)行WEB頁面的開發(fā)提供參考,不但可以處理頁面的動(dòng)態(tài)效果,而且也是一種廣泛用于客戶端的WEB開發(fā)的腳本語言。常常用來給需要添加動(dòng)態(tài)功能的網(wǎng)頁進(jìn)行處理。是一種基于原型、動(dòng)態(tài)的語言,也是有SUN公司注冊(cè)的商標(biāo)。因?yàn)镴AVASCRIPT為開發(fā)人員提供了完整的編程語句,基本語句包括FOR循環(huán)語句、WHILE循環(huán)語句、FOREACH循環(huán)語句、SWITCH選擇語句、DOWHILE語句、BREAK循環(huán)終止語句、CONTINUE、WITH、TRYCATCH語句、IFIFELSE、IFELSEIF。豐富的語句支持可以讓我們更好的展示一個(gè)效果。從技術(shù)層面的角度來講,我覺得它的核心優(yōu)勢主要有三點(diǎn)HTTP請(qǐng)求AJAX有JAVASCRIPT發(fā)起。動(dòng)態(tài)操作DOM。支持頁面對(duì)象。1我們可以讓HTTP請(qǐng)求的發(fā)送變主動(dòng)了,不再是機(jī)械式的只有當(dāng)用戶點(diǎn)擊之后才能觸發(fā)。而是主動(dòng)的發(fā)送HTTP請(qǐng)求時(shí)為了和服務(wù)器進(jìn)行交互式的拿數(shù)據(jù)了,再根據(jù)返回的數(shù)據(jù)XML、JSON、字符串也可以給予用戶反饋。我們平常項(xiàng)目中遇到的較多的就是經(jīng)典的表單驗(yàn)證。2根據(jù)HTTP的請(qǐng)求的結(jié)果做出相應(yīng),可以刷新圖片了,顯示一個(gè)新的DIV等等,可以給用戶一個(gè)變現(xiàn)力很強(qiáng)的回饋。而這些我們可以不通過刷新整個(gè)頁面,因此用戶不用等待很久就可以得到自己想要的數(shù)據(jù)。3JAVASCRIPT是支持面向?qū)ο蟮?,而面向?qū)ο蟮拈_發(fā)方法又是一種很好的組織代碼的方式。224MVC模式介紹MVC也即MODELVIEWCONTROL的簡寫,是一種經(jīng)典的開發(fā)模式。MODEL就是JAVA中的模型對(duì)象,其相當(dāng)于JAVABEAN。VIEW用作視圖展示,我們一般用JSP做VIEW,當(dāng)然也可以通過SPRINGFRAMEWORK來展示。CONTROL也即控制層,我們一般用SERVLET或者ACTION來做CONTROL處理。MVC模式降低了數(shù)據(jù)接口和業(yè)務(wù)邏輯層之間的耦合性。平時(shí)開發(fā)中常見的MVC設(shè)計(jì)實(shí)現(xiàn)方式有SPRING、STRUTS、JSP和SERVLET幾種,其中STRUTS繼承了MVC的各種屬性和基于J2EE的特點(diǎn),做適當(dāng)?shù)男薷暮蛿U(kuò)展7。使用MVC開發(fā)的優(yōu)勢如下1低耦合性的視圖層和業(yè)務(wù)層,讓你只需要更改視圖層的代碼,而不需要重新編譯模型和控制器代碼。2重用性高,MVC模式允許使用各種不同樣式的視圖來展示同一個(gè)服務(wù)器的代碼。3生命周期成本低,MVC使得開發(fā)和維護(hù)用戶的技術(shù)含量降低。4部署快,使用了MVC模式之后使得開發(fā)時(shí)間快速縮減,它可以讓程序員集中精力與業(yè)務(wù)邏輯處理,界面程序員集中精力表現(xiàn)在形式上。5可維護(hù)性高,分離視圖層和業(yè)務(wù)邏輯層也使得整個(gè)項(xiàng)目易于維護(hù)和修改。6有利于使用軟件工程化的標(biāo)準(zhǔn)來管理。圖23MVC模型225MYECLIPSE開發(fā)工具的介紹我們平時(shí)使用的MYECLIPSE是在ECLIPSE的基礎(chǔ)之上開發(fā)出來的,ECLIPSE是免費(fèi)的,但是MYECLIPSE不是免費(fèi)的,是一個(gè)很優(yōu)秀的適用于JAVA,J2EE開發(fā)的插件集合,其功能也非常的強(qiáng)大,對(duì)于各種開源產(chǎn)品的支持也很到位。本身集成了STRUTS、HIBERNATE、SPRING等框架,可以進(jìn)行框架的很好整合25。3高校BBS論壇交流的需求分析現(xiàn)在已是互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)慢慢地已經(jīng)離不開我們的日常生活。心聲交流論壇是一種電子服務(wù)系統(tǒng)。它為用戶提供了一個(gè)空白的編輯區(qū)域。每個(gè)注冊(cè)該論壇的用戶都可以在上面發(fā)表自己對(duì)某個(gè)主題的看法,其面向的用戶是廣大群眾。通過該論壇,網(wǎng)名可以自由的發(fā)表自己的想法和在網(wǎng)站上找到和自己有共同興趣愛好的人15。31可行性分析可行性分析是在我們每一個(gè)系統(tǒng)進(jìn)行開發(fā)之前都要進(jìn)行的一個(gè)必須過程。如果要是可行性分析都不能通過的話我們肯定不能再進(jìn)行接下來的一切有關(guān)開發(fā)的流程。其中,可行性分析有包括以下幾個(gè)方面1技術(shù)可行性技術(shù)可行性是指在我們平時(shí)所學(xué)的一些技術(shù)是否可以幫助我們解決和實(shí)現(xiàn)相關(guān)的需求分析,以及當(dāng)遇到某些技術(shù)問題的時(shí)候我們是否可以通過一段時(shí)間的學(xué)習(xí)去克服它。我的畢業(yè)系統(tǒng)是采用B/S的設(shè)計(jì)結(jié)構(gòu)進(jìn)行開發(fā)的,當(dāng)前的主流開發(fā)架構(gòu)也是B/S,因此當(dāng)自己面對(duì)一些問題的時(shí)候網(wǎng)上的參考資料也還是挺多的,相信對(duì)自己的開發(fā)也會(huì)也很大的幫助,這也是技術(shù)可行性的一個(gè)重要體現(xiàn)。數(shù)據(jù)庫使用的是當(dāng)前中小型企業(yè)開發(fā)的主流數(shù)據(jù)庫MYSQL,由于是開源的數(shù)據(jù)庫不用擔(dān)心其費(fèi)用,而且在數(shù)據(jù)的管理方面也是挺完善的。因此在數(shù)據(jù)方面也得到了很好的保證,使用起來也靈活性很強(qiáng),自己電腦在硬件方面,開發(fā)所需系統(tǒng)為WINDOWSXP,而且主要的開發(fā)技術(shù)為STRUTS20框架、JSP、SERVLET。2經(jīng)濟(jì)可行性本項(xiàng)目主要也是一個(gè)用來模擬論壇供用戶交流的平臺(tái),但是也是我自己拿來做畢業(yè)設(shè)計(jì)的項(xiàng)目,只是在自己電腦上進(jìn)行的模擬,也就不存在什么資金的流動(dòng)性了,因此,在經(jīng)濟(jì)上也是可行的。3社會(huì)可行性伴隨著21世界早已經(jīng)是互聯(lián)網(wǎng)的時(shí)代,INTERNET的快速發(fā)展,論壇的發(fā)展已經(jīng)得到了人們的大力支持。其也成為了人們彼此交流溝通的一種渠道,人們可以對(duì)自己感興趣的話題進(jìn)行發(fā)表,然而,其他人可以對(duì)該話題進(jìn)行回復(fù)。它早已經(jīng)成為了人們網(wǎng)上生活的必備工具了。所以說其社會(huì)可行性也是沒問題的。32論壇的特性需求分析該論壇的主要一些特色有如下一些1溫馨的提示特性作為一個(gè)論壇網(wǎng)站,我覺得用戶信息的友好提示也是很重要的一個(gè)方面,溫馨的提示可以讓用戶對(duì)該網(wǎng)站具有更好的評(píng)價(jià)和體驗(yàn)度。而且通過提示我們也可以讓用戶更加方便和快捷的融入到網(wǎng)站的整體設(shè)計(jì)中。以下是用戶注冊(cè)時(shí)候的溫馨提示圖31用戶注冊(cè)溫馨提示2用戶信息的安全性當(dāng)用戶登錄的時(shí)候我們引入了驗(yàn)證碼的校驗(yàn),從而可以更好的保證用戶信息的安全性,也可以防止一些黑客的簡單攻擊,不但要把用戶名和密碼正確輸入而且驗(yàn)證碼也要通過驗(yàn)證才可以登錄到系統(tǒng)中,使用相應(yīng)的權(quán)限。而且在登錄的時(shí)候我們也會(huì)提示用戶是注冊(cè)名或者密碼錯(cuò)誤,而不會(huì)單純的提示說是密碼錯(cuò)誤,這樣也可以更加方便的做到了防止黑客破解用戶名和密碼。圖32用戶信息安全登錄3提供免費(fèi)的視頻觀看與普通的論壇一樣,我們都具有可以到網(wǎng)站進(jìn)行回帖和發(fā)帖的功能,除此之外,該系統(tǒng)還可以為登錄到該系統(tǒng)的用戶提供免費(fèi)的視頻觀看和學(xué)習(xí),可以在累的時(shí)候和休閑的時(shí)候來到該論壇找找視頻看看。4完全的評(píng)論自由性或許有些論壇會(huì)禁止某些用戶的某些方面的評(píng)論,而且一般用戶回帖和發(fā)帖之類的都需要管理論壇的管理者去審核和通過了,但是在該論壇的話完全是評(píng)論的自由,只要用戶不是赤裸裸的發(fā)表一些大家都嚴(yán)厲禁止的東西或者視頻的話我們一般會(huì)讓其通過的。這也充分的體現(xiàn)了民主、自由的特色。4高校BBS論壇的總體設(shè)計(jì)41系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)該論壇的管理系統(tǒng)在整體風(fēng)格上的設(shè)計(jì)思路是首先,如果是一個(gè)游客也即沒有注冊(cè)該論壇的用戶,其只有觀看網(wǎng)頁上相應(yīng)信息的權(quán)限,不能進(jìn)行任何的操作。當(dāng)以一個(gè)普通用戶數(shù)據(jù)庫中我們通過USER_STATUS3字段來表示,其就具有了對(duì)該論壇的相應(yīng)的TOPIC進(jìn)行REPLY的權(quán)限。當(dāng)其是以版主的身份在數(shù)據(jù)庫中我們以USER_STATUS2來標(biāo)記時(shí)候,其可以對(duì)其TOPIC進(jìn)行增刪改查和在相應(yīng)的PLATE下面創(chuàng)建TOPIC。而且也可以自己發(fā)表REPLY。當(dāng)其是以管理員身份登錄的時(shí)候,具有版主的權(quán)限,而且可以管理PLATE。最后,在使用完之后就推出該系統(tǒng)。系統(tǒng)整體結(jié)構(gòu)圖如下圖41系統(tǒng)整體架構(gòu)圖42系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)當(dāng)一個(gè)用戶注冊(cè)該論壇的時(shí)候,其就可以登錄到我們的系統(tǒng)??梢韵硎艿皆撓到y(tǒng)的一些服務(wù)和資源,可以對(duì)論壇中的一些帖子進(jìn)行回復(fù)和發(fā)表自己喜歡的帖子。該系統(tǒng)主要功能模塊分為六個(gè)部分用戶管理、板塊管理、主帖管理、回帖管理、廣告管理、公告管理。在用戶管理的時(shí)候我設(shè)計(jì)了不同的用戶擁有不同的權(quán)限,如果是管理員的話則可以對(duì)整個(gè)論壇進(jìn)行管理,若是為版主的話就只有管理某一個(gè)板塊的權(quán)限,普通用戶的話則只能只能對(duì)某一個(gè)TOPIC進(jìn)行REPLY。系統(tǒng)的功能結(jié)構(gòu)圖如下圖42系統(tǒng)功能結(jié)構(gòu)圖43BBS論壇的系統(tǒng)流程圖論壇的流程圖如下圖43系統(tǒng)流程圖44系統(tǒng)的開發(fā)環(huán)境開發(fā)該論壇的軟件和硬件環(huán)境需要具備以下相關(guān)環(huán)境服務(wù)器端操作系統(tǒng)WINDOWSXP系統(tǒng)WEB服務(wù)器端TOMCAT60JAVA開發(fā)包JDK16_10數(shù)據(jù)庫MYSQLPHOTOSHOP美圖工具DREAMWEAVER網(wǎng)頁處理器IE或者FIREFOX、GOOGLECHROME瀏覽器均可以客戶端IE或者FIREFOX、GOOGLECHROME瀏覽器均可以5數(shù)據(jù)庫的設(shè)計(jì)51數(shù)據(jù)庫分析數(shù)據(jù)庫作為整個(gè)系統(tǒng)信息的載體,其作用毋庸置疑,所以,對(duì)于數(shù)據(jù)的安全級(jí)保密性都致關(guān)重要了。在程序開發(fā)中起著非常重要的作用,常常決定了在后面的程序設(shè)計(jì)中我們將進(jìn)行怎樣的代碼編程。一個(gè)設(shè)計(jì)合理的、有限的數(shù)據(jù)庫可以降低我們對(duì)程序的復(fù)雜性理解,可以讓整個(gè)開發(fā)過程更為簡單,往往成功的數(shù)據(jù)庫設(shè)計(jì)是項(xiàng)目成功的重要保證。由于本項(xiàng)目是一個(gè)小型的畢業(yè)設(shè)計(jì),而且從經(jīng)濟(jì)、開發(fā)成本的角度來說我們都是要選擇免費(fèi)的,然而,MYSQL作為一種開源的數(shù)據(jù)庫管理軟件,其為許多的中小型企業(yè)提供了很好的保證,降低了開發(fā)的成本。這是作為一個(gè)企業(yè)最基本的保障。同時(shí)MYSQL也提供了一個(gè)JDBC編程的接口,這樣我們可以很方便的應(yīng)用JAVA來操作數(shù)據(jù)庫了。52數(shù)據(jù)庫概要設(shè)計(jì)ER模型是我們對(duì)現(xiàn)實(shí)世界的一種抽象描述。它的主要成分有實(shí)體、屬性和聯(lián)系。通過這三種成分我們可以建立許許多多的應(yīng)用環(huán)境的ER模型。本系統(tǒng)的實(shí)體主要包含用戶實(shí)體、版塊實(shí)體、主帖實(shí)體、回帖實(shí)體、廣告實(shí)體、公告實(shí)體。下面將一一介紹幾個(gè)實(shí)體以及實(shí)體ER圖。1用戶實(shí)體用戶實(shí)體中包括用戶ID、用戶名、用戶密碼、用戶郵箱、手機(jī)號(hào)碼、用戶QQ、用戶性別、用戶等級(jí)。其中用戶ID是唯一標(biāo)識(shí)一個(gè)用戶的字段也即我們所說的主鍵,而且用戶名、密碼和用戶郵箱是注冊(cè)一個(gè)用戶的時(shí)候必須填寫的屬性。當(dāng)一個(gè)注冊(cè)完的用戶登錄到該論壇的時(shí)候其可以再修改完善自己的信息,而且用戶郵箱的填寫可以用來到時(shí)候找回密碼的時(shí)候所必須要的。其中用戶等級(jí)用USER_STATUS來表示,這個(gè)字段在實(shí)際管理中也是非常的重要的,用以標(biāo)識(shí)一個(gè)用戶的身份,我們定義USER_STATUS1表示身份是管理員,USER_STATUS2表示板塊的版主用戶,USER_STATUS3的時(shí)候表示普通用戶。用戶實(shí)體的ER圖如下所示圖51用戶實(shí)體ER圖2版塊實(shí)體版塊實(shí)體包括板塊ID、用戶ID、板塊父類ID、板塊名稱、板塊內(nèi)容、創(chuàng)建日期、板塊的狀態(tài)。其中板塊ID是用來唯一標(biāo)識(shí)該板塊的字段,用戶ID則是關(guān)聯(lián)著該板塊是由那個(gè)用戶創(chuàng)建的,板塊父類ID用以標(biāo)識(shí)該版塊是屬于那個(gè)PLATE下面的板塊,若是父類ID為0則表示該版塊是一級(jí)板塊,否則對(duì)應(yīng)的則為二級(jí)版塊。版塊的狀態(tài)則表示該版塊是否還是處于使用的狀態(tài)當(dāng)狀態(tài)為1時(shí)候表示還在使用,為0則表示該版塊已經(jīng)過期了或者沒有被使用了。版塊ER圖如下所示圖52版塊實(shí)體ER圖3主帖實(shí)體主貼實(shí)體包括主貼ID、版塊ID、用戶ID、主貼名稱、主貼內(nèi)容、主貼創(chuàng)建時(shí)間、狀態(tài)。主貼ID則唯一表示該主帖帖子。板塊ID關(guān)聯(lián)該主帖子是屬于那個(gè)PLATE模塊下面,用戶ID則表示該主帖是由誰創(chuàng)建的,狀態(tài)也是表示該帖子是否還是處于使用狀態(tài)當(dāng)狀態(tài)為1時(shí)候表示還在使用,為0則表示該版塊已經(jīng)過期了或者沒有被使用了。主帖ER圖如下所示圖53主帖實(shí)體ER圖4回帖實(shí)體回帖實(shí)體包括回帖ID、用戶ID、主帖ID、回帖內(nèi)容、回帖時(shí)間、狀態(tài)。其中,回帖ID用以唯一標(biāo)識(shí)一個(gè)回帖,用戶ID關(guān)聯(lián)著用戶,主貼ID關(guān)聯(lián)著該回帖是屬于哪個(gè)主帖子下面。狀態(tài)也是用于標(biāo)識(shí)該回帖是否還是處于使用狀態(tài)當(dāng)狀態(tài)為1時(shí)候表示還在使用,為0則表示該版塊已經(jīng)過期了或者沒有被使用了。其中回帖實(shí)體的ER圖如下圖54回帖實(shí)體ER圖5廣告實(shí)體廣告實(shí)體包括廣告ID、用戶ID、廣告名稱、廣告內(nèi)容、廣告創(chuàng)建日期、狀態(tài)。其中廣告ID是唯一標(biāo)識(shí)該廣告的字段,用戶ID關(guān)聯(lián)一個(gè)用戶。狀態(tài)也是用于標(biāo)識(shí)該廣告是否還是處于使用狀態(tài)當(dāng)狀態(tài)為1時(shí)候表示還在使用,為0則表示該版塊已經(jīng)過期了或者沒有被使用了。如下即為廣告ER圖圖55廣告實(shí)體ER圖6公告實(shí)體公告實(shí)體包括公告ID、用戶ID、公告名稱、公告內(nèi)容、創(chuàng)建時(shí)間、狀態(tài)。其中公告ID唯一標(biāo)識(shí)一個(gè)公告。用戶ID關(guān)聯(lián)一個(gè)用戶,狀態(tài)也是用于標(biāo)識(shí)該公告是否還是處于使用狀態(tài)當(dāng)狀態(tài)為1時(shí)候表示還在使用,為0則表示該版塊已經(jīng)過期了或者沒有被使用了。如下即為公告實(shí)體的ER圖圖56公告實(shí)體ER圖其中,所有的實(shí)體之間整體的ER模型如下圖57實(shí)體之間ER圖53數(shù)據(jù)庫的邏輯設(shè)計(jì)通過前面的概要設(shè)計(jì)我們已經(jīng)對(duì)于整個(gè)數(shù)據(jù)庫有一個(gè)大概的了解了,可以根據(jù)數(shù)據(jù)庫的概要設(shè)計(jì)創(chuàng)建一個(gè)相應(yīng)的數(shù)據(jù)庫和在數(shù)據(jù)庫中建立相應(yīng)的表。以下為數(shù)據(jù)庫和數(shù)據(jù)庫中相應(yīng)的表層次結(jié)構(gòu)圖58數(shù)據(jù)庫與表關(guān)系圖本系統(tǒng)共有六個(gè)表,以下將一一介紹其詳細(xì)的數(shù)據(jù)字典。USER用戶信息表用戶信息表包含了注冊(cè)該論壇用戶的所有相關(guān)信息,而且在注冊(cè)時(shí)候我們一般規(guī)定注冊(cè)的用戶都是普通用戶,如果需要給該用戶賦予版主的權(quán)限將需要到后臺(tái)數(shù)據(jù)庫中去修改。用戶信息表數(shù)據(jù)字典如下表51用戶表用戶表USER字段名字段說明字段類型字段長度字段描述備注USER_ID唯一標(biāo)識(shí)INT11主鍵自動(dòng)增長USER_NAME用戶姓名VARCHAR20不為空USER_PWD登錄密碼VARCHAR20不為空USER_EMAIL用戶郵箱VARCHAR20USER_TELLPHONE手機(jī)號(hào)VARCHAR20USER_QQ用戶QQVARCHAR20USER_SEX用戶性別VARCHAR4USER_STATUS用戶等級(jí)INT11權(quán)限字段用于標(biāo)識(shí)用戶身份的字段注意表中字段名都是小寫。字段USER_STATUS用于標(biāo)識(shí)用戶身份的字段,我們?cè)陧?xiàng)目中,用1表示論壇系統(tǒng)管理員,2表示論壇某一個(gè)板塊的版主,3表示注冊(cè)論壇的普通用戶。PLATE版塊表版塊表主要是包含了一些版塊的基本信息,版塊ID是唯一標(biāo)識(shí)該表的字段,而且其表中含有了關(guān)聯(lián)該用戶的字段,表示是該用戶創(chuàng)建的帖子。而PARENT_ID則表示該版塊是否是一級(jí)版塊還是二級(jí)版塊。若是PARENT_ID為0則表示是一級(jí)版塊,否則則表示二級(jí)版塊。表52版塊表版塊表PLATE字段名字段說明字段類型字段長度字段描述備注PLATE_ID唯一標(biāo)識(shí)INT11主鍵自動(dòng)增長USER_ID用戶IDINT11外鍵關(guān)聯(lián)USER表的字段PARENT_ID父節(jié)點(diǎn)IDINT11為0標(biāo)識(shí)一級(jí)版塊PLATE_NAME版塊名稱VARCHAR50PLATE_CONTENT版塊內(nèi)容VARCHAR500PLATE_DATE版塊創(chuàng)建時(shí)間TIMESTAMP0版塊的創(chuàng)建時(shí)間PLATE_STATUS版塊狀態(tài)INT11用1標(biāo)識(shí)在用,0已經(jīng)停用TOPIC主帖表主帖表主要包含了一些有關(guān)主帖的信息,主帖ID用于唯一標(biāo)識(shí)該主帖的字段,PLATE_ID和USER_ID則分別關(guān)聯(lián)版塊和用戶。表53主帖表主帖表TOPIC字段名字段說明字段類型字段長度字段描述備注TOPIC_ID唯一標(biāo)識(shí)INT11主鍵自動(dòng)增長PLATE_ID版塊IDINT11外鍵關(guān)聯(lián)PLATE表的字段USER_ID用戶IDINT11外鍵關(guān)聯(lián)USER表的字段TOPIC_NAME主帖名稱VARCHAR50TOPIC_CONTENT主帖內(nèi)容VARCHAR500TOPIC_DATE主帖創(chuàng)建時(shí)間TIMESTAMP0TOPIC_STATUS主帖狀態(tài)INT11用1標(biāo)識(shí)該主帖在用,0標(biāo)識(shí)已經(jīng)停用REPLY回帖表回帖表主要包含了一些有關(guān)回帖的信息,回帖ID唯一表示該回帖的字段,USER_ID和TOPIC_ID則分別關(guān)聯(lián)了用戶和主貼。表54回帖表回帖表REPLY字段名字段說明字段類型字段長度字段描述備注REPLY_ID唯一標(biāo)識(shí)INT11主鍵自動(dòng)增長USER_ID用戶IDINT11外鍵關(guān)聯(lián)USER表的字段TOPIC_ID主帖IDINT11外鍵關(guān)聯(lián)TOPIC表的字段REPLY_CONTENT回帖內(nèi)容VARCHAR500REPLY_DATE回帖時(shí)間TIMESTAMP0REPLY_STATUS回帖狀態(tài)INT11用1標(biāo)識(shí)回帖在用,0標(biāo)識(shí)已經(jīng)停用ADVERTISE廣告表廣告表主要包含了一些有關(guān)的廣告信息。其中ADVERTISE_ID用于為以標(biāo)識(shí)該廣告的字段。USER_ID關(guān)聯(lián)用戶。表55廣告表廣告表ADVERTISE字段名字段說明字段類型字段長度字段描述備注ADVERTISE_ID唯一標(biāo)識(shí)INT11主鍵自動(dòng)增長USER_ID用戶IDINT11外鍵關(guān)聯(lián)USER表的字段ADVERTISE_NAME廣告名稱VARCHAR50ADVERTISE_CONTENT廣告內(nèi)容VARCHAR500ADVERTISE_DATE廣告創(chuàng)建時(shí)間TIMESTAMP0ADVERTISE_STATUS廣告狀態(tài)INT11ANOTICE公告表公告表主要包含一些公告的相關(guān)信息。其中ANOTICE_ID用于標(biāo)識(shí)該公告的字段。USER_ID關(guān)聯(lián)用戶。表56公告表公告表ANOTICE字段名字段說明字段類型字段長度字段描述備注ANOTICE_ID唯一標(biāo)識(shí)INT11主鍵自動(dòng)增長USER_ID用戶IDINT11外鍵關(guān)聯(lián)USER表的字段ANOTICE_NAME公告名稱VARCHAR50ANOTICE_CONTENT公告內(nèi)容VARCHAR500ANOTICE_DATE公告創(chuàng)建時(shí)間TIMESTAMP0ANOTICE_STATUS公告狀態(tài)INT11圖59數(shù)據(jù)庫物理設(shè)計(jì)圖6BBS論壇的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)由于系統(tǒng)的頁面也相對(duì)比較多,因此,現(xiàn)在只將系統(tǒng)的重點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)頁面介紹如下。61系統(tǒng)整體功能模塊介紹1用戶模塊主要包含用戶信息注冊(cè)、修改用戶休息、用戶信息的完善、用戶登錄、查詢。2版塊模塊版塊模塊是主界面中的主要頁面,主要包括查詢、添加版塊、刪除板塊、修改版塊。3主帖模塊主帖的存在依附于版塊,是在某個(gè)版塊下面存在的某一個(gè)主題帖子,可以通過對(duì)某一個(gè)版塊下面的主題帖子進(jìn)行查詢、增加、刪除、更新。4回帖模塊回帖的存在也是依附于我們的主題帖子,是對(duì)于某一個(gè)主題帖子進(jìn)行查詢、回復(fù)、修改、刪除。5廣告模塊廣告模塊是存在于某個(gè)用戶對(duì)于某一個(gè)廣告進(jìn)行查詢、創(chuàng)建、修改、更新。6公告模塊公告模塊也是管理員對(duì)于論壇內(nèi)部的一些新的公告進(jìn)行通告,從而查詢、添加、刪除、修改。62功能界面該系統(tǒng)的主要功能界面都采用了統(tǒng)一的界面設(shè)計(jì)風(fēng)格,由于該論壇系統(tǒng)追求的風(fēng)格是簡潔、樸素風(fēng)格,因此整體界面風(fēng)格也很樸素實(shí)華。當(dāng)一個(gè)用戶進(jìn)入到該論壇的時(shí)候主頁顯示如下圖61系統(tǒng)首頁當(dāng)一個(gè)游客進(jìn)入到該論壇的時(shí)候若是他她對(duì)該論壇的帖子有興趣可以進(jìn)入到相應(yīng)的PLATE下的帖子查看相應(yīng)的TOPIC。當(dāng)他想評(píng)論該帖子的時(shí)候他就必須先登錄該論壇,若是未注冊(cè)過該論壇的話需要先注冊(cè)該論壇他才可以評(píng)論。圖62用戶注冊(cè)一論壇的規(guī)定是注冊(cè)了該論壇的時(shí)候我們必須要點(diǎn)擊我已經(jīng)閱讀以上條款并且同意的時(shí)候才可以進(jìn)入下一步的注冊(cè)填寫。這一點(diǎn)也正是符合我們的普通論壇對(duì)于安全和自愿性的要求。以下則是一個(gè)對(duì)于正常的用戶注冊(cè)頁面所必須要填寫的一些基本信息,同時(shí)也做了很好的校驗(yàn),我們既有前臺(tái)的JS校驗(yàn),也有后臺(tái)數(shù)據(jù)庫的校驗(yàn),從而可以達(dá)到改善用戶體驗(yàn)度的要求,人性化的提示更加溫馨。圖63用戶注冊(cè)二當(dāng)用戶進(jìn)入到注冊(cè)頁面的時(shí)候,若是其想直接跳過圖62的話將進(jìn)入注冊(cè)頁面2的話將被直接攔截了,也必須跳轉(zhuǎn)到圖62頁面才可以。當(dāng)其進(jìn)入圖63注冊(cè)頁面的時(shí)候,既有前臺(tái)的驗(yàn)證,也有后臺(tái)數(shù)據(jù)庫的驗(yàn)證,在前臺(tái)中我們做了當(dāng)對(duì)一個(gè)TEXT失去焦點(diǎn)的時(shí)候,利用AJAX技術(shù)做局部驗(yàn)證,刷新局部的數(shù)據(jù),要是數(shù)據(jù)庫中已經(jīng)存在了該用戶名的話,會(huì)顯示如圖所示的用戶已經(jīng)存在或者請(qǐng)用戶登錄。而且對(duì)于密碼的也有一定的規(guī)定,規(guī)定密碼長度必須為6到16個(gè)字符。而且當(dāng)二次確認(rèn)的時(shí)候,密碼必須和之前輸入的密碼一致在可以通過注冊(cè)的驗(yàn)證,當(dāng)填入郵箱的時(shí)候我們對(duì)其做了簡單的校驗(yàn),其必須符合常規(guī)的郵箱格式規(guī)定。當(dāng)一個(gè)用戶登錄時(shí)候輸入的密碼或者用戶名錯(cuò)誤的時(shí)候,會(huì)有如下提示圖64登錄時(shí)候出錯(cuò)提示當(dāng)使用這樣的提示之后可以很清楚告訴用戶錯(cuò)誤原因,而且可以避免黑客的攻擊,若是提示說密碼錯(cuò)誤則危險(xiǎn)性將會(huì)增大。若是用戶非管理員登錄成功之后就可以對(duì)自己的信息進(jìn)行完善。修改自己用戶信息的頁面如下圖65修改用戶信息頁面當(dāng)用戶使用完所有的相關(guān)操作的時(shí)候,就可以進(jìn)行對(duì)帖子相關(guān)的操作了,可以查看帖子也可以對(duì)TOPIC進(jìn)行REPLY。圖66查看TOPIC頁面當(dāng)用戶對(duì)某一個(gè)TOPIC感興趣的時(shí)候可以對(duì)其發(fā)表自己的看法和見解。而且評(píng)論相對(duì)來說都是比較輕松。圖67用戶發(fā)表回帖在進(jìn)行回帖設(shè)計(jì)的時(shí)候我引入了一個(gè)系統(tǒng)特色的編輯器,其相對(duì)于單純的TEXTAREA編輯區(qū)來說可以更加豐富用戶表達(dá)自己的情感。插件的引入也豐富了編輯的方式,我們可以選用自己喜歡的字體、格式、大小,而且可以插入相對(duì)而言比較豐富的語言表情。對(duì)于專業(yè)的懂一點(diǎn)編程技術(shù)的用戶來說我們可以觀看源代碼,從而更加好的理解其特色的處理需求,當(dāng)時(shí),在開始的時(shí)候,當(dāng)我自己把這個(gè)插件引進(jìn)來的時(shí)候,由于采用了特殊的編輯處理,因此在數(shù)據(jù)庫中保存的時(shí)候也是帶有特殊格式的保存。這個(gè)時(shí)候就存在了一個(gè)問題,在把數(shù)據(jù)庫中的數(shù)據(jù)讀出來的時(shí)候不能正確的解析HTML格式,由于我采用了STRUTS20的標(biāo)簽在JSP中來顯示,因此,只需要在標(biāo)簽中加入一個(gè)屬性ESCAPE”FALSE”就把問題解決了。從而達(dá)到了更好的展示效果。7總結(jié)與期望隨著現(xiàn)在社會(huì)網(wǎng)絡(luò)的越來越完善,網(wǎng)絡(luò)發(fā)展日益大眾化以及普及化。人們對(duì)于信息的需求量也不斷的擴(kuò)大,尤其是對(duì)于當(dāng)代大學(xué)生而言,交流工具和手段的多樣化,同時(shí)對(duì)于信息的需求量也不斷的增加。該論壇也可以在大學(xué)生中普遍使用,作為一個(gè)班級(jí)的信息交流群也是很好的??梢杂米靼嗌贤瑢W(xué)的平常交流和溝通的一個(gè)平臺(tái)。本論文也是自己查閱了很多的資料和參考文獻(xiàn)才得以完成的。雖然只有短短的幾個(gè)月,但是自己的收獲也還是很多很多的。對(duì)于普通的論壇設(shè)計(jì)以及一些布局、基本要求都是在不斷的了解之后才懂的,在對(duì)自己的心聲交流論壇基本理論和思想經(jīng)過不斷的論證之后才得以動(dòng)手,提出采用先進(jìn)的技術(shù)方法來解決的問題。采用基于WEB心聲交流管理系統(tǒng),并對(duì)該系統(tǒng)所實(shí)現(xiàn)的方法、體系結(jié)構(gòu)都做了一些分析,以及講述了系統(tǒng)的一些實(shí)現(xiàn)技術(shù)JAVA技術(shù)的功能以及其一些特性應(yīng)用,并且結(jié)合MYECLIPSE作為開發(fā)工具,最后得以自己實(shí)現(xiàn)了基于WEB的心聲交流論壇系統(tǒng)的設(shè)計(jì)和開發(fā)。具體來說自己也主要經(jīng)歷了下面一些工作1對(duì)心聲交流論壇進(jìn)行了需求分析以及該系統(tǒng)的一些特性功能。2對(duì)心聲交流論壇的總體進(jìn)行了介紹,包括整體結(jié)構(gòu)、功能結(jié)構(gòu)、以及一些系統(tǒng)流程圖、開發(fā)環(huán)境的介紹3數(shù)據(jù)庫的設(shè)計(jì)以及ER實(shí)體模型介紹,包括數(shù)據(jù)庫的概要設(shè)計(jì)和邏輯設(shè)計(jì),并且通過一些圖片更加形象直觀的表達(dá)了相關(guān)的意思,讓用戶一看就明白。4使用JAVA技術(shù)的優(yōu)勢和基于JAVA技術(shù)采用MYECLIPSE作為心聲交流論壇系統(tǒng)開發(fā)工具,對(duì)系統(tǒng)的框架進(jìn)行了良好整合。5心聲交流論壇的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),其中也是通過了圖片來直觀的表達(dá)整個(gè)系統(tǒng)的主要功能流程,以及一些溫馨的提示都展現(xiàn)到了用戶面前,起到了很好的改善用戶體驗(yàn)度。讓用戶充分了解該系統(tǒng)。通過本文基本上實(shí)現(xiàn)了心聲交流論壇的基本功能,其對(duì)于相關(guān)的論壇網(wǎng)站都具有很好的參考價(jià)值。采用先進(jìn)的開發(fā)技術(shù),基于WEB的JAVA開發(fā)也是當(dāng)前JAVA開發(fā)的主流,因此,對(duì)于自己也是一種很好的提升。但是,由于多方面的原因,本課題也還是存在很多的不足,今后自己努力的方向和需要改善的地方有以下一些1JSP整體頁面設(shè)計(jì)風(fēng)格過于簡單,對(duì)于CSS布局方面自己還有待提高。2所實(shí)現(xiàn)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論