基于web的企業(yè)內(nèi)部通信平臺設(shè)計與實(shí)現(xiàn)(通信系統(tǒng))_第1頁
基于web的企業(yè)內(nèi)部通信平臺設(shè)計與實(shí)現(xiàn)(通信系統(tǒng))_第2頁
基于web的企業(yè)內(nèi)部通信平臺設(shè)計與實(shí)現(xiàn)(通信系統(tǒng))_第3頁
基于web的企業(yè)內(nèi)部通信平臺設(shè)計與實(shí)現(xiàn)(通信系統(tǒng))_第4頁
基于web的企業(yè)內(nèi)部通信平臺設(shè)計與實(shí)現(xiàn)(通信系統(tǒng))_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計(論文)報告學(xué)生畢業(yè)設(shè)計(論文)報告系別:專業(yè): 班級:學(xué)生姓名:學(xué)生學(xué)號:基于web的企業(yè)內(nèi)部通信平臺設(shè)計與實(shí)現(xiàn)(通信系統(tǒng))指導(dǎo)教師:設(shè)計地點(diǎn):起迄日期:

畢業(yè)設(shè)計(論文)任務(wù)書專業(yè)班級姓名一、課題名稱:基于web的企業(yè)內(nèi)部通信平臺設(shè)計與實(shí)現(xiàn)(通信系統(tǒng))二、主要技術(shù)指標(biāo)(或基本要求):1、能力要求:JSP,MySql,web框架 2、網(wǎng)頁制作工具:DreamWeaver工具3、編程技術(shù):web框架技術(shù),如Spring技術(shù)、Struts技術(shù)、Hibernate技術(shù)、系統(tǒng)架構(gòu)為B/S架構(gòu),JavaScript,Ajax等技術(shù)在項目的應(yīng)用,運(yùn)用于前臺交互。配置數(shù)據(jù)庫連接池進(jìn)行對數(shù)據(jù)庫進(jìn)行訪問、操作(新增、查詢、刪除、修改數(shù)據(jù)等)。三、主要工作內(nèi)容:1、設(shè)計需求分析,系統(tǒng)結(jié)構(gòu)功能,設(shè)計需求的業(yè)務(wù)流程;系統(tǒng)設(shè)計,數(shù)據(jù)庫架構(gòu),詳細(xì)設(shè)計。2、對企業(yè)內(nèi)部通信平臺系統(tǒng)進(jìn)行對不同用戶設(shè)置不同的登錄賬號,每個用戶擁有各自的權(quán)限,用戶信息及公共資源確保只在自己的用戶登錄成功之后可以訪問,才可進(jìn)行其他功能操作。頁面之間的交互以實(shí)際功能作為依據(jù),確保能真實(shí)有效的運(yùn)行系統(tǒng),進(jìn)行有效的系統(tǒng)維護(hù)。四、主要參考文獻(xiàn):[1]《HTML5+CSS3從入門到精通》李東博著清華大學(xué)出版社2013-06-01出版[2]《JSP從精通到入門》宋智軍、邱仲潘著電子工業(yè)出版社2012-07-01出版[3]《JAVAJDK實(shí)例寶典》夏先波著電子工業(yè)出版社2007-01-01出版[4]《MySQL5.6從零開始學(xué)》劉增杰、李坤著清華大學(xué)出版2013-09-01出版學(xué)生(簽名)年月日指導(dǎo)教師(簽名)年月日教研室主任(簽名)年月日系主任(簽名)年月日

