畢業(yè)論文之基于Ajax的BBS網(wǎng)站_第1頁
畢業(yè)論文之基于Ajax的BBS網(wǎng)站_第2頁
畢業(yè)論文之基于Ajax的BBS網(wǎng)站_第3頁
畢業(yè)論文之基于Ajax的BBS網(wǎng)站_第4頁
畢業(yè)論文之基于Ajax的BBS網(wǎng)站_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

引言隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)民數(shù)量的極具增加,信息交互的重要性漸漸的體現(xiàn)出來。為滿足眾多網(wǎng)民的需要,出現(xiàn)了電子郵件等信息交互平臺。這些信息交互平臺大多存在信息發(fā)布不及時(shí),查看不方便,公開程度低或難以公開,難以引起大范圍的討論交流等局限因素。BBS(電子公告板)網(wǎng)站在很大程度上解決了這些問題,為信息的交互提供了極大的便利,并在很大程度上保證了信息的發(fā)布、更新、傳播的及時(shí)性,漸漸成為網(wǎng)民們交流的主要平臺。BBS(電子公告板)在國內(nèi)一般稱作網(wǎng)絡(luò)論壇,早期的BBS與一般街頭和校園內(nèi)的公告板性質(zhì)相同,只不過是通過電腦來傳播或獲得消息而已。一直到個(gè)人計(jì)算機(jī)開始普及之后,有些人嘗試將蘋果計(jì)算機(jī)上的BBS轉(zhuǎn)移到個(gè)人計(jì)算機(jī)上,BBS才開始漸漸普及開來。近些年來,由于愛好者們的努力,BBS的功能得到了很大的擴(kuò)充,我們可以通過BBS進(jìn)行交換信息、討論話題、共享資源等。隨著用戶需求的不斷提升,傳統(tǒng)的BBS已經(jīng)不能夠滿足需求,傳統(tǒng)的BBS只有當(dāng)用戶主動刷新頁面時(shí)才能更新出新的“更新”內(nèi)容,而用戶需要的是當(dāng)有內(nèi)容更新時(shí),客戶端就響應(yīng)出來無需刷新整個(gè)頁面。AJAX的誕生滿足了用戶的這一需求,也將BBS推向了更廣闊的發(fā)展空間。 本課題是名為“基于AJAX的BBS網(wǎng)站的設(shè)計(jì)”,圍繞AJAX在BBS網(wǎng)站中的應(yīng)用和發(fā)展前景進(jìn)行討論,并完成名為“達(dá)人公社”基于AJAX的BBS網(wǎng)站的實(shí)例,對AJAX在BBS中的應(yīng)用進(jìn)行實(shí)踐。本實(shí)例網(wǎng)站采用Java和Oracle作為開發(fā)工具,tomcat作為服務(wù)器支持,應(yīng)用AJAX技術(shù)提高用戶體驗(yàn)。

第1章緒論1.1課題的背景及意義隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)民數(shù)量的極具增加,信息交互的重要性漸漸的體現(xiàn)出來。為滿足眾多網(wǎng)民的需要,出現(xiàn)了電子郵件等信息交互平臺。這些信息交互平臺大多存在信息發(fā)布不及時(shí),查看不方便,公開程度低或難以公開,難以引起大范圍的討論交流等局限因素。BBS(電子公告板)網(wǎng)站在很大程度上解決了這些問題,為信息的交互提供了極大的便利,并在很大程度上保證了信息的發(fā)布、更新、傳播的及時(shí)性,漸漸成為網(wǎng)民們交流的主要平臺。隨著用戶需求的不斷提升傳統(tǒng)的BBS已經(jīng)不能夠滿足需求,傳統(tǒng)的BBS只有當(dāng)頁面刷新時(shí)才能更新出新的“更新”內(nèi)容,而用戶需要的是當(dāng)有內(nèi)容更新時(shí),客戶端就響應(yīng)出來無需刷新頁面。AJAX的誕生滿足了用戶的這一需求,也將BBS推向了更廣闊的發(fā)展空間。本課題的研究,對AJAX的工作過程和網(wǎng)站數(shù)據(jù)交互有一定的實(shí)踐意義。1.2系統(tǒng)開發(fā)的環(huán)境及開發(fā)模式(1)硬件配置及外圍設(shè)備配置硬件環(huán)境:硬件平臺是指開發(fā)與運(yùn)行所需要的硬件環(huán)境,主要包括計(jì)算機(jī)機(jī)型及硬件配置。本系統(tǒng)開發(fā)硬件環(huán)境配置如表1-1所示:表1-1系統(tǒng)開發(fā)硬件環(huán)境基本配置表部件參數(shù)廠商處理器CoreI5480英特爾主板華碩K42JY華碩硬盤ST9500G希捷顯卡ATI1G華碩內(nèi)存2G爾必達(dá)(2)系統(tǒng)開發(fā)模式—B/S模式本系統(tǒng)基于互聯(lián)網(wǎng),而B/S,即Browser/Server模式是一種非常合適的體系結(jié)構(gòu),客戶端采用瀏覽器,WEB服務(wù)器采用Windows7+Tomcat,數(shù)據(jù)庫服務(wù)器采用Windows7+Oracle服務(wù)器,并通過JDBC與數(shù)據(jù)庫連接,WEB服務(wù)器平臺采用FreeMarker技術(shù)。WEB服務(wù)器作為中間層服務(wù)器,單獨(dú)放置在一臺主機(jī)上隔離外界與數(shù)據(jù)庫,起到了信息服務(wù)器和防火墻的作用。采用B/S網(wǎng)絡(luò)結(jié)構(gòu)具有以下優(yōu)點(diǎn):一、簡化了客戶端,只需在客戶端安裝瀏覽器軟件(IE或火狐或其他瀏覽器),不用在不同的客戶端上安裝不同的客戶運(yùn)用程序。二、簡化了系統(tǒng)的開發(fā)和維護(hù),B/S結(jié)構(gòu)的所有功能都在WEB服務(wù)器上實(shí)現(xiàn),使開發(fā)和維護(hù)工作大大減少。三、用戶的操作使用更加簡單。四、網(wǎng)上的信息發(fā)布更加便利。(3)B/S模式的三層結(jié)構(gòu)B/S(Browser/Server)即瀏覽器/服務(wù)器結(jié)構(gòu)的簡稱。從圖1-1的B/S結(jié)構(gòu)圖來看,該結(jié)構(gòu)的核心是中間層服務(wù)器,包括WEB服務(wù)器和相關(guān)的接口程序。WEB服務(wù)器負(fù)責(zé)接收WEB瀏覽器的WEB頁請求和數(shù)據(jù)請求,并處理WEB頁請求。數(shù)據(jù)庫接口程序?qū)?shù)據(jù)請求轉(zhuǎn)換成數(shù)據(jù)庫服務(wù)器能夠接受的形式(如SQL),并送到數(shù)據(jù)庫服務(wù)器。在數(shù)據(jù)庫服務(wù)器根據(jù)數(shù)據(jù)請求執(zhí)行相應(yīng)的數(shù)據(jù)庫操作(如查詢、修改、統(tǒng)計(jì)等)后,數(shù)據(jù)庫接口程序再將數(shù)據(jù)結(jié)果轉(zhuǎn)換送回WEB服務(wù)器。WEB服務(wù)器將結(jié)果處理成WEB瀏覽器能夠接受的形式(如HTML)后,發(fā)送WEB瀏覽器。WEB瀏覽器解釋執(zhí)行結(jié)果并將其顯示出來[6]。前端前端瀏覽器中間層服務(wù)器后臺數(shù)據(jù)庫服務(wù)器圖1-1Browser/Server模式的三層分布結(jié)構(gòu)圖