畢業(yè)設(shè)計(論文)開題報告設(shè)計(論文)題目基于web的企業(yè)內(nèi)部通信平臺的設(shè)計與實(shí)現(xiàn)選題的背景和意義:本系統(tǒng)的設(shè)計目標(biāo)是實(shí)現(xiàn)一個企業(yè)內(nèi)部局域網(wǎng)通信系統(tǒng),企業(yè)內(nèi)部職工可以方便的進(jìn)行交流,可以大大的提高職工的工作效率。根據(jù)企業(yè)對局域網(wǎng)通信的需求,本系統(tǒng)主要包括信息通信、系統(tǒng)設(shè)置、搜索用戶、訪問公共資源、訪問對方主機(jī)四大功能。各功能概述如下:1、信息通信:信息通信是企業(yè)內(nèi)部通信系統(tǒng)的核心功能,它用于不同職工之間的通信,這種通信方式能夠?qū)崿F(xiàn)多個職工之間的通信,而不存在類似電話占線的問題,增加了任務(wù)分配的新方式,從而提高企業(yè)的工作效率。2、系統(tǒng)設(shè)置:系統(tǒng)設(shè)置用于設(shè)置用戶界面、公共路徑、公告欄等的功能。3、用戶搜索:用戶搜索用于搜索企業(yè)局域網(wǎng)內(nèi)的其他用戶,系統(tǒng)會根據(jù)用戶帳號或IP搜索所有計算機(jī)上的用戶。4、訪問公共資源:訪問公共資源用于實(shí)現(xiàn)企業(yè)內(nèi)部公共服務(wù)器上資源訪問的功能。課題研究的主要內(nèi)容:在信息化時代,隨著計算機(jī)技術(shù)和網(wǎng)絡(luò)通信技術(shù)的進(jìn)一步發(fā)展,企業(yè)通信技術(shù)正在成為企業(yè)網(wǎng)絡(luò)活動中不可或缺的業(yè)務(wù),企業(yè)內(nèi)部通信軟件的研究日益成為互聯(lián)網(wǎng)應(yīng)用領(lǐng)域中的一個熱點(diǎn)研究課題。企業(yè)內(nèi)部通信軟件的產(chǎn)生和發(fā)展成熟,促進(jìn)了企業(yè)內(nèi)部信息流的迅速、高效流通,推動了企業(yè)員工工作效率的提高,降低了企業(yè)資金和管理成本的支出,帶來了企業(yè)管理的新思路和新方法,同時也引起了更多的人對該應(yīng)用領(lǐng)域的關(guān)注。本系統(tǒng)的設(shè)計目標(biāo)就是實(shí)現(xiàn)一個企業(yè)內(nèi)部局域網(wǎng)通信系統(tǒng),企業(yè)內(nèi)部職工可以方便的進(jìn)行交流,可以大大的提高職工的工作效率。也加強(qiáng)了企業(yè)內(nèi)部的整個工作速率,讓企業(yè)更好更快的發(fā)展。主要研究(設(shè)計)方法論述:采用eclipse(-jee-LUNA)作為開發(fā)工具,使用Java語言進(jìn)行代碼編寫;數(shù)據(jù)庫采用MySql;服務(wù)器使用Tomcat8.0,JDK1.8版本,使用JSP作為頁面,web框架輔助;采用Dreamweaver設(shè)計網(wǎng)頁;采用Windowswin7以上的操作系統(tǒng)。四、設(shè)計(論文)進(jìn)度安排:時間(迄止日期)工作內(nèi)容6.19~6.23確定畢業(yè)設(shè)計選題6.24~6.26總結(jié)選題內(nèi)容及撰寫開題報告和任務(wù)書6.26~7.1對項目進(jìn)行需求分析、設(shè)計、復(fù)習(xí)相關(guān)技術(shù)7.2~7.4項目框架(MVC)設(shè)計、數(shù)據(jù)庫設(shè)計7.4~7.16項目詳細(xì)設(shè)計、總結(jié)出主要功能模塊7.16~7.19項目主界面設(shè)計、各模塊界面設(shè)計及代碼編寫7.19~7.26后臺代碼的設(shè)計與編寫,單元測試、集成測試7.26~7.31整理并填寫畢業(yè)設(shè)計論文五、指導(dǎo)教師意見:指導(dǎo)教師簽名:年月日六、系部意見:系主任簽名:年月日目錄TOC\o"1-3"\h\u摘要 IAbstract II第一章緒論 11.1課題研究背景 11.2研究的意義 11.3課題主要研究內(nèi)容 11.4論文的組織 2第二章開發(fā)技術(shù) 32.1Struts2技術(shù) 32.2Spring技術(shù) 42.3Hibernate技術(shù) 52.4JavaScript,Ajax技術(shù) 5第三章需求分析 63.1需求說明 63.2業(yè)務(wù)流程 73.3系統(tǒng)結(jié)構(gòu)功能 73.4功能分析 8第四章系統(tǒng)設(shè)計 104.1系統(tǒng)架構(gòu)設(shè)計 104.2數(shù)據(jù)庫設(shè)計 104.3詳細(xì)設(shè)計 114.3.1公共資源管理功能 114.3.2群聊通信功能 134.3.3私聊通信功能 154.3.4消息提示功能 174.3.5系統(tǒng)設(shè)置功能 184.3.6搜索功能 204.3.7登陸和注冊功能 22第五章系統(tǒng)實(shí)現(xiàn)與測試 245.1程序結(jié)構(gòu) 245.2系統(tǒng)的模塊具體實(shí)現(xiàn) 245.2.1公共資源管理功能實(shí)現(xiàn) 245.2.2群聊通信功能實(shí)現(xiàn) 255.2.3私聊通信功能實(shí)現(xiàn) 265.2.4消息提示功能實(shí)現(xiàn) 275.2.5系統(tǒng)設(shè)置功能實(shí)現(xiàn) 285.2.6搜索功能實(shí)現(xiàn) 305.2.7登錄和注冊功能實(shí)現(xiàn) 315.3運(yùn)行結(jié)果展示 325.3.1公共資源模塊展示 325.3.2群聊模塊展示 335.3.3私聊模塊展示 345.3.4系統(tǒng)設(shè)置模塊展示 345.3.5消息提示模塊展示 355.3.6搜索模塊展示 355.3.7注冊和登錄模塊展示 365.4系統(tǒng)測試 365.4.1配置測試環(huán)境 365.4.2測試總結(jié) 36第六章總結(jié)與展望 426.1總結(jié) 426.2展望 42致謝 43參考文獻(xiàn) 44摘要隨著Internet技術(shù)的興起,基于B/S的應(yīng)用程序越來越受到廣大用戶的歡迎。通過運(yùn)行B/S結(jié)構(gòu)程序,只需部署服務(wù)器,客戶端就可以在瀏覽器上運(yùn)行。用戶可以通過瀏覽器輕松地使用不同的客戶端,程序也可以運(yùn)行在不同的平臺上。相對于C/S結(jié)構(gòu)的軟件技術(shù)來說,B/S在技術(shù)上,無論從數(shù)據(jù)的安全性、一致性和實(shí)時性、服務(wù)影響性及時性、網(wǎng)絡(luò)應(yīng)用限制性均優(yōu)于C/S技術(shù),B/S在投入成本、硬件投資保護(hù)、企業(yè)快速擴(kuò)張支持等方面明顯優(yōu)于C/S。傳統(tǒng)的通信平臺是基于C/S結(jié)構(gòu)的桌面應(yīng)用程序,用戶在使用前需要安裝特定的客戶端。雖然有良好的通信功能,但是這種特定的客戶端安裝程序不能很好的適用不同的平臺,部署服務(wù)器過程也較為復(fù)雜,系統(tǒng)升級時要同時升級客戶端和服務(wù)端,導(dǎo)致其升級和維護(hù)相當(dāng)不便。本系統(tǒng)就是針對上述不便的缺陷,采用B/S通信技術(shù)開發(fā)企業(yè)內(nèi)部的通信平臺。本系統(tǒng)的設(shè)計目標(biāo)就是實(shí)現(xiàn)一個企業(yè)內(nèi)部局域網(wǎng)通信系統(tǒng),企業(yè)內(nèi)部職工可以方便的進(jìn)行交流,可以大大的提高職工的工作效率。也加強(qiáng)了企業(yè)內(nèi)部的整個工作速率,讓企業(yè)更好更快的發(fā)展。同時也避免了通信系統(tǒng)升級和維護(hù)困難的麻煩,是企業(yè)內(nèi)部職工可以輕松的通過局域網(wǎng)與同事交流,下載文件,而無須在意網(wǎng)絡(luò)傳輸出現(xiàn)的中斷現(xiàn)象。也可避免類似于電話占線的問題,增加了任務(wù)分配的新方式,從而提高企業(yè)的工作效率。關(guān)鍵詞:C/S技術(shù),B/S技術(shù),web通信,通信平臺

AbstractWiththeriseoftheInternettechnology,basedonB/Sapplicationmoreandmoregetthewelcomeofthemassesofusers.ByrunningtheprogramB/Sstructure,thedeploymentserver,theclientcanrunonthebrowser.Userscaneasilyusethedifferentclients,programscanrunondifferentplatforms.RelativetoC/Sstructureofthesoftwaretechnology,B/Sonthetechnology,nomatterfromthesecurityofthedata,consistency,andreal-time,affectsexualtimelyservices,webapplicationsarerestrictedisbetterthanthatofC/Stechnology,B/Sininputcosts,thehardwareinvestmentprotection,enterprisesrapidlyexpandingsupportisbetterthanC/S.ThetraditionalcommunicationplatformisbasedonC/Sstructureofdesktopapplications,usersneedtoinstallaspecificclientbeforeuse.Althoughhasthegoodcommunicationfunction,butthisparticularclientinstallercannotbegoodfordifferentplatforms,thedeploymentserverprocessisrelativelycomplicated,thesystemupgradetoupgradetheclientandtheserveratthesametime,leadtotheupgradeandmaintenanceisinconvenient.Thissystemisaimedatthedefectsoftheinconvenience,adoptsB/Scommunicationtechnologydevelopmententerpriseinternalcommunicationplatform.ThedesigngoalofthissystemistoimplementanenterpriseinternalLANcommunicationsystem,internalstaffcancommunicateconvenient,cangreatlyimprovetheworkefficiencyoftheworkers.Alsostrengthenedtherateofthewholeworkwithintheenterprise,makeenterprisebetterandfasterdevelopment.Alsotoavoidthetroublecommunicationsystemupgradeandmaintenancedifficulties,istheenterpriseinternalstaffcaneasilythroughtheLANcommunicationwithcolleagues,downloadfiles,withoutcarenetworktransmissionphenomenonofinterruption.AlsocanavoidsimilartoTheproblemofthelineisbusy,increasedthenewwayofassignedtasks,soastoimprovetheworkefficiencyoftheenterprise.keywords:C/Stechnology,B/Stechnology,networkcommunication,thecommunicationplatform第一章緒論1.1課題研究背景基于web的通信平臺實(shí)際上可以理解為基于B/S結(jié)構(gòu)的通信系統(tǒng)。鑒于C/S結(jié)構(gòu)的即時通信存在的弊端,如維護(hù)和升級方式困難、成本較高,選擇少、運(yùn)行在不通平臺需要不通的客戶端,無法滿足更多的需求。而基于web的通信平臺就比較有優(yōu)勢,首先,用戶無須安裝客戶端,使用瀏覽器即可實(shí)現(xiàn)客戶端功能,其次基于web的軟件軟件更新和系統(tǒng)圍護(hù)更方便。在商用方面,基于web的通信平臺投入的成本比較C/S結(jié)構(gòu)的通信平臺的成本低,而且軟件系統(tǒng)擴(kuò)展性更好,界面更加友好。而谷歌公司退出的Ajax更加完美了web應(yīng)用程序的異步訪問,從而使得web應(yīng)用程序在客戶端運(yùn)行效果更優(yōu)秀,用戶自然更傾向于基于web的通信平臺。為了能夠使得企業(yè)內(nèi)部的通信更具有保障,并且可以在局域網(wǎng)內(nèi)順暢的交流,從而提高企業(yè)內(nèi)部職工的工作效率。從而使得基于web的企業(yè)內(nèi)部通信平臺的設(shè)計和實(shí)現(xiàn)打下了堅實(shí)的背景基礎(chǔ),也促進(jìn)了web通信系統(tǒng)的發(fā)展,進(jìn)而滿足更多的用戶需求。1.2研究的意義企業(yè)內(nèi)部通信系統(tǒng)是為企業(yè)的各種通信交流提供方便的通信平臺,滿足職工對資源的獲取閱讀及基本交流,它已經(jīng)越來越廣泛的應(yīng)用到各大企業(yè)的關(guān)注,并隨著不斷的完善發(fā)揮著越來越重要的作用。使用企業(yè)內(nèi)部通信系統(tǒng)會在下列4方面給企業(yè)帶來切實(shí)的效果:1、為企業(yè)提供局域網(wǎng)即時通信;2、是實(shí)現(xiàn)公共資源的上傳和下載;3、提高資源的利用性和質(zhì)量;4、為職工提供良好的資源共享平臺和交流平臺。1.3課題主要研究內(nèi)容研究企業(yè)內(nèi)部通信平臺帶來的交流方便與安全,加強(qiáng)企業(yè)內(nèi)部職工的工作效率,提高工作質(zhì)量的同時也促進(jìn)了企業(yè)內(nèi)部職工之間的了解與信任。而我的課題研究內(nèi)容主要是無障礙多用戶通信模塊和共同資源管理模塊,如下詳述:信息通信:實(shí)現(xiàn)局域網(wǎng)內(nèi)群聊和私聊功能。系統(tǒng)設(shè)置:系統(tǒng)設(shè)置用于設(shè)置用戶界面、個人信息、好友管理等的功能。用戶搜索:搜索企業(yè)局域網(wǎng)內(nèi)的其他用戶。訪問公共資源:訪問公共資源用于實(shí)現(xiàn)企業(yè)內(nèi)部公共服務(wù)器上資源訪問。1.4論文的組織第一章緒論,主要介紹了企業(yè)內(nèi)部通信平臺的研究背景,意義及其主要的研究內(nèi)容;第二章開發(fā)技術(shù),介紹了在開發(fā)系統(tǒng)當(dāng)中所用到技術(shù);第三章需求分析,詳述了企業(yè)內(nèi)部通信平臺的業(yè)務(wù)流程及系統(tǒng)結(jié)構(gòu)框架;第四章系統(tǒng)設(shè)計,詳述了企業(yè)內(nèi)部通信平臺的系統(tǒng)架構(gòu)和功能的設(shè)計;第五章系統(tǒng)實(shí)現(xiàn)與測試,介紹了企業(yè)內(nèi)部通信平臺功能的實(shí)現(xiàn)及測試;第六章總結(jié)與展望,總結(jié)了這次系統(tǒng)的開發(fā),描述了未來的展望。

第二章開發(fā)技術(shù)本章主要介紹了企業(yè)內(nèi)部通信平臺在開發(fā)過程中運(yùn)用到的相關(guān)開發(fā)技術(shù),主要有Struts2技術(shù),Spring技術(shù),Hibernate技術(shù),JavaScript,Ajax技術(shù)等。2.1Struts2技術(shù)官方解釋,Struts2是Struts1的下一代產(chǎn)品,但是在Struts1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts2框架。它是以WebWork為核心的,所以也是采用攔截器機(jī)制來處理前臺請求,很大程度上與ServletAPI分開,所以Struts2可以理解為WebWork的更新產(chǎn)品。Struts2框架結(jié)構(gòu)圖如圖2-1所示。圖2-1Struts2框架圖2.2Spring技術(shù)Spring是一個開源框架,它的創(chuàng)建是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性??蚣艿闹饕獌?yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時為

J2EE

應(yīng)用程序開發(fā)提供集成的框架。Spring是一種輕量級框架,用Spring開發(fā)的系統(tǒng)不需要依賴Spring中類,它不需要容器支持。所以Spring很適合web開發(fā)。Spring核心技術(shù)可總結(jié)為:IOC:控制反轉(zhuǎn)AOP:面向切面編程2、Spring模塊圖:下圖為Spring的工作圖:圖2-2Spring框架圖Spring的特點(diǎn)有:1、方便解耦,簡化開發(fā)通過Spring提供的IOC容器,我們可以將對象之間的依賴關(guān)系交由Spring進(jìn)行控制,避免硬編碼所造成的過度程序耦合。有了Spring,用戶不必再為單實(shí)例模式類、屬性文件解析等這些很底層的需求編寫代碼,可以更專注于上層的應(yīng)用。2、AOP編程的支持通過Spring提供的AOP功能,方便進(jìn)行面向切面的編程,許多不容易用傳統(tǒng)OOP實(shí)現(xiàn)的功能可以通過AOP輕松應(yīng)付。3、事務(wù)支持在Spring中,我們可以從單調(diào)煩悶的事務(wù)管理代碼中解脫出來,通過聲明式方式靈活地進(jìn)行事務(wù)的管理,提高開發(fā)效率和質(zhì)量。2.3Hibernate技術(shù)是一個對象關(guān)系映射框架,對JDBC進(jìn)行了輕量級的封裝,可以讓開發(fā)者以面OOP編程思維去持久化數(shù)據(jù)。Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate提供的HQL是面向?qū)ο蟮牟樵冋Z言,它在對象型數(shù)據(jù)庫和關(guān)系型數(shù)據(jù)庫之間構(gòu)建了一條快速高效便捷的溝通渠道,HQL語言類似與SQL語言。下面是Hibernate的框架圖:圖2-3Hibernate框架圖Hibernate各層實(shí)現(xiàn)功能說明:Hibernate的核心接口一共有6個,分別為:Session、SessionFactory、Transaction、Query、Criteria和Configuration。這6個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。Hibernate利用緩存機(jī)制和延遲加載,大大提高了數(shù)據(jù)庫的工作效率,且開發(fā)者無須持久化對象。2.4JavaScript,Ajax技術(shù)JavaScript是一種屬于網(wǎng)絡(luò)的腳本語言,已經(jīng)被廣泛用于Web應(yīng)用開發(fā),常用來為網(wǎng)頁添加各式各樣的動態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實(shí)現(xiàn)自身的功能的。Javascript腳本語言同其他語言一樣,有它自身的基本數(shù)據(jù)類型,表達(dá)式和算術(shù)運(yùn)算符及程序的基本程序框架。Javascript提供了四種基本的數(shù)據(jù)類型和兩種特殊數(shù)據(jù)類型用來處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達(dá)式則可以完成較復(fù)雜的信息處理。Javascript最初是做表單驗證的,隨著互聯(lián)網(wǎng)的發(fā)展,Javascript的作用越來越大。AJAX即“Asynchronous