第2章采用技術(shù)與實(shí)現(xiàn)方法2.1FreeMarker簡介FreeMarker是一個(gè)采用Java開發(fā)的模版引擎,是一個(gè)基于模版生成文本通用工具。FreeMarker被設(shè)計(jì)用來生成HTMLWeb頁面,特別是基于MVC模式的應(yīng)用程序。雖然FreeMarker具有一些編程的能力,但通常由Java程序準(zhǔn)備要顯示的數(shù)據(jù),由FreeMarker生成頁面,并通過模板顯示準(zhǔn)備的數(shù)據(jù)(如下圖)。圖2-1FreeMarker工作原理FreeMarker非常簡單,只需要一個(gè)

Freemarker.jar

文件(無需任何配置文件)即可包含所有的功能,但

FreeMarker

的功能卻非常的強(qiáng)大,主要應(yīng)用有自定義宏、自定義函數(shù)、自定義模版文件加載、緩存處理、異常處理。2.2Struts2簡介 Struts2是Struts社區(qū)和WebWork社區(qū)的共同成果,也可以說Struts2是WebWork的升級版,它采用的正是WebWork的核心,所以,Struts2并不是一個(gè)不成熟的產(chǎn)品,相反,構(gòu)建在WebWork基礎(chǔ)之上的Struts2是一個(gè)運(yùn)行穩(wěn)定、性能優(yōu)異、設(shè)計(jì)成熟的WEB框架。在Struts2中,模型-視圖-控制器模式通過五個(gè)核心組件來實(shí)現(xiàn),即Action、攔截器、值棧/OGNL、結(jié)果類型、結(jié)果/視圖技術(shù)(JSP、freemarker等)。Struts2的工作原理圖如下:圖2-2Struts2的工作原理圖2.3Hibernate簡介Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate操作數(shù)據(jù)庫模型如下圖所示(對比JDBC)。圖2-3JDBC和hibernate操作數(shù)據(jù)對比圖2.4Spring簡介Spring是一個(gè)開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性由RodJohnson創(chuàng)建的??蚣艿闹饕獌?yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個(gè)組件,同時(shí)為J2EE應(yīng)用程序開發(fā)提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。Spring的用途不僅限于服務(wù)器端的開發(fā),從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。Spring容器模型如下圖所示:圖2-4Spring容器模型圖2.5Oracle簡介Oracle是以高級結(jié)構(gòu)化查詢語言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,通俗地講它是用方便邏輯管理的語言操縱大量有規(guī)律數(shù)據(jù)的集合。是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)體系結(jié)構(gòu)的數(shù)據(jù)庫之一。主要有以下特點(diǎn):(1)ORACLE7.X以來引入了共享SQL和多線索服務(wù)器體系結(jié)構(gòu)。這減少了ORACLE的資源占用,并增強(qiáng)了ORACLE的能力,使之在低檔軟硬件平臺上用較少的資源就可以支持更多的用戶,而在高檔平臺上可以支持成百上千個(gè)用戶。(2)提供了基于角色(ROLE)分工的安全保密管理。在數(shù)據(jù)庫管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。(3)支持大量多媒體數(shù)據(jù),如二進(jìn)制圖形、聲音、動畫以及多維數(shù)據(jù)結(jié)構(gòu)等。(4)提供了與第三代高級語言的接口軟件PRO*系列,能在C,C++等主語言中嵌入SQL語句及過程化(PL/SQL)語句,對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操縱。加上它有許多優(yōu)秀的前臺開發(fā)工具如POWERBUILD、SQL*FORMS、VISIABASIC等,可以快速開發(fā)生成基于客戶端PC平臺的應(yīng)用程序,并具有良好的移植性。(5)提供了新的分布式數(shù)據(jù)庫能力??赏ㄟ^網(wǎng)絡(luò)較方便地讀寫遠(yuǎn)端數(shù)據(jù)庫里的數(shù)據(jù),并有對稱復(fù)制的技術(shù)。2.6AJAX簡介AJAX(AsynchronousJavaScriptandXML)就是異步執(zhí)行的JavaScriptandXML,它的核心是XMLHttpRequest,是多種技術(shù)的綜合,包括Javascript、XHTML和CSS、DOM、XML和XSTL、XMLHttpRequest。它帶給用戶的體驗(yàn)就是頁面無刷新。最簡單的應(yīng)用象提交留言,點(diǎn)擊確定按鈕時(shí)就出現(xiàn)的友好提示。AJAX不是一種語言。實(shí)際上,它由幾種蓬勃發(fā)展的技術(shù)以新的強(qiáng)大方式組合而成。AJAX包含:(1)基于XHTML和CSS標(biāo)準(zhǔn)的表示。(2)使用DocumentObjectModel進(jìn)行動態(tài)顯示和交互。(3)使用XMLHttpRequest與服務(wù)器進(jìn)行異步通信。(4)使用JavaScript綁定一切。AJAX的核心是JavaScript對象XmlHttpRequest。該對象在InternetExplorer5.0中首次引入,它是一種支持異步請求的技術(shù)。簡而言之,XmlHttpRequest使您可以使用JavaScript向服務(wù)器提出請求并處理響應(yīng),而不阻塞用戶。

第3章系統(tǒng)需求分析3.1網(wǎng)站總體需求通過使用體驗(yàn)論壇網(wǎng)站和用戶調(diào)查,得到BBS網(wǎng)站的總體需求如下:(1)為用戶建立方便快捷,簡單易用的信息發(fā)布、交流、搜索的BBS網(wǎng)站。(2)提供用戶注冊登錄功能。(3)提供用戶帖子查看、帖子搜索、新聞查看功能。(4)提供注冊用戶帖子發(fā)表、回復(fù)功能,并可對帖子以及個(gè)人資料進(jìn)行維護(hù)。(5)提供網(wǎng)站“后臺管理系統(tǒng)”,供系統(tǒng)用戶(以下稱管理員)使用,分類管理站內(nèi)資源。(6)提供管理員帖子分類管理功能并可對帖子進(jìn)行審核、搜索、置頂、取消置頂、屏蔽等操作。(7)提供管理員用戶管理,人員管理,業(yè)務(wù)管理,新聞管理,資料維護(hù)等功能。(8)BBS網(wǎng)站要求資源豐富,信息更新及時(shí),用戶響應(yīng)及時(shí),盡量減少服務(wù)器壓力,提供較好的用戶體驗(yàn),操作方便簡單易用。