Javascript

And

XML”(異步JavaScript和XML),通過在后臺與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX可以使網(wǎng)頁實(shí)現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進(jìn)行更新。第三章需求分析本章主要詳述了企業(yè)內(nèi)部通信平臺的需求設(shè)計,系統(tǒng)業(yè)務(wù)的流程,資源系統(tǒng)的結(jié)構(gòu)框架,各個模塊的功能分析。3.1需求說明企業(yè)內(nèi)部通信平臺主要包括:1、信息通信:信息通信是企業(yè)內(nèi)部通信系統(tǒng)的核心功能,它用于不同職工之間的通信,這種通信方式能夠?qū)崿F(xiàn)多個職工之間的通信。用戶可以和所有在線用戶進(jìn)行群聊或者與其他用戶私聊。1.1、群聊:用戶登錄成功后,通過點(diǎn)擊群聊按鈕顯示群聊界面,用戶可以輸入消息并發(fā)送消息給其他在線好友,同時頁面也會自動接收和刷新該群里的所有消息。1.2、私聊:用戶登錄成功后,在好友列表里,通過點(diǎn)擊聯(lián)系按鈕,進(jìn)入與對方私聊的界面。用戶同樣可以編寫信息、發(fā)送信息和接收、刷新兩人的聊天信息。該通信功能可以優(yōu)化用戶間交流方式和質(zhì)量,從而避免類似于電話占線的不便,同時也提高了用戶的工作和學(xué)習(xí)效率。2、系統(tǒng)設(shè)置:系統(tǒng)設(shè)置用于設(shè)置用戶界面、個人信息、密碼設(shè)置、添加分組、刪除分組、好友管理等的功能。用戶登錄成功后,可以通過點(diǎn)擊菜單中的設(shè)置按鈕進(jìn)入系統(tǒng)設(shè)置界面,該界面包括信息設(shè)置、密碼設(shè)置、分組管理、好友管理等功能,用戶可以通過不同的需要進(jìn)行不同操作。2.1、個人信息設(shè)置:用戶可以修改自己的基本信息,如姓名、手機(jī)號碼、郵箱等,但是不能修改賬號。2.2、密碼設(shè)置:當(dāng)用戶需要修改密碼時候,需要輸入原密碼和新密碼以及確認(rèn)密碼。只有原密碼正確,新密碼和確認(rèn)密碼一致才能成功修改密碼。2.3、分組管理:用戶可以去添加一個分組和刪除分組。添加分組的時候,分組名必須不能和已有的分組名重復(fù),若是重復(fù),添加分組失敗。刪除分組時,用戶不能刪除系統(tǒng)默認(rèn)的那個分組,默認(rèn)的組后面界面會提示不可刪除。系統(tǒng)設(shè)置幫助用戶管理個人的資料、密碼、以及對好友的管理,從而加強(qiáng)用戶對該系統(tǒng)的使用,達(dá)到良好的體驗度。3、用戶搜索:用戶搜索用于搜索企業(yè)局域網(wǎng)內(nèi)的其他用戶。點(diǎn)擊菜單中的搜索按鈕,輸入搜索條件系統(tǒng)會根據(jù)用戶帳號或IP搜索所有計算機(jī)上的用戶。3.1、精確搜索:用戶可以輸入賬號和IP地址進(jìn)行精確搜索某個用戶的信息。3.2、范圍搜索:也可以根據(jù)IP地址范圍進(jìn)行批量搜索該范圍內(nèi)的計算機(jī)上的所有用戶。搜索完成后,如果搜索到結(jié)果則顯示結(jié)果,若沒有搜索到結(jié)果則提示用戶沒有查找到結(jié)果。該功能在搜索到的用戶信息后面還有一個加為好友的功能。用戶可以選擇加為好友。4、訪問公共資源:訪問公共資源用于實(shí)現(xiàn)企業(yè)內(nèi)部公共服務(wù)器上資源訪問的功能。用戶可以在這里上傳和下載所需要的資源。4.1、用戶可以看到系統(tǒng)上的所有共享資源及該資源相關(guān)的信息,如文件名、文件大小、修改時間等。4.2、在每條資源后面有下載按鈕,提供下載。4.3、同時該模塊也有上傳的功能,用戶通過點(diǎn)擊上傳按鈕進(jìn)行上傳。資源管理模塊旨在方便用戶下載和上傳共享資源,提高用戶的工作和學(xué)習(xí)效率,使得用戶間的信息交流更方便和快捷。3.2業(yè)務(wù)流程該系統(tǒng)的主要流程是用戶通過帳號和密碼登錄服務(wù)器,登錄成功后,顯示用戶使用的主界面。主界面包括用的頭像,資料,在線狀態(tài)以及功能菜單。用戶可以通過相關(guān)的功能鍵進(jìn)行設(shè)置頁面、基本資料修改、密碼更改、上傳和下載共享資源文件、進(jìn)行群聊和私聊、也可根據(jù)帳號和IP搜索好友和添加好友。當(dāng)用戶想退出該系統(tǒng),點(diǎn)擊退出按鈕即可實(shí)現(xiàn)退出通信平臺。3.3系統(tǒng)結(jié)構(gòu)功能此系統(tǒng)主要由7大模塊組成:用戶信息管理,即時內(nèi)部通信,資源文件管理,搜索其他用戶,系統(tǒng)設(shè)置,消息提示及登錄和注冊功能。1、用戶信息管理功能:對用戶信息的查詢,更新操作;2、即時內(nèi)部通信功能:實(shí)現(xiàn)局域網(wǎng)內(nèi)即時通信;3、資源文件管理功能:對共享資源的上傳和下載;4、索其他用戶功能:對局域網(wǎng)內(nèi)其他用戶的搜索和添加;5、統(tǒng)設(shè)置功能:對系統(tǒng)頁面設(shè)置;6、消息提示功能:用于用戶間的消息提示。7、登錄和注冊功能:用戶可以注冊賬號和登錄賬號系統(tǒng)模塊結(jié)構(gòu)如圖:圖3-1系統(tǒng)模塊結(jié)構(gòu)圖3.4功能分析本系統(tǒng)應(yīng)能夠方便的實(shí)現(xiàn)企業(yè)內(nèi)部即時通信,包括即時內(nèi)部通信模塊、搜索其他用戶模塊、資源文件管理模塊、消息管理模塊、系統(tǒng)設(shè)置模塊,下面對這幾個進(jìn)行詳述:1、即時內(nèi)部通信模塊為促進(jìn)企業(yè)內(nèi)部職工的通信,這個功能可實(shí)現(xiàn)群聊和私聊。用戶登錄成功后,好友列表立即刷新顯示好友信息。當(dāng)前用戶可以和所有在線用戶進(jìn)行聊天,另一個用戶收到聊天請求后點(diǎn)擊查看,兩人建立連接,就可以進(jìn)行聊天通信,且聊天消息實(shí)時刷新。1.1、用戶通過編輯區(qū)編輯消息,點(diǎn)擊發(fā)送消息按鈕發(fā)送消息即可完成給對方發(fā)送消息的功能。1.2、接收消息,當(dāng)用戶或者對方發(fā)送消息時候,系統(tǒng)會實(shí)時刷新聊天面板的聊天信息展示區(qū)的信息,而無須用戶手動刷新。2、搜索其他用戶模塊2.1、用戶可以根據(jù)帳號和IP號進(jìn)行搜索附近(局域網(wǎng)內(nèi))的好友。2.2、用戶也可根據(jù)IP地址的范圍搜索附近(局域網(wǎng)內(nèi))的計算機(jī)上的所有用戶。2.3、搜索到信息則提示“提示搜索到信息”,并將搜索結(jié)果顯示在頁面上;沒有搜索到信息則“未搜索到信息”,不顯示結(jié)果。在搜索到的用戶信息后面有添加好友的功能,用戶可以添加該好友,添加好友需要等待對方回復(fù)的消息。對方在消息中心可以讀到添加好友的請求,若是對方同意,則添加好友成功,若是對方拒絕,則添加好友失敗,同意或是拒絕的消息可在消息中心查看。3、資源文件管理模塊用戶可以完成對資源文件的下載和上傳。當(dāng)用戶點(diǎn)擊菜單鍵的文件功能圖標(biāo)時,進(jìn)入文件資源管理中心,顯示系統(tǒng)所有的公共資源,包括文件名、文件類型、文件大小、修改時間、文件提供者,也會提示共有多少條資源,當(dāng)前第幾頁,支持翻頁功能。3.1、每條文件信息后有下載按鈕,用戶可以點(diǎn)擊下載對應(yīng)的文件。3.2、在這個頁面有一個“上傳我的共享文件”按鈕,用戶可以根據(jù)工作所需上傳相應(yīng)的文件。4、群聊功能模塊本系統(tǒng)支持群聊功能。所有在線的用戶可以進(jìn)行群聊。當(dāng)用戶點(diǎn)擊菜單的群聊按鈕時,顯示群聊頁面,用戶可以發(fā)送消息,也可以接受消息,且消息內(nèi)容實(shí)時刷新。4.1、用戶在群聊界面的信息編輯區(qū)編寫信息,點(diǎn)擊發(fā)送按鈕發(fā)送信息。4.2、接收消息時候,只要群里的某個人發(fā)送消息,群里所有人都可以接收到該消息,且消息實(shí)時刷新,不需要用戶去手動刷新。5、消息管理模塊該模塊是用來公告消息的,包括系統(tǒng)消息、好友請求聊天消息、好友添加消息等。并實(shí)時更新消息內(nèi)容。用戶可以根據(jù)消息選擇不同的功能。如接受好友的添加、接受好友的聊天請求、接受系統(tǒng)消息。6、系統(tǒng)設(shè)置模塊該模塊包括四個子功能模塊,分別是:用戶信息設(shè)置、密碼安全中心、分組功能設(shè)置、好友管理中心。下面對著四個子模塊進(jìn)行進(jìn)行詳細(xì)說明:6.1、用戶信息設(shè)置功能模塊:為了保證用戶的信息,信息管理的有對用戶基本資料的管理,用戶可進(jìn)行修改自己的基本信息,如姓名、部門、職位、手機(jī)號等,但是不能修改用戶賬號。修改信息成功后,主頁面的當(dāng)前用戶信息顯示立即刷新為新修改的信息。6.2、密碼安全中心功能模塊:當(dāng)用戶點(diǎn)擊該功能,顯示密碼設(shè)置頁面,用戶需要輸入舊密碼和新密碼已經(jīng)確認(rèn)密碼。當(dāng)沒有輸入密碼會js提示相關(guān)信息,當(dāng)新密碼和舊密碼不一致js提示兩次密碼不一致。然后進(jìn)行后臺處理修改密碼功能,當(dāng)舊密碼符合,前天則提示密碼修改成功,當(dāng)舊密碼不符合,前天則提示密碼修改失敗,需要核對舊密碼是否正確。6.3、分組功能設(shè)置功能模塊:6.3.1、添加分組:顯示當(dāng)前所有的的分組信息,用戶可以看到已有的分組,再根據(jù)自己所需選擇添加分組。但是當(dāng)要添加的分組名與之前的分組有重復(fù),前臺則提示添加分組失敗,只有不重復(fù)的分組名才可添加。6.3.2、刪除分組:顯示當(dāng)前所有的的分組信息,用戶可以看到已有的分組,再根據(jù)自己所需選擇刪除分組。但是為了維護(hù)分組好友的安全,系統(tǒng)默認(rèn)的那一個分組是不能刪除的。6.3.3、好友管理中心功能模塊:該模塊是對當(dāng)前用戶的好友進(jìn)行管理的??蓜h除和移動好友。7、登錄和注冊功能模塊:7.1、登錄模塊:該模塊實(shí)現(xiàn)用戶登錄的功能,登錄成功跳轉(zhuǎn)到主頁面,登錄失敗仍在登錄頁面,并提示用戶登錄失敗。用戶也可通過登錄模塊中的注冊按鈕去注冊一個賬戶。7.2、注冊模塊:用戶可以填寫注冊信息完成注冊功能,注冊成功后跳轉(zhuǎn)到登錄頁面,提示給用戶注冊的帳號,以便用戶進(jìn)行登錄。

第四章系統(tǒng)設(shè)計本章主要詳述企業(yè)內(nèi)部通信平臺的框架設(shè)計,對應(yīng)的數(shù)據(jù)庫表的設(shè)計,多表之間的聯(lián)系,以及個功能的詳細(xì)設(shè)計分析。4.1系統(tǒng)架構(gòu)設(shè)計本系統(tǒng)應(yīng)用SSH框架技術(shù)(MVC模型)將系統(tǒng)分為三個層次:視圖層、控制層和模型層。分層結(jié)構(gòu)將用戶界面、業(yè)務(wù)邏輯和數(shù)據(jù)進(jìn)行了分離,實(shí)現(xiàn)了系統(tǒng)內(nèi)部松耦合,以靈活、快速地響應(yīng)業(yè)務(wù)需求的變化該系統(tǒng)主要使用SSH架構(gòu)。系統(tǒng)各層實(shí)現(xiàn)功能說明:View層是與用戶的交互層,采用JSP頁面實(shí)現(xiàn)與用戶的交互。Control層是負(fù)責(zé)項目中業(yè)務(wù)功能實(shí)現(xiàn)流程的管理工作,由Struts2框架完成。Model層主要是一些實(shí)現(xiàn)具體業(yè)務(wù)功能的類,包括實(shí)體類,業(yè)務(wù)類,數(shù)據(jù)庫操作類,Action類等組成。4.2數(shù)據(jù)庫設(shè)計MySQL作為本系統(tǒng)的數(shù)據(jù)庫,因為MySQL是輕量級數(shù)據(jù)庫,且十分好移植和安裝。并且SQL是一個通用的、功能性極強(qiáng)的關(guān)系數(shù)據(jù)庫語言。其優(yōu)點(diǎn)有:

1、綜合統(tǒng)一

2、高度非過程化

3、面向集合的操作方式根據(jù)企業(yè)內(nèi)部通信平臺的需求分析,功能分析,以及相關(guān)的表聯(lián)系,得出用戶信息數(shù)據(jù)表的結(jié)構(gòu)及相關(guān)約束。用戶信息表如圖表4-1所示表4-1用戶信息表(表名:user)列名數(shù)據(jù)類型長度允許空主鍵外鍵描述idint11noyesno唯一標(biāo)識uidvarchar10yesnono用戶帳號pwdvarchar20yesnono用戶密碼namevarchar20yesnono用戶名headvarchar默認(rèn)yesnono用戶頭像sexvarchar默認(rèn)yesnono性別deptvarchar默認(rèn)yesnono所在部門positionvarchar默認(rèn)yesnono所處職位phonevarchar默認(rèn)yesnono手機(jī)號碼mailvarchar默認(rèn)yesnono電子郵箱detailvarchar默認(rèn)yesnono備注信息ipvarchar默認(rèn)yesnono用戶ipstatevarchar默認(rèn)nonono用戶狀態(tài)公共資源表:用于公共資源管理,如圖表4-2所示:表4-2公共資源表(表名:file)列名數(shù)據(jù)類型長度允許空主鍵外鍵描述idint11noyesno唯一標(biāo)識namevarchar默認(rèn)yesnono文件名字typevarchar默認(rèn)yesnono文件類型sizevarchar默認(rèn)yesnono文件大小datevarchar默認(rèn)yesnono上傳日期comefromvarchar默認(rèn)yesnoyes用戶帳號用戶關(guān)系表:用于記錄用戶間的關(guān)系如圖表4-3所示:表4-3用戶關(guān)系表(表名:relation)列名數(shù)據(jù)類型長度允許空主鍵外鍵描述idint11noyesno唯一標(biāo)識uid1varchar默認(rèn)nonoyes當(dāng)前用戶uid2varchar默認(rèn)nonoyes好友用戶relationint默認(rèn)nonono關(guān)系類型4.3詳細(xì)設(shè)計下面以本系統(tǒng)的幾個模塊,即時內(nèi)部通信模塊、搜索其他用戶模塊、資源文件管理模塊、消息管理模塊和系統(tǒng)設(shè)置模塊進(jìn)行詳細(xì)闡述,通過程序描述,功能,流程邏輯,核心算法來闡述它們的詳細(xì)設(shè)計。4.3.1公共資源管理功能1、程序描述系統(tǒng)中的公共資源管理在維護(hù)過程中,局域網(wǎng)內(nèi)企業(yè)職工可以在資源列表中下載和上傳工作中相關(guān)的資源,以便更好的提交工作文檔或下載工作任務(wù)分配表。2、功能公共資源管理的功能結(jié)構(gòu)圖如下: 圖4-1公共資源管理結(jié)構(gòu)圖3、公共資源管理順序圖以公共資源管理的文件上傳為例順序圖如下所示:圖4-2公共資源文件上傳時序圖4、文件資源管理的核心算法 以文件資源上傳為例的算法圖如下所示:圖4-3文件資源上傳流程圖在文件資源管理頁面中,當(dāng)用戶點(diǎn)擊上傳資源文件按鈕時,通過Ajax請求跳出文件上傳頁面,用戶可根據(jù)文件上傳頁面提示,點(diǎn)擊選擇文件按鈕,彈出文件選擇窗口,接著選擇需要上傳的文件。選擇成功后,頁面顯示要上傳文件的信息,點(diǎn)擊立即上傳按鈕即可實(shí)現(xiàn)文件上傳功能。文件上傳成功或是失敗后都跳轉(zhuǎn)到主頁面,并顯示成功或是失敗信息給用戶。4.3.2群聊通信功能1、程序描述在用戶登錄成功后跳轉(zhuǎn)到用戶主頁面,用戶欄里時刻刷新所有上線的用戶,當(dāng)用戶點(diǎn)擊功能菜單的群聊按鈕時,系統(tǒng)信息欄出現(xiàn)群聊界面,用戶可以與所有在線的其他人進(jìn)行群聊。該功能也是時刻刷新聊天信息欄的內(nèi)容。2、功能群聊通信功能結(jié)構(gòu)圖如下:圖4-4群聊通信結(jié)構(gòu)圖進(jìn)入群聊通信頁面,即可實(shí)現(xiàn)與其他在線用戶進(jìn)行群聊通信,當(dāng)用戶登錄成功后第一次進(jìn)入群聊頁面會自動加載之前的群聊信息,且群聊信息也是時刻跟新的,無須用戶手動刷新。3、群聊通信的順序圖群聊通信的順序圖如下:圖4-5群聊通信時序圖對以上群聊通信的時序圖的描述:當(dāng)用戶點(diǎn)擊群聊按鈕時,進(jìn)入群聊頁面talkList.jsp,用戶在該頁面可以進(jìn)行編輯消息和發(fā)送消息,同時系統(tǒng)也可以自動刷新聊天消息。頁面中使用了Ajax和定時器達(dá)到時刻請求局部刷新信息的效果。4、群聊通信功能的核心算法群聊通信功能的算法流程圖如下:圖4-6群聊通信算法流程圖4.3.3私聊通信功能1、程序描述該功能能實(shí)現(xiàn)兩個用戶間的通信,當(dāng)前用戶可通過點(diǎn)擊好友列表的功能按鈕去和要聯(lián)系的好友建立連接,只要對方在線,并且點(diǎn)擊連接請求,兩人即可進(jìn)行聊天,都可進(jìn)行發(fā)送和接受消息。2、功能私聊通信功能結(jié)構(gòu)圖如下:圖4-7私聊通信結(jié)構(gòu)流程圖說明:當(dāng)用戶要進(jìn)行聊天時,需要對方接收聊天請求,兩人才建立點(diǎn)對點(diǎn)聊天,當(dāng)對方不在線時,此時步支持聊天。3、私聊通信順序圖私聊通信順序圖如下:圖4-8私聊通信時序圖該時序圖需要注意的是,聊天內(nèi)容信息是通過Ajax實(shí)時刷新的,否則會出現(xiàn)信息接收延遲,不能達(dá)到即時聊天的效果。4、私聊通信核心算法私聊通信的算法流程圖如下:圖4-9私聊通信算法流程圖說明,該算法中的等待回復(fù)指對方是否接受消息并回復(fù),如果對方?jīng)]有回復(fù),當(dāng)前用戶需要繼續(xù)等待或者關(guān)閉此次聊天頁面。4.3.4消息提示功能1、程序描述消息提示功能是用戶間消息傳遞的橋接,也是系統(tǒng)與用戶間的橋接。通過此功能,用戶之間的聊天請求得以傳遞、添加好友請求也可以在此轉(zhuǎn)發(fā)、還可以接收系統(tǒng)消息。2、功能消息提示功的功能結(jié)構(gòu)圖如下:圖4-10消息提示功能結(jié)構(gòu)流程圖3、消息提示功能順序圖消息提示功能順序圖如下所示:圖4-11消息提示功能時序圖說明:消息提示時序圖是實(shí)時刷新消息的,當(dāng)用戶查看消息時候主頁面發(fā)送請求,將消息展示頁面刷新。4、消息提示功能核心算法消息提示功能算法流程圖如下:圖4-12消息提示功能算法流程圖說明:消息提示中心功能是異步刷新的,無須手動刷新。是否刷新實(shí)際上是判斷消息是否有更新,更新的話顯示消息。4.3.5系統(tǒng)設(shè)置功能1、程序描述系統(tǒng)設(shè)置包括了四個部分,分別是:用戶信息設(shè)置、密碼安全中心、分組功能設(shè)置、好友管理中心。用戶可以根據(jù)這些功能更好的使用本系統(tǒng),使得通信更加和諧和人性化。2、功能系統(tǒng)設(shè)置的結(jié)構(gòu)圖如下:圖4-13系統(tǒng)設(shè)置功能結(jié)構(gòu)流程圖說明:用戶可以根據(jù)不同的需求進(jìn)行選擇不同操作,用戶信息設(shè)置可以修改用戶的基本不信息、密碼安全中心可以修改密碼、分組功能可以添加分組和刪除分組、好友管理中心可以刪除好友和移動好友。3、系統(tǒng)設(shè)置功能順序圖以用戶信息設(shè)置為例來說明,用戶信息設(shè)置時序圖如下:圖4-14用戶信息設(shè)置時序圖該時序圖解釋了用戶信息設(shè)置的流程,首先選擇系統(tǒng)設(shè)置的用戶信息設(shè)置,顯示用戶信息設(shè)置界面,根據(jù)操作,修改信息,提交修改后進(jìn)行后臺處理,接著將處理的結(jié)果返回給主頁面進(jìn)行顯示。4、系統(tǒng)功能核心算法由于系統(tǒng)功能較多,本次介紹用戶信息設(shè)置的算法,下面是用戶信息設(shè)置的核心算法流程圖:圖4-15用戶信息設(shè)置算法流程圖說明:用戶信息修改只是系統(tǒng)設(shè)置里面的一個子功能,其中密碼安全中心、分組功能設(shè)置、好友管理中心將在后面的系統(tǒng)實(shí)現(xiàn)中詳細(xì)介紹。4.3.6搜索功能1、程序描述查找功能解決了用戶需要查找局域網(wǎng)內(nèi)其他用戶的困難,通過此功能可以實(shí)現(xiàn)在局域網(wǎng)內(nèi)查找其他用戶。查找分為,具體查找和范圍查找。1.1、具體查找是根據(jù)用戶的帳號或者局域網(wǎng)內(nèi)IP號進(jìn)行查找;1.2、范圍查找根據(jù)用戶輸入的起始IP和結(jié)束IP范圍內(nèi)查找。2、查找功能的結(jié)構(gòu)圖如下:圖4-16搜索功能結(jié)構(gòu)流程圖3、搜索功能順序圖搜索功能順序圖如下:圖4-17搜索功能時序圖4、查找功能核心算法圖4-18搜索功能算法流程圖說明:搜索功能氛圍精確查找和范圍查找,用戶可以根據(jù)自己的所需進(jìn)行不同的搜索。4.3.7登陸和注冊功能1、程序描述作為本系統(tǒng)的基礎(chǔ)功能,必須要有登錄和注冊功能,可實(shí)現(xiàn)用戶去注冊賬號和登錄該系統(tǒng)進(jìn)行聊天。2、功能登錄和注冊結(jié)構(gòu)圖如下:圖4-19登錄和注冊結(jié)構(gòu)流程圖3、順序圖登錄和注冊順序圖如下:圖4-20登錄時序圖圖4-21注冊時序圖4、核心算法圖4-22登錄和注冊算法流程圖本章主要詳述了企業(yè)內(nèi)部通信系統(tǒng)的文件資源管理模塊、群聊通信功能模塊、私聊通信功能模塊、消息提示功能模塊、系統(tǒng)設(shè)置功能模塊、查找功能模塊和登錄注冊的系統(tǒng)設(shè)計,對應(yīng)的數(shù)據(jù)庫表的字段的設(shè)計,及頁面定時刷新的實(shí)現(xiàn)以及展示了功能實(shí)現(xiàn)的流程圖和順序圖。