3.2系統(tǒng)功能分析BBS論壇網(wǎng)站是提供用戶交流的一個(gè)平臺,主要用于發(fā)布信息,交流討論。同時(shí)提供后臺管理平臺,實(shí)現(xiàn)對網(wǎng)站注冊用戶,網(wǎng)站資源進(jìn)行管理。本案例名為“達(dá)人公社BBS”主要提供以下功能(1)帖子(話題)發(fā)表和回復(fù)功能,BBS是一個(gè)互動交流的平臺,信息的發(fā)布是交流的前提。此功能為BBS網(wǎng)站的基本功能,在本實(shí)例中此功能只對注冊用戶提供。(2)用戶(注冊用戶)帖子管理功能,用戶可以對自己所發(fā)表的帖子進(jìn)行管理,包括查看、刪除功能。(3)用戶個(gè)人資料管理,用戶(注冊用戶)可以對自己的注冊信息進(jìn)行修改,保存。(4)帖子、新聞搜索功能,用戶可以通過搜索框?qū)φ緝?nèi)帖子和用戶進(jìn)行搜索。(5)用戶登錄注冊,用戶可以通過注冊,成為本站會員。用戶登錄系統(tǒng)后可享有更高的操作權(quán)限(6)會員管理,管理員用戶可對注冊會員進(jìn)行審核,查看,注銷。(7)帖子管理,管理員可對站內(nèi)帖子進(jìn)行審核,注銷,置頂,取消置頂,搜索,查看。(8)管理員管理,高級管理員可對管理權(quán)限低于自身的管理員進(jìn)行管理,添加管理員,修改管理員信息,注銷管理員。(9)其他工作人員管理,管理員可以對網(wǎng)站其他工作人員的信息進(jìn)行管理。(10)網(wǎng)站業(yè)務(wù)管理,管理員可對網(wǎng)站業(yè)務(wù)進(jìn)行添加,刪除,修改,主要實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)管理。(11)站內(nèi)新聞管理,管理員可對網(wǎng)站新聞進(jìn)行管理,新聞發(fā)布,查看,刪除。3.3系統(tǒng)業(yè)務(wù)流程描述系統(tǒng)業(yè)務(wù)流程是系統(tǒng)業(yè)務(wù)的活動過程。系統(tǒng)活動過程也是組織實(shí)體圍繞著實(shí)現(xiàn)組織的某些目標(biāo)的活動過程,在系統(tǒng)流程中伴隨著組織中大量的信息流。但所有的實(shí)體流最終都要反映為能夠被人們接收和處理的信息流。系統(tǒng)流程分析是系統(tǒng)分析中一個(gè)很重要的內(nèi)容。只有對系統(tǒng)流程進(jìn)行深入分析,才能夠深入地理解系統(tǒng)的活動過程,了解系統(tǒng)活動所涉及到的各種組織實(shí)體,了解系統(tǒng)的過程、步驟、規(guī)則和方法。達(dá)人公社BBS業(yè)務(wù)流程圖如下:圖3-1業(yè)務(wù)流程圖1圖3-2業(yè)務(wù)流程圖23.4系統(tǒng)數(shù)據(jù)流程分析數(shù)據(jù)流程分析是數(shù)據(jù)分析的最重要的一步,是對系統(tǒng)業(yè)務(wù)邏輯進(jìn)一步的分析,是系統(tǒng)功能實(shí)現(xiàn)的基礎(chǔ)。數(shù)據(jù)流程分析是把數(shù)據(jù)在原系統(tǒng)內(nèi)部的流動情況抽象地獨(dú)立出來,舍去了具體組織機(jī)構(gòu)、信息載體、處理工作、物資、材料等,單從數(shù)據(jù)流動過程考查實(shí)際業(yè)務(wù)的數(shù)據(jù)處理模式。數(shù)據(jù)流圖是描述新系統(tǒng)數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲及數(shù)據(jù)處理之間關(guān)系的一種強(qiáng)有力的工具,也是與用戶進(jìn)行緊密配合的有效媒介。本系統(tǒng)的數(shù)據(jù)流圖如下圖所示:圖3-3頂級數(shù)據(jù)流圖圖3-4一級數(shù)據(jù)流圖(1)圖3-4一級數(shù)據(jù)流圖(2)圖3-4二級數(shù)據(jù)流圖(1)圖3-5二級數(shù)據(jù)流圖(2)

第4章系統(tǒng)設(shè)計(jì)4.1系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)達(dá)人公社BBS的瀏覽權(quán)限對所有用戶開放,對用戶的發(fā)帖和帖子回復(fù)操作進(jìn)行限制,僅限于注冊用戶。為對網(wǎng)站進(jìn)行有效的管理,提供后臺管理系統(tǒng),供管理員對網(wǎng)站數(shù)據(jù)進(jìn)行維護(hù)。達(dá)人公社BBS主要有以下功能模塊:用戶模塊:帖子搜索、瀏覽、發(fā)表、回復(fù)、新聞瀏覽、個(gè)人資料修改、保存管理模塊:帖子管理,帖子審核、搜索、屏蔽、置頂、取消置頂、注銷用戶管理,用戶審核、收索、注銷新聞管理,新聞發(fā)布、查看、注銷業(yè)務(wù)管理,業(yè)務(wù)登記、查看、注銷人員管理,權(quán)限管理、登記、查看、資料修改、注銷系統(tǒng)結(jié)構(gòu)如下圖所示:圖4-1系統(tǒng)結(jié)構(gòu)圖4.2系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)4.2.1概述數(shù)據(jù)庫是信息系統(tǒng)的基礎(chǔ)和核心,數(shù)據(jù)庫設(shè)計(jì)的質(zhì)量將直接關(guān)系到系統(tǒng)開發(fā)的成敗和優(yōu)劣。在信息系統(tǒng)中,數(shù)據(jù)庫設(shè)計(jì)是指根據(jù)業(yè)務(wù)需求、信息需求和處理需求,確定信息系統(tǒng)中數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)一致性約束的過程。數(shù)據(jù)庫設(shè)計(jì)的基本過程可分為需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)四個(gè)步驟,見圖4-2。在信息系統(tǒng)的開發(fā)中,一般不就數(shù)據(jù)庫設(shè)計(jì)專門進(jìn)行需求分析,而是在系統(tǒng)分析的需求分析階段一并考慮。概念設(shè)計(jì)的任務(wù)是確定數(shù)據(jù)庫的結(jié)構(gòu),確定從不同用戶角度看到的外模式,并把外模式集成為全局模式。邏輯設(shè)計(jì)把概念設(shè)計(jì)得到的全局模式轉(zhuǎn)換成為所選擇的數(shù)據(jù)庫模型,并進(jìn)行優(yōu)化處理。圖4-2數(shù)據(jù)庫設(shè)計(jì)的基本過程圖4.2.2概念設(shè)計(jì)概念設(shè)計(jì)是針對現(xiàn)實(shí)世界,通過對其中信息實(shí)體的收集、分類、聚集和概括,建立數(shù)據(jù)庫概念結(jié)構(gòu)的過程。通常用實(shí)體-聯(lián)系圖(E-R圖)作為概念設(shè)計(jì)的工具。

(1)工作人員E-R圖管理員在對工作人員進(jìn)行管理時(shí),要從工作人員信息表中取數(shù)據(jù),工作人員E-R圖如下:圖4-3工作人員子E-R圖(2)系統(tǒng)用戶E-R圖管理員登錄,高權(quán)限的管理員對低權(quán)限管理員進(jìn)行管理時(shí)都要從系統(tǒng)用戶表中存取數(shù)據(jù),系統(tǒng)用戶E-R圖如下所示:圖4-4系統(tǒng)用戶子E-R圖(3)回復(fù)信息E-R圖當(dāng)用戶在對帖子進(jìn)行預(yù)覽時(shí),如果該貼有回復(fù)信息,則要從回復(fù)信息表中取出所有該貼的回復(fù)信息。當(dāng)用戶回復(fù)某一個(gè)帖子時(shí),要向回復(fù)信息表中插入回復(fù)信息記錄,回復(fù)信息E-R圖如下:圖4-5回復(fù)信息子E-R圖(4)系統(tǒng)公共類型E-R圖系統(tǒng)公共類型提供了系統(tǒng)中所有類別屬性,如管理權(quán)限、帖子類別、業(yè)務(wù)種類等網(wǎng)站內(nèi)公用的屬性,在主要的信息中都可能用到該表,系統(tǒng)公共類型E-R圖如下:圖4-6系統(tǒng)公共類型子E-R圖(5)系統(tǒng)字典E-R圖系統(tǒng)字典是系統(tǒng)公共類型的子表,用來存儲各個(gè)類型的字典值,系統(tǒng)字典E-R圖如下:圖4-7系統(tǒng)字典子E-R圖(6)新聞信息E-R圖管理員在信息發(fā)布,修改,查看,注銷時(shí)都要對新聞信息表進(jìn)行數(shù)據(jù)存取操作,新聞信息E-R圖如下:圖4-8新聞信息子E-R圖(7)業(yè)務(wù)信息E-R圖:業(yè)務(wù)信息表是用來存放網(wǎng)站業(yè)務(wù)數(shù)據(jù)的,管理員在添加、修改、查看、注銷業(yè)務(wù)時(shí)都要對業(yè)務(wù)信息表進(jìn)行存取操作,業(yè)務(wù)信息E-R圖如下:圖4-9業(yè)務(wù)信息子E-R圖

(8)用戶信息E-R圖用戶信息表中存儲網(wǎng)站用戶的基本信息和狀態(tài)信息,用戶注冊、登錄、發(fā)帖、回帖都要對用戶信息表進(jìn)行操作,用戶信息E-R圖如下:圖4-10用戶信息子E-R圖(9)帖子信息E-R圖帖子信息表用來存儲用戶帖子信息,在用戶發(fā)帖,修改帖子和管理員審核帖子都需要對帖子信息表進(jìn)行存取操作,帖子信息E-R圖如下:圖4-11帖子信息子E-R圖

(10)系統(tǒng)模塊E-R圖系統(tǒng)字典和系統(tǒng)公共類型兩個(gè)表是系統(tǒng)表,是系統(tǒng)屬性,系統(tǒng)字典表通過字典類型與系統(tǒng)公共類型關(guān)聯(lián),聯(lián)系類型為多對一(N:1)用(Z.L)表示,E-R圖如下:圖4-12系統(tǒng)模塊E-R圖(11)用戶發(fā)帖模塊E-R圖達(dá)人公社BBS中用戶發(fā)帖主要涉及到用戶、帖子、系統(tǒng)字典、系統(tǒng)用戶四個(gè)實(shí)體,分別對應(yīng)用戶信息表、帖子信息表、系統(tǒng)字典表、系統(tǒng)用戶表,其中用戶和帖子是一對多(1:N)的關(guān)系用,用(U.I)表示;帖子與系統(tǒng)用戶是多對一(N:1)關(guān)系,用(I.S)表示;帖子與系統(tǒng)字典為多對一(N:1)的關(guān)系用(I.Z)表示,該模塊的E-R圖如下所示:圖4-13用戶發(fā)帖模塊E-R圖

(12)帖子回復(fù)模塊E-R圖達(dá)人公社BBS中用戶帖子回復(fù)主要涉及到用戶、帖子、回復(fù)信息三個(gè)實(shí)體,只存在多對一一種聯(lián)系類型,其中用戶和回復(fù)信息之間是一對多(1:N)聯(lián)系用(U.H)表示,帖子和回復(fù)信息之間是一對多的聯(lián)系(1:N)用(I.H)表示,該模塊的E-R圖如下所示:圖4-14帖子回復(fù)模塊E-R圖(13)管理模塊E-R圖達(dá)人公社BBS中帖子管理、用戶管理、新聞管理、業(yè)務(wù)管理模塊都屬于系統(tǒng)管理模塊他們都只和系統(tǒng)用戶存在聯(lián)系而且都為多對一(N:1)的聯(lián)系,下面用系統(tǒng)管理統(tǒng)一表示以上各個(gè)系統(tǒng)管理模塊,關(guān)系名用X.S表示,系統(tǒng)管理模塊E-R圖如下所示:圖4-15系統(tǒng)管理模塊E-R圖

(14)總體E-R圖達(dá)人公社BBS共涉及到系統(tǒng)模塊、帖子發(fā)表模塊、帖子回復(fù)模塊、系統(tǒng)管理模塊,本系統(tǒng)總體E-R圖如下:圖4-16系統(tǒng)總體E-R圖4.2.3邏輯設(shè)計(jì)邏輯設(shè)計(jì)是將現(xiàn)實(shí)世界的概念數(shù)據(jù)模型設(shè)計(jì)成為適應(yīng)于特定數(shù)據(jù)庫管理系統(tǒng)的邏輯數(shù)據(jù)模式。邏輯數(shù)據(jù)模式也被簡稱為邏輯模型或數(shù)據(jù)模式,關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模式是關(guān)系模式。如果數(shù)據(jù)庫采用關(guān)系數(shù)據(jù)庫,則需要把E-R圖或類圖描述的概念數(shù)據(jù)模型轉(zhuǎn)換為等價(jià)的關(guān)系模式及其約束。達(dá)人公社BBS數(shù)據(jù)表的描述如下:(1)新聞信息表,新聞信息表用來存放站內(nèi)新聞信息包括新聞編號、新聞標(biāo)題、發(fā)布人、發(fā)布時(shí)間、新聞狀態(tài)和新聞內(nèi)容字段,新聞信息表描述如表4-1所示。表4-1新聞信息表列名數(shù)值類型長度默認(rèn)值描述主鍵備注IDINTEGE新聞編號是唯一TITLECHAR80新聞標(biāo)題否FBRINTEGER當(dāng)前用戶發(fā)布人否外鍵FBSJDATA系統(tǒng)時(shí)間發(fā)布時(shí)間否YXZTCHAR20新聞狀態(tài)否CONTENTBLOB新聞內(nèi)容否

(2)達(dá)人公社用戶表,用戶表用來存放網(wǎng)站注冊用戶基本信息和狀態(tài)信息,包括用戶編號、用戶名稱、用戶賬號、用戶密碼、密碼提示、提示答案、郵箱、性別、生日、注冊日期、有效狀態(tài)、個(gè)性簽名、權(quán)限、審核狀態(tài)、審核人id、用戶積分字段,達(dá)人公社用戶表如表4-2所示。表4-2達(dá)人公社用戶表列名數(shù)值類型長度默認(rèn)值描述主鍵備注IDINTEGER用戶編號是唯一NAMECHAR50CODE用戶名稱否CODECHAR50用戶賬號否PASSWORDCHAR50用戶密碼否MMTSWTCHAR200密碼提示否MMTSWTDACHAR200提示答案否EMAILCHAR200郵箱否SEXCHAR2性別否BOTHDAYDATE生日否ZCRQDATE系統(tǒng)時(shí)間注冊日期否YXZTCHAR20有效狀態(tài)否WORDSCHAR200個(gè)性簽名否QXINTEGER權(quán)限否外鍵SHZTCHAR21審核狀態(tài)否SHRIDINTEGER當(dāng)前用戶審核人ID否外鍵ZHXGRIDINTEGER當(dāng)前用戶修改人id否外鍵JFINTEGER0用戶積分否(3)公社業(yè)務(wù)表,業(yè)務(wù)表用來存放網(wǎng)站業(yè)務(wù)信息,包括業(yè)務(wù)編號、業(yè)務(wù)名稱、業(yè)務(wù)類型、客戶名稱、客戶單位、客戶聯(lián)系方式、受理人、受理日期、截止日期、有效狀態(tài)、業(yè)務(wù)描述字段,公社業(yè)務(wù)表如表4-3所示。表4-3公社業(yè)務(wù)表列名數(shù)值類型長度默認(rèn)值描述主鍵備注IDINTEGER業(yè)務(wù)編號是唯一YWMCCHAR60業(yè)務(wù)名稱否YWLXINTEGER業(yè)務(wù)類型否KHMCCHAR30客戶名稱否KHDWCHAR200客戶單位否KHLXFSCHAR40聯(lián)系方式否SLRINTEGER當(dāng)前用戶受理人否外鍵SLRQDATE系統(tǒng)時(shí)間受理日期否YWJZRQDATE截止日期否YXZTCHAR20有效狀態(tài)否YWMSNVARCHAR2500業(yè)務(wù)描述否