第五章系統(tǒng)實(shí)現(xiàn)與測試本章是對企業(yè)內(nèi)部通信系統(tǒng)的公共資源管理模塊中的資源文件上傳的的系統(tǒng)事項和測試的一個闡述,主要從開發(fā)平臺,資源文件上傳的程序結(jié)構(gòu)圖,資源文件上傳界面展示,模塊的核心代碼,系統(tǒng)測試,這幾方面進(jìn)行詳細(xì)的說明。5.1程序結(jié)構(gòu)TimonC為項目的名稱,也是項目的根目錄。WebContent為Web目錄,包括圖片目錄img、css、js和jspPage文件夾及JSP文件。WEB-INF目錄、lib目錄及web.xml依然為固定的目錄和文件。JavaResources包下有conf文件夾和src文件夾。1、其中src目錄包含如下幾個部分::Action包(com.xmq.action):該包里面放的系統(tǒng)的Action。Service包(com.xmq.service):該包用來放系統(tǒng)的服務(wù)類。DAO包(com.xmq.dao):該包放的是系統(tǒng)的處理方法類。Tools包c(diǎn)om.xmq.tools:該包該包放的是系統(tǒng)的幫助類。Test包(com.xmq.test):該包用了放單元測試類。Entity包(com.xmq.entity):該包放的是系統(tǒng)的實(shí)體類。2、其中conf目錄包含如下幾個部分::applicationContext.xml:Spring配置文件。beans.xml:Spring的beans配置文件。perties:數(shù)據(jù)庫參數(shù),用于配置數(shù)據(jù)庫。perties:日志參數(shù),用于控制臺輸出日志信息。struts.xml:Struts2配置文件,配置Struts2的Action等信息。hibernate.cfg.xml:Hibernate配置文件,配置Hibernate的參數(shù)。5.2系統(tǒng)的模塊具體實(shí)現(xiàn)5.2.1公共資源管理功能實(shí)現(xiàn)1、功能分析:公共資源管理實(shí)現(xiàn)了文件上傳和下載功能,用戶可以選擇性地上傳和文件下載。文件上傳是共享資源的一個字模塊,文件上傳功能主要是滿足用戶在工作中上傳文件的需求而設(shè)計的。2、Action的代碼實(shí)現(xiàn): publicStringexecute()throwsException{ Stringroot="D:/timonc"; Filef=newFile(root); if(!f.exists()){f.mkdir();} SrcFilesrcFile=newSrcFile();srcFile.setName(fileFileName+""); srcFile.setType(fileFileName.substring(fileFileName.lastIndexOf("."))); srcFile.setDate(DateTool.getCurrentDate());srcFile.setSize(file.length()+"B"); Map<String,Object>session=ActionContext.getContext().getSession(); Useru=(User)session.get("user");srcFile.setComefrom(u.getUid()); InputStreamis=newFileInputStream(file); OutputStreamos=newFileOutputStream(newFile(root,fileFileName)); byte[]buffer=newbyte[1024];intlength=0; while(-1!=(length=is.read(buffer,0,buffer.length))){ os.write(buffer,0,length); } if(os!=null){os.close();} if(is!=null){is.close();} intresult=fs.insertFile(srcFile); if(result==1){ ActionContext.getContext().put("info","文件上傳成功"); }else{ ActionContext.getContext().put("info","文件上傳失敗"); } return"success"; }3、配置文件1.配置beans.xml文件,關(guān)于文件的配置部分如下: <beanid="fa"class="com.xmq.action.FileAction"><propertyname="fs"ref="fs"></property></bean><beanid="ufa"class="com.xmq.action.UploadFileAction"><propertyname="fs"ref="fs"></property></bean>Struts2配置文件,關(guān)于文件的配置部分如下:<actionname="uploadFileAction"class="com.xmq.action.UploadFileAction"><resultname="success">/main.jsp</result> <resultname="fail">/main.jsp</result></action> <resultname="input">/error.jsp</result></action>5.2.2群聊通信功能實(shí)現(xiàn)1、功能分析:用戶可以通過功能按鈕實(shí)現(xiàn)群聊功能,即可以和在線的所有用戶進(jìn)行群聊。2、Action的代碼實(shí)現(xiàn):publicStringsaveTalk(){ TalkMestalk=newTalkMes(); talk.setTouxiang(touxiang); talk.setName(name); talk.setText(text); Map<String,Object>application=ActionContext.getContext() .getApplication(); List<TalkMes>talks=(List<TalkMes>)application.get("talks"); if(talks==null){ talks=newArrayList<>(); } talks.add(talk);application.put("talks",talks); return"success"; }3、配置文件<actionname="talkAction"class="com.xmq.action.TalkAction"method="saveTalk"><resultname="success">/jspPage/talkInfo.jsp</result></action><actionname="refreshTalkAction"class="com.xmq.action.RefreshUersListAction"method="refreshTalkList"><resultname="success">/jspPage/talkInfo.jsp</result></action>5.2.3私聊通信功能實(shí)現(xiàn)1、功能分析:用戶可以通過功能按鈕實(shí)現(xiàn)私聊功能,即可以和在線的單個或多個用戶進(jìn)行私聊。2、Action的代碼實(shí)現(xiàn): publicStringsaveTalk(){ TCMessage2msg=this.getTMC(); Map<String,Object>application=ActionContext.getContext() .getApplication(); List<TCMessage2>msgs=(List<TCMessage2>)application.get("msgs"); if(msgs==null){ msgs=newArrayList<TCMessage2>();msgs.add(msg); application.put("msgs",msgs); }else{ if(!this.isConnected(msgs,msg.getFuid(),msg.getTuid())){ msgs.add(msg);application.put("msgs",msgs); } } List<TCMessage>tcms=(List<TCMessage>)application.get("tcms"); if(tcms==null){ tcms=newArrayList<TCMessage>(); } TCMessagetcm=newTCMessage();tcm.setFromUid(fuid); tcm.setToUid(tuid);tcm.setHead(fhead); tcm.setName(fname);tcm.setText(uText); tcms.add(tcm);application.put("tcms",tcms); ActionContext.getContext().put("key1",fuid); ActionContext.getContext().put("key2",tuid); return"success"; }3、配置文件<actionname="twoTalkAction"class="com.xmq.action.TwoTalkAction"method="saveTalk"><resultname="success">/jspPage/twoTalkInfo.jsp</result></action><actionname="twoTalk2Action"class="com.xmq.action.TwoTalkAction"method="saveTalk2"><resultname="success">/jspPage/twoTalkInfo.jsp</result></action>5.2.4消息提示功能實(shí)現(xiàn)1、功能分析:該功能實(shí)現(xiàn)用戶間的消息傳遞,如請求聊天的消息、好友請求等。2、Action的代碼實(shí)現(xiàn): publicStringrefreshMessageAction(){ Map<String,Object>application=ActionContext.getContext() .getApplication(); List<TCMessage2>msgs=(List<TCMessage2>)application.get("msgs"); if(msgs==null||msgs.size()==0){ ActionContext.getContext().put("info","還沒有收到消息哦"); }else{ intcount=this.messageCount(msgs); if(count!=0){ ActionContext.getContext().put("info","您收到"+count+"條消息"); }else{ ActionContext.getContext().put("info","您還沒有收到消息"); } } return"success"; }3、配置文件<actionname="refreshMessageAction"class="com.xmq.action.RefreshUersListAction"method="refreshMessageAction"><resultname="success">/jspPage/message.jsp</result></action>5.2.5系統(tǒng)設(shè)置功能實(shí)現(xiàn)1、功能分析:系統(tǒng)設(shè)置包括了四個部分,分別是:用戶信息設(shè)置、密碼安全中心、分組功能設(shè)置、好友管理中心。2、Action的代碼實(shí)現(xiàn): publicStringsetInfo(){ Useruser1=us.setInfo(user); if(user1!=null){ ActionContextctx=ActionContext.getContext(); ctx.put("info","信息修改成功");Map<String,Object>session=ActionContext.getContext().getSession(); session.put("user",user1);return"success"; } return"fail"; } publicStringpwd(){ inti=us.setPwd(Integer.parseInt(id),pwdOld,pwdNew); if(1==i){ ActionContext.getContext().put("info","密碼修改成功"); return"success"; }else{ActionContext.getContext().put("info","密碼修改失敗,請核對原密碼是否輸入正確"); return"fail"; } }publicStringaddFenZu(){ Map<String,Object>session=ActionContext.getContext().getSession(); Useruser1=(User)session.get("user"); if(rs.insertFenZu(user1.getUid(),groupName)){ ActionContext.getContext().put("info","添加分組成功"); }else{ ActionContext.getContext().put("info","添加分組失敗,請核對組名是否已經(jīng)存在"); } return"success";}publicStringdelFenZu(){ Map<String,Object>session=ActionContext.getContext().getSession(); Useruser1=(User)session.get("user"); if(rs.delFenZu(user1.getUid(),groupName)){ActionContext.getContext().put("info","刪除組:"+groupName+"成功"); }else{ActionContext.getContext().put("info","刪除組:"+groupName+"組失敗"); } return"success";}publicStringaddUid2(){ Map<String,Object>session=ActionContext.getContext().getSession(); Useruser1=(User)session.get("user"); if(rs.addUid2(user1.getUid(),uid2)){ActionContext.getContext().put("info","好友添加成功"); }else{ActionContext.getContext().put("info","好友添加失敗,TA可能就在你的好友里,先找找看"); } return"success";}publicStringdelUid2(){Map<String,Object>session=ActionContext.getContext().getSession(); Useruser1=(User)session.get("user"); if(rs.delUid2(user1.getUid(),uid2)){ ActionContext.getContext().put("info","好友已經(jīng)被刪除"); }else{ ActionContext.getContext().put("info","刪除好友失敗"); } return"success";}publicStringmoveUid2(){ Map<String,Object>session=ActionContext.getContext().getSession(); Useruser1=

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論