(4)回復(fù)信息表,回復(fù)信息表用來存放帖子的回復(fù)信息,包括回復(fù)編號、帖子id、回復(fù)內(nèi)容、回復(fù)人id、回復(fù)時(shí)間字段,帖子回復(fù)信息表描述如表4-4所示。表4-4回復(fù)信息表列名數(shù)值類型長度默認(rèn)值描述主鍵備注IDINTEGER回復(fù)編號是唯一TZ_IDINTEGER帖子id否外鍵HFNRBLOB回復(fù)內(nèi)容否HFR_IDINTEGER回復(fù)人id否外鍵HFSJDATE系統(tǒng)時(shí)間回復(fù)時(shí)間否(5)帖子信息表,包括帖子id、標(biāo)題、類別、關(guān)鍵字、發(fā)帖人、發(fā)帖時(shí)間、帖子內(nèi)容、回復(fù)次數(shù)、審核人、置頂時(shí)間、置頂標(biāo)記,帖子信息表描述如表4-5所示。表4-5帖子信息表列名數(shù)值類型長度默認(rèn)值描述主鍵備注IDINTEGER帖子編號是唯一TITLECHAR80標(biāo)題否TZLBINTEGER類別否KEY_WORDSCHAR60關(guān)鍵字否FTR_IDINTEGER發(fā)帖人id否外鍵FTSJDATE發(fā)帖時(shí)間否CONTENTBLOB帖子內(nèi)容否TZZTCHAR21審核狀態(tài)否YXZTCHAR20有效狀態(tài)否TZLLCSINTEGER0瀏覽次數(shù)否TZHFCSINTEGER0回復(fù)次數(shù)否SHRIDINTEGER當(dāng)前用戶審核人否外鍵ZDSJDATE系統(tǒng)時(shí)間置頂時(shí)間否ZDBJCHAR1置頂標(biāo)記否(6)系統(tǒng)用戶表,系統(tǒng)用戶表用來保存網(wǎng)站管理信息包括編號、名稱、賬號、密碼、有效狀態(tài)、聯(lián)系方式、性別、授權(quán)日期、注銷日期、管理權(quán)限、備注字段系統(tǒng)用戶表描述如表4-6所示。表4-6系統(tǒng)(管理員)用戶表列名數(shù)值類型長度默認(rèn)值描述主鍵備注IDINTEGER編號是唯一NAMECHAR50名稱否CODECHAR50賬號否PASSWORDCHAR50密碼否YXZTCHAR20有效狀態(tài)否LXFSCHAR40聯(lián)系方式否SEXCHAR2男性別否SQRQDATE系統(tǒng)時(shí)間受權(quán)日期否ZXRQDATE系統(tǒng)時(shí)間注銷日期否GLQXINTEGER當(dāng)前用戶管理權(quán)限否外鍵BZCHAR500備注否

(7)工作人員信息表,工作人員信息表用來保存網(wǎng)站工作人員信息,包括人員編號、名稱、性別、身份證號、籍貫、聯(lián)系方式、職責(zé)、入職日期、登記日期、有效狀態(tài)字段,工作人員信息表描述如表4-7所示。表4-7工作人員信息表列名數(shù)值類型長度默認(rèn)值描述主鍵備注IDINTEGER人員編號是唯一NAMECHAR20名稱否XBCHAR2男性別否SFZHMCHAR30身份證號否JGCHAR60籍貫否LXFSCHAR30聯(lián)系方式否ZZINTEGER職責(zé)否RZRQDATE入職日期否DJRQDATE登記日期否YXZTCHAR20有效狀態(tài)否(8)系統(tǒng)公共類型表,系統(tǒng)公共類型用來存放網(wǎng)站數(shù)據(jù)類型,便于數(shù)據(jù)分類管理,包括類型編號、類型代碼、類型名稱描述如表4-8所示。表4-8系統(tǒng)公共類型表列名數(shù)值類型長度默認(rèn)值描述主鍵備注IDINTEGER類型編號是唯一LXDMINTEGER類型代碼否LXMCCHAR200類型名稱否(9)系統(tǒng)字典表,系統(tǒng)字典表用來存放網(wǎng)站數(shù)據(jù)類型所包含的值,包括字典編號、類型代碼、字典值字段,系統(tǒng)字典表描述如表4-9所示。表4-9系統(tǒng)字典表列名數(shù)值類型長度默認(rèn)值描述主鍵備注IDINTEGER字典編號是唯一LXDMINTEGER類型代碼否外鍵ZD_KEYCHAR100字典值否

4.3系統(tǒng)功能模塊設(shè)計(jì)本系統(tǒng)主要有用戶模塊和后臺管理模塊,用戶模塊包括用戶登錄,用戶注冊,用戶信息管理,帖子發(fā)表,帖子回復(fù)模塊,后臺管理模塊包括帖子管理,用戶管理,新聞管理,個(gè)人信息管理,業(yè)務(wù)管理,人員管理。系統(tǒng)模塊圖如下:圖4-17系統(tǒng)功能模塊圖

第5章系統(tǒng)實(shí)現(xiàn)5.1系統(tǒng)主要模塊實(shí)現(xiàn)及詳細(xì)設(shè)計(jì)(1)網(wǎng)站導(dǎo)航網(wǎng)站導(dǎo)航包含網(wǎng)站標(biāo)題“達(dá)人公社BBS”,用戶登錄、站內(nèi)搜索功能模塊,我的中心、業(yè)務(wù)咨詢、客服中心、個(gè)人中心、達(dá)人公約、用戶注冊功能接口,達(dá)人公社BBS網(wǎng)站導(dǎo)航如圖5-1所示。圖5-1網(wǎng)站導(dǎo)航圖 用戶登錄是用戶進(jìn)行個(gè)人資料管理、帖子發(fā)表、帖子回復(fù)、帖子管理的前提,為保證用戶數(shù)據(jù)的安全性,為用戶提供更多的操作權(quán)限,網(wǎng)站需要對用戶權(quán)限進(jìn)行驗(yàn)證。用戶在登錄網(wǎng)站時(shí)需要輸入登錄信息,提交后系統(tǒng)會對用戶的登錄信息進(jìn)行驗(yàn)證,若登錄失敗系統(tǒng)提示錯誤信息,并給出處理意見,否則顯示用戶登錄信息,并在服務(wù)器端保存用戶登錄信息,登錄操作結(jié)束。登錄過程中用戶登錄信息驗(yàn)證采用AJAX技術(shù),若用戶輸入登錄信息錯誤,提示用戶登錄失敗,并保持原頁面不刷新。若用戶登錄成功,將局部刷新用戶登錄模塊,并保持其他模塊不刷新。AJAX向服務(wù)器提交登錄信息,并返回登錄結(jié)果的核心代碼如下:$("#dl_bt").click(function(){if($("#zh").val()==""||$("#zh").val()=="輸入賬號"){alert("賬號不可為空!");return;}if($("#mm").val()==""){alert("密碼不能為空!");return;}$.post("login",{name:$("#zh").val(),password:$("#mm").val()},function(data){if("false"==data){alert("該賬號已登錄");}elseif("failure"==data){alert("用戶名或密碼錯誤,請重新輸入!");}});用戶登錄數(shù)據(jù)流程如圖5-2所示:圖5-2用戶登錄流程圖

為方便用戶使用網(wǎng)站資源而設(shè)計(jì)了站內(nèi)搜索模塊,用戶可以通過該模塊快速的找到想要的資源。用戶在搜索資源時(shí)需填寫搜索關(guān)鍵字,并選擇搜索條件,搜索用戶或帖子,點(diǎn)擊搜索即可提交服務(wù)器查找,并顯示查找結(jié)果。搜索結(jié)果如圖5-3所示。圖5-3帖子搜索結(jié)果圖用戶搜索(搜索帖子,搜索用戶同理只是查找不同數(shù)據(jù)表)核心代碼如下:publicPage<Invitation>findAlltz(IntegerpageSize,IntegerpageNo,Stringitems){Page<Invitation>page=newPage<Invitation>();page.setPageNo(pageNo);page.setPageSize(pageSize);Stringhql=null;if("zrt".equals(items)){hql="fromInvitationtzwheretz.yxzt=0andtz.tzzt=0orderbytz.tzllcsdesc";}elseif("zxt".equals(items)){hql="fromInvitationtzwheretz.yxzt=0andtz.tzzt=0orderbytz.ftsjdesc";}else{hql="fromInvitationtzwheretz.yxzt=0andtz.tzzt=0andtz.titlelike'%"+items+"%'orderbytz.ftsjdesc";}try{page=this.tzdao.find(page,hql);page.setTotalCount(this.tzdao.find(hql).size());}catch(Exceptione){System.out.println(e.getStackTrace().toString());System.out.println("查找帖子失敗!");}returnpage;}用戶搜索數(shù)據(jù)流程如圖5-4所示:

圖5-4用戶搜索流程圖

(2)用戶注冊用戶注冊是用戶成為網(wǎng)站會員,享有更多操作權(quán)限的前提,用戶只有注冊以后才可以進(jìn)行個(gè)人資料管理、個(gè)人帖子管理、帖子發(fā)表、帖子回復(fù)操作。用戶在注冊為網(wǎng)站會員時(shí)需要填寫注冊資料,同意網(wǎng)站服務(wù)條款,提交注冊信息完成注冊。在用戶填寫注冊信息時(shí),采用AJAX技術(shù)對用戶信息進(jìn)行驗(yàn)證,若發(fā)現(xiàn)錯誤則在相應(yīng)條款后面以紅色字體提示用戶信息輸入錯誤,并阻止用戶提交注冊信息,全部信息填寫符合條件以后方可提交注冊信息完成注冊,用戶注冊界面如圖5-5所示。圖5-5用戶注冊界面用戶注冊信息驗(yàn)證代碼如下:$("#username").blur(function(){if($("#username").val()==""){$("#name_yz").show();zc_flag=1;}else{$.post("nameCheck",{name:$("#username").val()},function(data){if("has"==data){$("#name_yz").show();zc_flag=1;}else{$("#name_yz").hide();zc_flag=0;}});}});$("#zc").click(function(){if($("#tk").attr("checked")){if($("#username").val()==""||$("#password").val()==""||$("#password2").val()==""||$("#mmtswt").val()==""||$("#mmwtda").val()==""){zc_flag=1;}if(zc_flag==1){alert("選項(xiàng)填寫錯誤,不可注冊!");return;}else{$("#yhzc").attr("action","saveUser").submit();}}else{alert("只有同意本站服務(wù)條款后才可以進(jìn)行注冊會員");return;}});用戶注冊流程如圖5-7所示:圖5-6用戶注冊流程圖

(3)帖子發(fā)表帖子發(fā)表是BBS網(wǎng)站的基本功能,是用戶發(fā)表話題的基本途徑,帖子發(fā)表功能只對網(wǎng)站會員提供。用戶在發(fā)表帖子時(shí),需要按要求填寫帖子標(biāo)題,帖子標(biāo)題長度不得超過80個(gè)字符,帖子內(nèi)容不可為空,當(dāng)用戶點(diǎn)擊發(fā)表時(shí),會對用戶身份進(jìn)行驗(yàn)證(身份驗(yàn)證采用AJAX技術(shù)),若用戶未登錄,則提示用戶登錄,并阻止用戶發(fā)表帖子,當(dāng)用戶帖子發(fā)表成功以后帖子將變?yōu)榇龑徺N,當(dāng)管理員審核后,該貼才可被搜索、查看、回復(fù),帖子回復(fù)界面如圖5-7所示。圖5-7帖子發(fā)表例圖帖子發(fā)表核心代碼:$("#save").click(function(){vareditor=$("#content").xheditor();$("#content").val($.trim(editor.getSource()));varoption={url:"${base}/drgsuser/savetz",success:function(data){if(data!="failure"){if(confirm("是否繼續(xù)發(fā)帖?")){window.location.reload();}else{window.open("/drgsuser/tzll?tzid="+data,'','');}}else{alert("由于帖子中含有非法字符,該貼不能發(fā)表!");return;}}};@Action("authCheck")publicvoidauthCheck(){if(null==session.get("user")){super.renderText("false");}else{super.renderText("true");}}帖子發(fā)表流程如圖5-8所示:圖5-8帖子發(fā)表流程圖(4)帖子回復(fù)帖子回復(fù)是用戶進(jìn)行交流、討論、互動的另一個(gè)重要途徑。用戶點(diǎn)擊瀏覽某一個(gè)帖子時(shí)可以對該帖進(jìn)行回復(fù),用戶點(diǎn)擊頁面上回復(fù)按鈕即可定位到回復(fù)信息輸入框,回復(fù)信息不可為空,在用戶點(diǎn)擊發(fā)表按鈕時(shí)會對此條約束進(jìn)行檢查同時(shí)會對用戶權(quán)限進(jìn)行檢查,如果用戶尚未登錄則提示用戶登錄并阻止用戶發(fā)表回復(fù)信息,否則顯示用戶回復(fù)信息,帖子回復(fù)界面如圖5-9所示。圖5-9帖子回復(fù)例圖帖子回復(fù)核心代碼如下:$("#fb").click(function(){vareditor=$("#content").xheditor();$("#content").val($.trim(editor.getSource()));if($("#content").val()==""){alert("回復(fù)內(nèi)容不能為空!");return;}else{varcontent=$("#content").val();varusername=$("#username").val();$("#content").val("");$.post("authCheck",{name:"unlogin"},function(data){if("false"==data){alert("您尚未登錄,請先登錄!");$("#zh").focus;return;}@Action("authCheck")publicvoidauthCheck(){if(null==session.get("user")){super.renderText("false");}else{super.renderText("true"); }}帖子回復(fù)流程如圖5-10所示:圖5-10帖子回復(fù)流程圖

(5)個(gè)人中心個(gè)人中心是提供給注冊用戶對用戶資料進(jìn)行管理的平臺,主要包括帖子管理,個(gè)人中心(個(gè)人資料)的管理,用戶可以刪除已發(fā)貼,可以查看修改個(gè)人資料,用戶帖子管理界面如圖5-11所示,用戶個(gè)人資料管理如圖5-12所示。圖5-11帖子管理例圖圖5-12個(gè)人資料管理例圖

(6)管理員登錄管理員登錄,是管理進(jìn)行網(wǎng)站管理的前提,為了保障網(wǎng)站數(shù)據(jù)的安全和管理員有效行使網(wǎng)站管理權(quán)限,需要對管理員權(quán)限進(jìn)行驗(yàn)證。管理員在登錄時(shí)需要完整輸入賬號和密碼,賬號和密碼不可為空,管理員點(diǎn)擊登錄時(shí)會對輸入賬號和密碼進(jìn)行驗(yàn)證(采用AJAX技術(shù)),若賬號或密碼錯誤系統(tǒng)將給出提示,并要求重新輸入,否則進(jìn)入后臺管理系統(tǒng),管理員登陸界面如圖5-13所示。圖5-13管理員登陸例圖管理員登錄核心代碼:$(document).ready(function(){$("#ok").click(function(){if($("#code").val()==""||$("#password").val()==""){alert("用戶名或密碼為空!");return;}else{$.post("logValidate",{code:$("#code").val(),password:$("#password").val()},function(data){if("success"==data){$("#log").submit();}else{alert(data);}});}});});管理員登錄流程如圖5-14所示:圖5-14管理員登錄流程圖

5.2系統(tǒng)其他模塊設(shè)計(jì)及功能簡介(1)業(yè)務(wù)管理業(yè)務(wù)管理提供管理員對網(wǎng)站業(yè)務(wù)管理功能,管理員可以通過此模塊添加業(yè)務(wù)、查看業(yè)務(wù)、修改業(yè)務(wù)、注銷業(yè)務(wù)、查看業(yè)務(wù)歷史。網(wǎng)站業(yè)務(wù)界面如圖5-15所示。圖5-15網(wǎng)站業(yè)務(wù)例圖(2)人員管理人員管理包括管理員管理,和網(wǎng)站工作人員管理,管理員可以通過人員管理平臺對網(wǎng)站工作人員進(jìn)行有效的管理,權(quán)限管理,添加人員,查看人員,注銷人員等日常維護(hù)操作,網(wǎng)站人員管理界面如圖5-16所示。圖5-16人員管理例圖

(3)會員管理會員管理包括新注冊會員管理和已注冊會員管理,管理員通過會員管理平臺,對網(wǎng)站會員進(jìn)行管理,包括會員審核、查看會員信息、修改會員信息、會員搜索、注銷會員操作,會員管理界面如圖5-17所示。圖5-17會員管理例圖(4)帖子管理帖子是BBS網(wǎng)站的主要數(shù)據(jù)來源,數(shù)據(jù)量最大,最復(fù)雜。帖子管理平臺為帖子數(shù)據(jù)提供了有效的管理平臺,提供帖子審核、帖子審核、帖子查看、帖子置頂、帖子屏蔽、帖子搜索功能,帖子管理界面如圖5-18所示。圖5-18帖子管理例圖

結(jié)論與展望通過本次畢業(yè)設(shè)計(jì)完成“基于AJAX的BBS網(wǎng)站的設(shè)計(jì)”的課題實(shí)例“達(dá)人公社BBS”,本實(shí)例是一個(gè)普通的BBS論壇網(wǎng)站,只提供用戶注冊登錄,帖子發(fā)表,帖子回復(fù),和簡單的搜索,管理功能,并提供一個(gè)簡易的后臺管理系統(tǒng),供管理員對網(wǎng)站數(shù)據(jù)進(jìn)行管理。通過對“天涯”、“貓撲”、“CSDN”、“百度”、“安工在線”等論壇實(shí)際使用體驗(yàn)完成BBS網(wǎng)站的需求分析并完成對業(yè)務(wù)流程的分析總結(jié),完成網(wǎng)站的原型設(shè)計(jì),通過近兩個(gè)月的開發(fā)工作基本實(shí)現(xiàn)了BBS網(wǎng)站的常用功能。主要實(shí)現(xiàn)了帖子發(fā)表,帖子回復(fù),帖子及其他信息瀏覽,網(wǎng)站后臺數(shù)據(jù)管理功能。本案例使用了Java主流開發(fā)框架SSH集成框架,遵循分層的設(shè)計(jì)思想,并采用JavaScript作為客戶端腳本,使用AJAX技術(shù)增強(qiáng)用戶體驗(yàn),頁面設(shè)計(jì)簡單大方,操作方便。但是還存在以下缺陷與不足:(1)、網(wǎng)站個(gè)人中心模塊展現(xiàn)形式不佳,由于受時(shí)間限制,未作進(jìn)一步調(diào)整。(2)、由于達(dá)人公社BBS網(wǎng)站部分功能還有待完善,數(shù)據(jù)庫在設(shè)計(jì)時(shí)的部分字段沒有被利用,會造成數(shù)據(jù)冗余,影響數(shù)據(jù)庫數(shù)據(jù)處理效率。(3)、數(shù)據(jù)的安全性工作做的不到位,需要一定的加強(qiáng),數(shù)據(jù)處理功能還有待完善。通過本次畢業(yè)設(shè)計(jì)加深了我對Java的web應(yīng)用的認(rèn)識,對相關(guān)課程知識進(jìn)行了一次梳理,熟悉了AJAX技術(shù),同時(shí)對SSH集成框架有了一個(gè)初步的認(rèn)識,并能夠應(yīng)用SSH集成框架進(jìn)行簡單的應(yīng)用開發(fā)。在整個(gè)畢業(yè)設(shè)計(jì)過程中從分析、設(shè)計(jì)、實(shí)現(xiàn)、總結(jié)一個(gè)完整的項(xiàng)目流程中學(xué)到了很多東西,使我各方面的能力都得到一定程度的提升。

致謝通過三個(gè)月的系統(tǒng)分析設(shè)計(jì)、開發(fā)實(shí)現(xiàn)和論文撰寫,畢業(yè)設(shè)計(jì)工作已經(jīng)基本完成。在此過程獲得了很多的幫助,使畢業(yè)設(shè)計(jì)任務(wù)得以順利開展。感謝指導(dǎo)老師周文三個(gè)月以來的全面指導(dǎo),不僅在就業(yè)方面給予了指導(dǎo)意見,在畢業(yè)項(xiàng)目的設(shè)計(jì)思路和論文的撰寫方法規(guī)范方面都給予了很大的幫助,并提供了大量的原始資料,使我對畢業(yè)項(xiàng)目的業(yè)務(wù)流程和實(shí)現(xiàn)技術(shù)都有了較深的理解,為畢業(yè)項(xiàng)目的順利進(jìn)行做好了鋪墊。再次感謝尹老師和周老師的辛勤指導(dǎo),感謝同組其他同學(xué)在畢業(yè)設(shè)計(jì)期間完成了大量的題材搜集工作。 完成人:年月日

參考文獻(xiàn)[1](美)DonaldBrown,ChadMichaelDavis,ScottStanlick著.馬召譯.Struts2實(shí)戰(zhàn)[J].北京:人民郵電出版社,2010年.[2]齊治昌,譚慶平,寧洪.軟件工程[M].北京:高等教育出版社.2004年.[3](美)JasonPrice著.馮銳,由淵霞譯.OracleDatabase10gSQL開發(fā)指南[M].北京:清華大學(xué)出版社,2005年.[4](美)CayS.Horstmann著.葉乃文,鄺勁筠,杜永萍譯.Java核心技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006年4月.[5]閃四清,楊強(qiáng).OracleDatabase10g基礎(chǔ)教程(第二版)[M].北京:清華大學(xué)出版社,2007年.[6]楊毅.數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用[M].北京:科學(xué)出版社,2011年1月.[7]劉聰.零基礎(chǔ)JavaWebJSP+Servlet+Struts+Spring+Hibernate+AJAX[M].北京:機(jī)械工業(yè)出版社,2008年1月.[8](美)MichaelMcLaughlin著.張?jiān)?王海濤譯.OracleDatabase11gPL/SQL程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2009.4.[9]汪大樂.JavaWeb開發(fā)技術(shù)詳解--JSP+AJAX+Struts[J].北京:科學(xué)出版社,2008年8月.[10]趙增敏.DreamveaverCS3AJAX網(wǎng)頁設(shè)計(jì)入門實(shí)例詳解[M].北京:電子工業(yè)出版社,2008年8月.[11]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2000.[12](美)MartyHall,LarryBrown,YaakovChaikin著.胡書敏譯.Servlet與JSP核心編程(第2卷第2版)[M].北京:清華大學(xué)出版社,2009年6月.[13]梁文新,宋強(qiáng),王占中.AJAX+JSP網(wǎng)站開發(fā)從入門到精通[M].北京:清華大學(xué)出版社,2008年7月.[14]曾順.精通CSS+DIV網(wǎng)頁樣式與布局[M].北京:人民郵電出版社,2007年8月.[15](美)StevenHolzner著.陳秋萍譯.AJAXBible[M],人民郵電出版社,2007年11月.[16]JamesHolmes.Struts:TheCompleteReference,2ndEdition[M].McGraw-HillOsborneMedia,2007.[17]JanMachacek,AleksaVukotic,AnirvanChakraborty,JessicaDitt.ProSpring2.5[M].Apress,2009.[18]StevenHolzner.AJAXBible[M].Wiley,2007.[19]CayS.Horstmann,GaryCornell.CoreJava,VolumeI--Fundamentals(8thEdition)[M].PrenticeHallPTR,2008.[20]LazaroIssiCohen,JosephIssiCohen.ThewebProgrammer’sDeskReference[M].NoStarchPress,2007.

附錄附錄A外文文獻(xiàn)及其譯文ThefourdefiningprinciplesofAJAXTheclassicbasedapplicationmodelishard-wiredintomanyoftheframe-worksthatweuse,andalsointoourwaysofthinking.Let’stakeafewminutestodiscoverwhatthesecoreassumptionsareandhowweneedtorethinkthemtogetthemostoutofAJAX.1.Thebrowserhostsanapplication,notcontentIntheclassicbasedwebapplication,thebrowseriseffectivelyadumbter-minal.Itdoesn’tknowanythingaboutwheretheuserisinthegreaterworkflow.Allofthatinformationisheldonthewebserver,typicallyintheuser’ssession.Server-sideusersessionsarecommonplacethesedays.Ifyou’reworkinginJavaor.NET,theserver-sidesessionisapartofthestandardAPI,alongwithrequests,responses,andMultipurposeInternetMailExtensions(MIME)types.Figure1.11illustratesthetypicallifecycleofaclassicwebapplication.Whentheuserlogsinorotherwiseinitializesasession,severalserver-sideobjectsarecreated,representing,say,theshoppingbasketandthecustomercre-dentialsifthisisane-commercesite.Atthesametime,thehomepageisdisheduptothebrowser,inastreamofHTMLmarkupthatmixestogetherstandardboilerplatepresentationanduser-specificdataandcontentsuchasalistofrecentlyvieweditems.Everytimetheuserinteractswiththesite,anotherdocumentissenttothebrowser,containingthesamemixtureofboilerplateanddata.Thebrowserduti-fullythrowstheolddocumentawayanddisplaysthenewone,becauseitisdumbanddoesn’tknowwhatelsetodo.Whentheuserhitsthelogoutlinkorclosesthebrowser,theapplicationexitsandthesessionisdestroyed.AnyinformationthattheuserneedstoseethenexttimesheorhelogsonwillhavebeenhandedtothepersistencetierbyFigure1.11Lifecycleofaclassicwebapplication.Allthestateoftheuser’s“conversation”withtheapplicationisheldonthewebserver.Theuserseesasuccessionofpages,noneofwhichcanadvancethebroaderconversationwithoutgoingbacktotheserver.now.AnAJAXapplicationmovessomeoftheapplicationlogictothebrowser,asfigure1.12illustrates.Whentheuserlogsin,amorecomplexdocumentisdeliveredtothebrowser,alargeproportionofwhichisJavaScriptcode.Thisdocumentwillstaywiththeuserthroughoutthesession,althoughitwillprobablyalteritsappearanceconsid-erablywhiletheuserisinteractingwithit.Itknowshowtorespondtouserinputandisabletodecidewhethertohandletheuserinputitselfortopassarequestontothewebserver(whichhasaccesstothesystemdatabaseandotherresources),ortodoacombinationofboth.Becausethedocumentpersistsovertheentireusersession,itcanstorestate.Ashoppingbasket’scontentsmaybestoredinthebrowser,forexample,ratherthanintheserversession.Figure1.12LifecycleofanAJAXapplication.Whentheuserlogsin,aclientapplicationisdeliveredtothebrowser.Thisapplicationcanfieldmanyuserinteractionsindependently,orelsesendrequeststotheserverbehindthescenes,withoutinterruptingtheuser'sworkflow.2.Theserverdeliversdata,notcontentAswenoted,theclassicwebappservesupthesamemixtureofboilerplate,con-tent,anddataateverystep.Whenouruseraddsanitemtoashoppingbasket,allthatwereallyneedtorespondwithistheupdatedpriceofthebasketorwhetheranythingwentwrong.Asillustratedinfigure1.13,thiswillbeaverysmallpartoftheoveralldocument.AnAJAX-basedshoppingcartcouldbehavesomewhatsmarterthanthat,bysendingoutasynchronousrequeststotheserver.Theboilerplate,thenavigationlists,andotherfeaturesofthepagelayoutarealltherealready,sotheserverneedstosendbackonlytherelevantdata.TheAJAXapplicationmightdothisinanumberofways,suchasreturningafragmentofJavaScript,astreamofplaintext,orasmallXMLdocument.We’llFigure1.13Breakdownofthecontentdelivered(A)toaclassicwebapplicationand(B)toanAJAXapplication.Astheapplicationcontinuestobeused,cumulativetraffic(C)increases.lookattheprosandconsofeachindetailinchapter5.Sufficeittosayfornowthatanyoneoftheseformatswillbemuchsmallerthanthemish-mashreturnedbytheclassicwebapplication.InanAJAXapplication,thetrafficisheavilyfront-loaded,withalargeandcomplexclientbeingdeliveredinasingleburstwhentheuserlogsin.Subsequentcommunicationswiththeserverarefarmoreefficient,however.Foratransientapplication,thecumulativetrafficmaybelessforaconventionalwebpageappli-cation,butastheaveragelengthofinteractiontimeincreases,thebandwidthcostoftheAJAXapplicationbecomeslessthanthatofitsclassiccounterpart.

3.UserinteractionwiththeapplicationcanbefluidandcontinuousAwebbrowserprovidestwoinputmechanismsoutofthebox:hyperlinksandHTMLforms.HyperlinkscanbeconstructedontheserverandpreloadedwithCommonGatewayInterface(CGI)parameterspointedatdynamicserverpagesorservlets.TheycanbedressedupwithimagesandCascadingStyleSheets(CSS)toproviderudimentaryfeedbackwhenthemousehoversoverthem.Givenagoodwebdesigner,hyperlinkscanbemadetolooklikequitefancyUIcomponents.FormcontrolsofferabasicsubsetofthestandarddesktopUIcomponents:inputtextboxes,checkboxesandradiobuttons,anddrop-downlists.Severallikelycandidatesaremissing,though.Therearenoout-of-the-boxtreecontrols,editablegrids,orcombo-boxesprovided.Forms,likehyperlinks,pointatserver-sideURLs.Alternatively,hyperlinksandformcontrolscanbepointedatJavaScriptfunc-tions.It’sacommontechniqueinwebpagestoproviderudimentaryformvalida-tioninJavaScript,checkingforemptyfields,out-of-rangenumbers,andsoon,beforesubmittingdatatotheserver.TheseJavaScriptfunctionspersistonlyaslongasthepageitselfandarereplacedwhenthepagesubmits.Whilethepageissubmitting,theuseriseffectivelyinlimbo.Theoldpagemaystillbevisibleforawhile,andthebrowsermayevenallowtheusertoc

溫馨提示

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

最新文檔

評論

0/150

提交評論