2019年辦公自動(dòng)化系統(tǒng)的消息管理模塊的設(shè)計(jì)與實(shí)現(xiàn)本科_第1頁(yè)
2019年辦公自動(dòng)化系統(tǒng)的消息管理模塊的設(shè)計(jì)與實(shí)現(xiàn)本科_第2頁(yè)
2019年辦公自動(dòng)化系統(tǒng)的消息管理模塊的設(shè)計(jì)與實(shí)現(xiàn)本科_第3頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本科畢業(yè)論文(設(shè)計(jì))院系 軟件學(xué)院 題目辦公自動(dòng)化系統(tǒng)的消息管理模塊的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名馬力學(xué)號(hào)071251100年級(jí)2007級(jí)專業(yè)軟件工程指導(dǎo)教師職稱論文提交日期摘要伴隨著數(shù)字商業(yè)的到來(lái),企業(yè)的管理意識(shí)和環(huán)境都發(fā)生了巨大的變化,企業(yè)的管理結(jié)構(gòu)由多層次結(jié)構(gòu)向扁平化管理結(jié)構(gòu)轉(zhuǎn)化;數(shù)字時(shí)代企業(yè)的信息量和溝通數(shù)量巨大,為了提高企業(yè)的管理效率,必須提升溝通的質(zhì)量,要求企業(yè)辦公高效率、自動(dòng)化,辦公自動(dòng)化系統(tǒng)應(yīng)運(yùn)而生。辦公自動(dòng)化系統(tǒng)跨越系統(tǒng)管理、日程管理、考勤管理、消息管理、文檔管理等五個(gè)領(lǐng)域。JSP主要特點(diǎn)是在HTML頁(yè)面中加入Java代碼片段,或者使用各種JSP標(biāo)簽,包括使用用戶標(biāo)簽,構(gòu)成JSP網(wǎng)頁(yè)。Hibernate允許程序開(kāi)發(fā)者采用面向?qū)ο蟮姆绞絹?lái)操作關(guān)系數(shù)據(jù)庫(kù)。JavaMail是Sun公司為方便開(kāi)發(fā)人員在應(yīng)用程序中能夠?qū)崿F(xiàn)郵件發(fā)送和接受功能而提供的一套標(biāo)準(zhǔn)開(kāi)發(fā)包。本項(xiàng)目組由5人組成,完成了辦公自動(dòng)化系統(tǒng)的全部?jī)?nèi)容,本人完成了消息管理子系統(tǒng)(站內(nèi)信方式和郵件方式),同時(shí)擔(dān)當(dāng)評(píng)審負(fù)責(zé)人。AbstractWiththeadventofdigitalcommerce,enterprisemanagementandenvironmentaiawareness,greatchangeshavetakenplace,theenterprise'smanagementstructureconsistsofamulti-levelstructureintoaflatmanagementstructure;thedigitalagethenumberofbusinesseslargeamountofinformationandcommunication,inordertoimproveenterprisemanagementefficiency,toimprovethequalityofcommunication,requiringbusinessofficeefficiency,automation,officeautomationsystemcameintobeing.Officeautomationsystemacrossthesystemmanagement,scheduling,attendancemanagement,informationmanagement,documentmanagement,andotherfiveareas.MainfeaturesofJSPpagesinHTMLtoaddJavacodefragment,orusingavarietyofJSPtags,includingtheuseofuserlabelstoformJSPpage.Hibernateallowsapplicationdevelopersusingobject-orientedrelationaldatabaseapproachtotheoperation.Sun,JavaMailistofacilitatetheapplicationdeveloperscanrealizethefunctionofsendingandreceivinge-mailtoprovideasetofstandarddevelopmentpackage.Theprojectgroupconsistsof5members,completedtheentirecontentsofofficeautomationsystem,Icompletedthemessagemanagementsubsystem(stationmodeandmailtheletter),alsoactasmoderator.Keywords:OA,JSP,Hibernate,JavaMail目錄TOC\o"1-5"\h\z摘要 I\o"CurrentDocument"Abstract II目錄 I..I.I.\o"CurrentDocument"第一章概述/緒論 1...\o"CurrentDocument"項(xiàng)目背景 1...\o"CurrentDocument"國(guó)內(nèi)外辦公自動(dòng)化技術(shù)現(xiàn)狀 2..\o"CurrentDocument"論文主要工作/組織結(jié)構(gòu) 3..\o"CurrentDocument"第二章相關(guān)技術(shù)概述 4...\o"CurrentDocument"J2EE技術(shù) 4...\o"CurrentDocument"JSP技術(shù) 4..\o"CurrentDocument"JavaScript技術(shù) 5.\o"CurrentDocument"JavaScript定義 5.\o"CurrentDocument"JavaScript應(yīng)用 5.\o"CurrentDocument"Hibernate技術(shù) 6.\o"CurrentDocument"ORM簡(jiǎn)介 6.\o"CurrentDocument"Hibernate概述 6.\o"CurrentDocument"Hibernate的關(guān)系映射 7..\o"CurrentDocument"Hibernate查詢體系 7..\o"CurrentDocument"Oracle11g技術(shù) 9.\o"CurrentDocument"JavaMail技術(shù) 9.\o"CurrentDocument"第三章 辦公自動(dòng)化系統(tǒng)項(xiàng)目概述 1..1任務(wù)概述 1..1.文檔管理平臺(tái) 1..1消息管理平臺(tái) 1..1考勤管理平臺(tái) 1..1日程管理平臺(tái) 1..2系統(tǒng)管理平臺(tái) 1..2需求規(guī)約 1..2.一般性需求 1..2.功能性需求 1..2.最終產(chǎn)品應(yīng)實(shí)現(xiàn)的特征 1..3\o"CurrentDocument"項(xiàng)目約束 1..4.項(xiàng)目的技術(shù)難點(diǎn)和關(guān)鍵點(diǎn) 1..43.3涉及的技術(shù)領(lǐng)域 1..4.\o"CurrentDocument"第四章消息管理子系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 1..6子系統(tǒng)概述 1..6.\o"CurrentDocument"數(shù)據(jù)庫(kù)設(shè)計(jì) 1..8.\o"CurrentDocument"界面設(shè)計(jì) 1..9.\o"CurrentDocument"Javascript在項(xiàng)目中的應(yīng)用 22\o"CurrentDocument"Hibernate在項(xiàng)目中的應(yīng)用 24\o"CurrentDocument"過(guò)濾器在項(xiàng)目中的應(yīng)用 2..6\o"CurrentDocument"JavaMail在項(xiàng)目中的應(yīng)用 27\o"CurrentDocument"JspSmartUpload在項(xiàng)目中的應(yīng)用 28\o"CurrentDocument"第五章總結(jié)與展望 3..0.項(xiàng)目總結(jié) 3..0.小組完成的工作 3..0個(gè)人完成的工作 3..0項(xiàng)目展望 3..1.整體項(xiàng)目的可擴(kuò)展點(diǎn) 3..1個(gè)人工作的可擴(kuò)展點(diǎn) 3..1參考文獻(xiàn) 3..2..致謝 3..3..第一章概述/緒論1.1項(xiàng)目背景信息工作是國(guó)家行政機(jī)關(guān)、高校、科研院所的一項(xiàng)重要的日常性工作。隨著我國(guó)加入WTO,改革開(kāi)放的進(jìn)一步深化,如何更有效、更快速地處理各種信息,實(shí)現(xiàn)辦公自動(dòng)化,己經(jīng)成為一項(xiàng)一觸即發(fā)的工作。伴隨著企業(yè) ERP(企業(yè)資源計(jì)劃EnterpriseResoureePlanning建設(shè)、政府電子政務(wù)建設(shè)的熱潮,曾經(jīng)淹沒(méi)在Internet、.Com中的一個(gè)名詞一一0A(辦公自動(dòng)化ofieeAutomation,簡(jiǎn)稱0A)開(kāi)始再次引起人們的極大關(guān)注。過(guò)去的十多年,網(wǎng)絡(luò)技術(shù)飛速進(jìn)步不斷地豐富和延伸“辦公自動(dòng)化 (0A)”的內(nèi)容和指稱的對(duì)象,也使得越來(lái)越多的單位認(rèn)識(shí)到建設(shè)0A系統(tǒng)的重要性。網(wǎng)絡(luò)的發(fā)展拓展了0A的作用范圍,現(xiàn)代意義上的基于網(wǎng)絡(luò)的0A己不僅僅是提高打字錄入、排版編輯這樣的個(gè)人事務(wù)處理效率,甚至也不僅僅是實(shí)現(xiàn)公文收發(fā)、流轉(zhuǎn)、簽發(fā)、歸檔這樣的群組工作效率。事實(shí)上,網(wǎng)絡(luò)時(shí)代的0A是一種企業(yè)級(jí)跨部門(mén)運(yùn)作的基礎(chǔ)信息系統(tǒng),可以聯(lián)結(jié)單位內(nèi)各部門(mén)的各個(gè)人員,可以聯(lián)結(jié)單位各類(lèi)信息系統(tǒng)和信息資源。0A系統(tǒng)的運(yùn)行不僅應(yīng)當(dāng)適應(yīng)單位為提高運(yùn)作效率而進(jìn)行的機(jī)構(gòu)調(diào)整,而且還可能促進(jìn)單位資源合理配置的進(jìn)程。即0A在模擬手工作業(yè)的同時(shí),還將反作用于傳統(tǒng)的辦公流程。其實(shí),過(guò)去已有不少政府機(jī)關(guān)單位、大型企業(yè)開(kāi)發(fā)了辦公自動(dòng)化系統(tǒng)。由于歷史的原因,這些系統(tǒng)大都是采用以關(guān)系型數(shù)據(jù)庫(kù)為基礎(chǔ)的MSI系統(tǒng)、在老版本的LotusNoteS平臺(tái)上開(kāi)發(fā)的辦公自動(dòng)化系統(tǒng)。但是由于當(dāng)時(shí)網(wǎng)絡(luò)技術(shù)和信息管理軟件本身的局限,這些辦公軟件存在許多缺陷已不能適應(yīng)現(xiàn)代工作的要求。如集成化程度低,資源共享不充分;缺乏韌性,對(duì)環(huán)境適應(yīng)性差;特別是這些辦公軟件大多是靜態(tài)的,僅能提供文檔的存儲(chǔ)、管理、查詢。遠(yuǎn)遠(yuǎn)不能適應(yīng)網(wǎng)絡(luò)化信息時(shí)代的要求,使其應(yīng)用范圍和效果很有限。信息時(shí)代要求實(shí)現(xiàn)一個(gè)高度的辦公自動(dòng)化系統(tǒng)。一個(gè)現(xiàn)代化的辦公自動(dòng)化系統(tǒng)應(yīng)該能夠顯著提高辦公效率,降低辦公成本,充分利用內(nèi)部資源,加快工作流程,適應(yīng)環(huán)境的變化等。[1]伴隨著數(shù)字商業(yè)的到來(lái),企業(yè)的管理意識(shí)和環(huán)境都發(fā)生了巨大的變化,企業(yè)的管理結(jié)構(gòu)由多層次結(jié)構(gòu)向扁平化管理結(jié)構(gòu)轉(zhuǎn)化;數(shù)字時(shí)代企業(yè)的信息量和溝通數(shù)量巨大,為了提高企業(yè)的管理效率,必須提升溝通的質(zhì)量,要求企業(yè)辦公高效率、自動(dòng)化,辦公自動(dòng)化系統(tǒng)應(yīng)運(yùn)而生。辦公自動(dòng)化系統(tǒng)跨越系統(tǒng)管理、日程管理、考勤管理、消息管理、文檔管理等五個(gè)領(lǐng)域。1.2國(guó)內(nèi)外辦公自動(dòng)化技術(shù)現(xiàn)狀國(guó)外的辦公自動(dòng)化研究一直處于領(lǐng)先地位。用于開(kāi)發(fā)辦公自動(dòng)化系統(tǒng)的國(guó)際主流平臺(tái)LotusDomino/Notes,它所屬的公司Lotus就在美國(guó),現(xiàn)已屬I(mǎi)BM公司的一個(gè)開(kāi)發(fā)部門(mén)。Lotus現(xiàn)在提倡第三代以知識(shí)管理為核心的辦公自動(dòng)化系統(tǒng),并已提出了很多的知識(shí)管理解決方案, 開(kāi)發(fā)了相關(guān)的產(chǎn)品,而且國(guó)外其他的軟件生產(chǎn)廠商也紛紛開(kāi)發(fā)自己的知識(shí)管理平臺(tái),可以說(shuō)以知識(shí)管理為核心的第三代辦公自動(dòng)化系統(tǒng)在國(guó)外得到了廣泛的支持也在實(shí)際中取得了廣泛的應(yīng)用。辦公自動(dòng)化在我國(guó)80年代中期就制定了辦公自動(dòng)的發(fā)展目標(biāo)及遠(yuǎn)景規(guī)劃,國(guó)務(wù)院辦公自動(dòng)化專家會(huì)議對(duì)辦公自動(dòng)化做了具體的定義。 現(xiàn)在國(guó)內(nèi)的研究大部分還處在對(duì)怎樣利用第二代辦公自動(dòng)化系統(tǒng)開(kāi)發(fā)以工作流自動(dòng)化為核心的辦公自動(dòng)化系統(tǒng)上,并且大多數(shù)采用的開(kāi)發(fā)平臺(tái)都是 LotusDomino/Notes平臺(tái)。目前,第二代辦公自動(dòng)化系統(tǒng)在國(guó)內(nèi)的一些單位、 企業(yè)和學(xué)校得到了應(yīng)用。這些辦公自動(dòng)化系統(tǒng)都是基于LotusDomino/Notes平臺(tái)的。當(dāng)前基于J2EE體系結(jié)構(gòu)的網(wǎng)上辦公自動(dòng)化系統(tǒng)已有了迅速的發(fā)展。J2EE作為一種成熟的、健壯的、功能強(qiáng)大的分布式企業(yè)級(jí)應(yīng)用開(kāi)發(fā)平臺(tái), 經(jīng)過(guò)幾年的發(fā)展,己具有相當(dāng)?shù)某墒於龋矒碛写罅康目蛻?,其?yōu)勢(shì)在大型項(xiàng)目開(kāi)發(fā)中體現(xiàn)尤為突出,國(guó)外不乏成功的案例。國(guó)內(nèi)對(duì)于Java技術(shù)的應(yīng)用也越來(lái)越廣泛,然而國(guó)內(nèi)的信息化建設(shè)水平總體來(lái)說(shuō)還很低, 不論是技術(shù)上、管理上還是運(yùn)作模式上都難于與國(guó)外比肩,因此對(duì)于新技術(shù)的引進(jìn)、消化和吸收更具現(xiàn)實(shí)意義。J2EE技術(shù)己經(jīng)獲得了各大開(kāi)發(fā)平臺(tái)提供商的支持, 成為企業(yè)應(yīng)用開(kāi)發(fā)的主流平臺(tái)。進(jìn)行應(yīng)用開(kāi)發(fā)時(shí),協(xié)調(diào)好長(zhǎng)遠(yuǎn)設(shè)計(jì)與短期需求之間的矛盾并不是一件容易的事。 而利用J2EE可以很好地解決這一問(wèn)題,因?yàn)樵贘2EE中可以創(chuàng)建應(yīng)用的每一層,每層之間是松藕合的,每一層可以單獨(dú)進(jìn)行修改擴(kuò)展,來(lái)滿足相關(guān)方面的需求。[2]辦公自動(dòng)化于50年代在美國(guó)和日本首先興起,最初只是具有電子數(shù)據(jù)處理(EDP)的簿記功能,60年代被管理信息系統(tǒng)(MIS)取代,直到70年代后期才形成涉及多種技術(shù)的新型綜合學(xué)科一一辦公自動(dòng)化(0A)。80年代,國(guó)外辦公自動(dòng)化得到了飛速發(fā)展,許多著名的計(jì)算機(jī)軟硬件公司都躋身于這一巨大的市場(chǎng)。 進(jìn)入90年代以來(lái),辦公自動(dòng)化在世界主要發(fā)達(dá)國(guó)家得到蓬勃發(fā)展。我國(guó)辦公自動(dòng)化是80年代中期才發(fā)展起來(lái)的。1985年全國(guó)召開(kāi)了第一次辦公自動(dòng)化規(guī)劃會(huì)議,對(duì)我國(guó)辦公自動(dòng)化建設(shè)進(jìn)行了規(guī)劃。1986年5月在國(guó)務(wù)院電子振興領(lǐng)導(dǎo)小組辦公自動(dòng)化專家組第一次專家會(huì)議上,定義了辦公自動(dòng)化系統(tǒng)功能層次和結(jié)構(gòu)模式。隨后國(guó)務(wù)院率先開(kāi)發(fā)了“中南海辦公自動(dòng)化系統(tǒng)”。我國(guó)0A的應(yīng)用和發(fā)展歷程,可以分為以下三個(gè)階段:第一代0A系統(tǒng),是從20世紀(jì)80年代中期到90年代中期以個(gè)人電腦、辦公套件為主要標(biāo)志,實(shí)現(xiàn)了數(shù)據(jù)統(tǒng)計(jì)和文檔寫(xiě)作電子化,即將辦公信息載體從原始紙介質(zhì)方式轉(zhuǎn)向比特方式。第二代0A系統(tǒng),是從90年代中期開(kāi)始的以網(wǎng)絡(luò)技術(shù)和協(xié)同工作技術(shù)為主要特征,實(shí)現(xiàn)了工作流程自動(dòng)化,即將收發(fā)文從傳統(tǒng)的手工方式轉(zhuǎn)向工作流自動(dòng)化方式。第三代0A系統(tǒng),是融信息處理、業(yè)務(wù)流程和知識(shí)管理于一體的應(yīng)用系統(tǒng)。[3]1.3論文主要工作/組織結(jié)構(gòu)本論文主要對(duì)實(shí)訓(xùn)中完成的辦公自動(dòng)化系統(tǒng)的背景進(jìn)行了相關(guān)的闡述, 對(duì)相關(guān)技術(shù)進(jìn)行了介紹,結(jié)合技術(shù)對(duì)項(xiàng)目進(jìn)行了分析,同時(shí)提出了總結(jié)與展望。該論文主要由5個(gè)部分組成。概述/緒論部分介紹了畢業(yè)設(shè)計(jì)項(xiàng)目的背景、國(guó)內(nèi)外辦公自動(dòng)化技術(shù)的現(xiàn)狀以及論文的主要工作。技術(shù)概述部分是關(guān)于畢業(yè)設(shè)計(jì)項(xiàng)目中使用的技術(shù)的簡(jiǎn)介,主要包括 J2EE、JSP、Javascrip、HibernateOracle11g以及JavaMail。項(xiàng)目概述部分是關(guān)于畢業(yè)設(shè)計(jì)項(xiàng)目整體性一些介紹, 主要包括任務(wù)描述和需求規(guī)約。技術(shù)在項(xiàng)目中的應(yīng)用部分詳細(xì)論述自己在畢業(yè)設(shè)計(jì)項(xiàng)目中所做的設(shè)計(jì)與實(shí)現(xiàn)工作,體現(xiàn)技術(shù)概述部分所提到的技術(shù)在具體項(xiàng)目中的應(yīng)用總結(jié)與展望部分總結(jié)畢業(yè)設(shè)計(jì)項(xiàng)目的完成情況,以及展望進(jìn)一步的工作方向??偨Y(jié)包括整個(gè)項(xiàng)目組完成了哪些工作, 以及自己完成了哪些工作;展望包括整個(gè)項(xiàng)目在進(jìn)一步工作中還有哪些功能可以擴(kuò)展, 以及自己完成的那部分工作還可以如何擴(kuò)展和完善等。第二章相關(guān)技術(shù)概述J2EE技術(shù)J2EE是一套全然不同于傳統(tǒng)應(yīng)用開(kāi)發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡(jiǎn)化且規(guī)范應(yīng)用系統(tǒng)的開(kāi)發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。J2EE應(yīng)用以其穩(wěn)定的性能、良好的開(kāi)放性及嚴(yán)格的安全性,深受企業(yè)應(yīng)用開(kāi)發(fā)者的青睞。對(duì)于一個(gè)企業(yè)而言,選擇J2EE構(gòu)建信息化平臺(tái),更體現(xiàn)了一種長(zhǎng)遠(yuǎn)的規(guī)劃:企業(yè)的信息化是不斷整合的過(guò)程,在未來(lái)的日子里,經(jīng)常會(huì)有不同乎臺(tái)、不同系統(tǒng)的異構(gòu)系統(tǒng)需要整合。J2EE應(yīng)用提供的跨平臺(tái)性、開(kāi)放性及各種遠(yuǎn)程訪問(wèn)的技術(shù),為異構(gòu)系統(tǒng)的良好整合提供了保證。 [5]JSP技術(shù)圖2.1JSP頁(yè)面的工作原理JSP是Servlet的擴(kuò)展,在沒(méi)有JSP之前,就已經(jīng)出現(xiàn)了Servlet技術(shù)。Servlet是利用輸出流動(dòng)態(tài)生成HTML頁(yè)面,包括每一個(gè)HTML標(biāo)簽和每個(gè)在HTML頁(yè)面中出現(xiàn)的內(nèi)容。由于包括大量的HTML標(biāo)簽、大量的靜態(tài)文本及格式等,導(dǎo)致 Servlet的開(kāi)發(fā)效率極為低下。所有的表現(xiàn)邏輯,包括布局、色彩及圖像等,都必須糯合在Java代碼中,這的確讓人不勝其煩。 JSP的出現(xiàn)彌補(bǔ)了這種不足, JSP通過(guò)在標(biāo)準(zhǔn)的HTML頁(yè)面中插入Java代碼,其靜態(tài)的部分無(wú)須Java程序控制,只有那些需要從數(shù)據(jù)庫(kù)讀取并根據(jù)程序動(dòng)態(tài)生成信息時(shí),才使用 Java腳本控制。從表面上看,JSP頁(yè)面已經(jīng)不再需要Java類(lèi),似乎完全脫離了Java面向?qū)ο蟮奶卣?。事?shí)上,JSP是Servlet的一種特殊形式,每個(gè)JSP頁(yè)面就是一個(gè)Servlet實(shí)例 JSP頁(yè)面由系統(tǒng)編譯成Servlet,Servlet再負(fù)責(zé)響應(yīng)用戶請(qǐng)求。JSP其實(shí)也是Servlet的一種簡(jiǎn)化,使用JSP時(shí),其實(shí)還是使用Servlet,因?yàn)閃eb應(yīng)用中的每個(gè)JSP頁(yè)面都會(huì)由Servlet容器生成對(duì)應(yīng)的Servlet。對(duì)于Tomcat而言,JSP頁(yè)面生成的Servlet放在work路徑對(duì)應(yīng)的Web應(yīng)用下。根據(jù)上面的JSP頁(yè)面工作原理圖(如圖2.1所示),可以得到如下四個(gè)結(jié)論:JSP文件必須在JSP服務(wù)器內(nèi)運(yùn)行。JSP文件必須生成Servlet才能執(zhí)行。每個(gè)JSP頁(yè)面的第一個(gè)訪問(wèn)者速度很慢,因?yàn)楸仨毜却齁SP編譯成ServletJSP頁(yè)面的訪問(wèn)者無(wú)須安裝任何客戶端,甚至不需要可以運(yùn)行Java的運(yùn)行環(huán)境,因?yàn)镴SP頁(yè)面輸送到客戶端的是標(biāo)準(zhǔn)HTML頁(yè)面。⑹JavaScript技術(shù)JavaScript被用來(lái)改進(jìn)設(shè)計(jì)、驗(yàn)證表單、檢測(cè)瀏覽器、創(chuàng)建 cookies等。JavaScript是因特網(wǎng)上最流行的腳本語(yǔ)言,并且可在所有主要的瀏覽器中運(yùn)行,比方說(shuō)InternetExplorer、Mozilla、Firefox、Netscape和Opera。⑺JavaScript定義JavaScript被設(shè)計(jì)用來(lái)向HTML頁(yè)面添加交互行為。JavaScript是一種腳本語(yǔ)言(腳本語(yǔ)言是一種輕量級(jí)的編程語(yǔ)言)。JavaScript由數(shù)行可執(zhí)行計(jì)算機(jī)代碼組成。JavaScript通常被直接嵌入HTML頁(yè)面。JavaScript是一種解釋性語(yǔ)言(就是說(shuō),代碼執(zhí)行不進(jìn)行預(yù)編譯)。JavaScript應(yīng)用JavaScript為HTML設(shè)計(jì)師提供了一種編程工具HTML創(chuàng)作者往往都不是程序員,但是 JavaScript卻是一種只擁有極其簡(jiǎn)單的語(yǔ)法的腳本語(yǔ)言!幾乎每個(gè)人都有能力將短小的代碼片斷放入他們的HTML頁(yè)面當(dāng)中。JavaScript可以將動(dòng)態(tài)的文本放入HTML頁(yè)面類(lèi)似于這樣的一段JavaScript聲明可以將一段可變的文本放入HTML頁(yè)面:document.write("<h1>"+name+"</h1>")JavaScript可以對(duì)事件作出響應(yīng)可以將JavaScript設(shè)置為當(dāng)某事件發(fā)生時(shí)才會(huì)被執(zhí)行,例如頁(yè)面載入完成或者當(dāng)用戶點(diǎn)擊某個(gè)HTML元素時(shí)。JavaScript可以讀寫(xiě)HTML元素JavaScript可以讀取及改變HTML元素的內(nèi)容。JavaScript可被用來(lái)驗(yàn)證數(shù)據(jù)在數(shù)據(jù)被提交到服務(wù)器之前,JavaScript可被用來(lái)驗(yàn)證這些數(shù)據(jù)。JavaScript可被用來(lái)檢測(cè)訪問(wèn)者的瀏覽器JavaScript可被用來(lái)檢測(cè)訪問(wèn)者的瀏覽器,并根據(jù)所檢測(cè)到的瀏覽器,為這個(gè)瀏覽器載入相應(yīng)的頁(yè)面。JavaScript可被用來(lái)創(chuàng)建cookiesJavaScript可被用來(lái)存儲(chǔ)和取回位于訪問(wèn)者的計(jì)算機(jī)中的信息。[8]Hibernate技術(shù)2.4.1ORM簡(jiǎn)介ORM(ObjectRelationMapping)指對(duì)象/關(guān)系映射。ORM也可理解是一種規(guī)范,具體的ORM框架可作為應(yīng)用程序和數(shù)據(jù)庫(kù)的橋梁。ORM并不是一種具體的產(chǎn)品,而是一類(lèi)框架的總稱。它概述了這類(lèi)框架的基本特征 :完成面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言與關(guān)系數(shù)據(jù)庫(kù)的映射?;贠RM框架完成映射后,既可利用面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的簡(jiǎn)單易用性,又可利用關(guān)系數(shù)據(jù)庫(kù)的技術(shù)優(yōu)勢(shì)。ORM框架是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言與關(guān)系數(shù)據(jù)庫(kù)發(fā)展不同步時(shí)的中間解決方案。[9]Hibernate概述Hibernate是目前最流行的ORM框架,其采用非常優(yōu)雅的方式將SQL操作完全包裝成對(duì)象化的操作。Hibernate是一個(gè)面向Java環(huán)境的對(duì)象/關(guān)系數(shù)據(jù)庫(kù)映射工具。對(duì)象/關(guān)系數(shù)據(jù)庫(kù)映射(Object/RelationalMapping)表示一種技術(shù),用來(lái)把對(duì)象模型表示的對(duì)象映射到基于SQL的關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中去。Hibernate的目標(biāo)是:釋放開(kāi)發(fā)者通常的數(shù)據(jù)持久化相關(guān)的編程任務(wù)的 95%對(duì)于以數(shù)據(jù)為中心的程序而言,往往在數(shù)據(jù)庫(kù)中使用存儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn)商業(yè)邏輯,Hibernate可能不是最好的解決方案。但對(duì)于那些基于Java的中間件應(yīng)用中,設(shè)計(jì)采用面向?qū)ο蟮臉I(yè)務(wù)模型和商業(yè)邏輯時(shí),Hibernate是最有用的。不管怎樣,Hibernate能消除那些針對(duì)特定數(shù)據(jù)庫(kù)廠商的SQL代碼,并且把結(jié)果集由表格式的形式轉(zhuǎn)換成值對(duì)象的形式。Hibernate不僅管理Java類(lèi)到數(shù)據(jù)庫(kù)表的映射(包括Java數(shù)據(jù)類(lèi)型到SQL數(shù)據(jù)類(lèi)型的映射),還提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法,可以大幅度地減少在開(kāi)發(fā)時(shí)人工使用SQL和JDBC處理數(shù)據(jù)的時(shí)間。Hibernate能在眾多的ORM框架中脫穎而出,因?yàn)镠ibernate與其他ORM框架對(duì)比具有如下優(yōu)勢(shì)。?開(kāi)源和免費(fèi)的License,方便需要時(shí)研究源代碼、改寫(xiě)源代碼并進(jìn)行功能定制。?輕量級(jí)封裝,避免引入過(guò)多復(fù)雜的問(wèn)題,調(diào)試容易,減輕程序員負(fù)擔(dān)。?具有可擴(kuò)展性,API開(kāi)放。功能不夠用時(shí),可以自己編碼進(jìn)行擴(kuò)展。?開(kāi)發(fā)者活躍,產(chǎn)品有穩(wěn)定的發(fā)展保障。[9]Hibernate的關(guān)系映射關(guān)系是關(guān)系型數(shù)據(jù)庫(kù)的最基本的特征,也是客觀世界最基本,最抽象的。關(guān)系可分為如下兩個(gè)類(lèi)。?單向關(guān)系:只需單向訪問(wèn)關(guān)聯(lián)端。?雙向關(guān)系:關(guān)聯(lián)的兩端可以互相訪問(wèn)。單向關(guān)聯(lián)可分為:?jiǎn)蜗?-1;單向I-N;單向N-1;單向N-N雙向關(guān)聯(lián)可分為:雙向1-1;雙向I-N;雙向N-N[10]Hibernate查詢體系HQL查詢HQL是HibernateQueryLanguage的縮寫(xiě),HQL的語(yǔ)法很像SQL的語(yǔ)法,但HQL是一種面向?qū)ο蟮牟樵冋Z(yǔ)言。因此,SQL的操作對(duì)象是數(shù)據(jù)表和列等數(shù)據(jù)對(duì)象:而HQL的操作對(duì)象是類(lèi)、實(shí)例和屬性等。HQL是完全面向?qū)ο蟮牟樵冋Z(yǔ)言,因此可以支持繼承和多態(tài)等特征。HQL查詢依賴于Query類(lèi),每個(gè)Query實(shí)例對(duì)應(yīng)一個(gè)查詢對(duì)象,使用HQL查詢按如下步驟進(jìn)行:獲取HibernateSession對(duì)象:⑵編寫(xiě)HQL語(yǔ)句:以HQL語(yǔ)句作為參數(shù),調(diào)用Session的createQuery方法創(chuàng)建查詢對(duì)象:⑷如果HQL語(yǔ)句包含參數(shù),調(diào)用Query的setXxx方法為參數(shù)賦值:(5)調(diào)用Query對(duì)象的list等方法遍歷查詢結(jié)果。條件查詢條件查詢是更具面向?qū)ο筇厣臄?shù)據(jù)查詢方式,通過(guò)如下三個(gè)類(lèi)完成。?Criteria:代表一次查詢。?Criterion:代表一個(gè)查詢條件。?Restrictions:產(chǎn)生查詢條件的工具類(lèi)。執(zhí)行條件查詢的步驟如下:⑴獲得Hibernate的Session對(duì)象。以Session對(duì)象創(chuàng)建Criteria對(duì)象。增加Criterion查詢條件。執(zhí)行Criteria的list等方法返回結(jié)果集。SQL查詢Hibernate還支持使用SQL查詢,使用SQL查詢可以利用某些數(shù)據(jù)庫(kù)的特性,或者用于將原有的JOBC應(yīng)用遷移到Hibernate應(yīng)用上。SQL查詢是通過(guò)SQLQuery接口來(lái)表示的,由于SQLQuery接口是Query接口的子接口,因此完全可以調(diào)用Query接口的方法。執(zhí)行SQL查詢的步驟如下。獲取HibernateSession對(duì)象。編寫(xiě)SQL語(yǔ)句。以SQL語(yǔ)句作為參數(shù),調(diào)用Session的createSQLQuery方法創(chuàng)建查詢對(duì)象。⑷如果SQL語(yǔ)句包含參數(shù),則調(diào)用Query的setXxx方法為參數(shù)賦值。調(diào)用SQLQuery對(duì)象的addEntity或addSca缸方法,將選出的結(jié)果與實(shí)體或標(biāo)量值關(guān)聯(lián)。調(diào)用Query的list方法返回查詢的結(jié)果集。數(shù)據(jù)過(guò)濾數(shù)據(jù)過(guò)濾并不是一種常規(guī)的數(shù)據(jù)查詢方法,而是一種整體的篩選方法。通過(guò)過(guò)濾數(shù)據(jù)也可對(duì)數(shù)據(jù)進(jìn)行篩選過(guò)濾器的使用分成三步:定義過(guò)濾器,使用filter-def元素定義過(guò)濾器。使用過(guò)濾器,使用filter元素使用過(guò)濾器。在代碼中啟用過(guò)濾器。 [10]2.5Oracle11g技術(shù)Oracle11g是甲骨文公司在2007年年7月12日推出的最新數(shù)據(jù)庫(kù)軟件,Oracle11g有400多項(xiàng)功能,經(jīng)過(guò)了1500萬(wàn)個(gè)小時(shí)的測(cè)試,開(kāi)發(fā)工作量達(dá)到了3.6萬(wàn)人/月。相對(duì)過(guò)往版本而言,Oracle11g具有了與眾不同的特性。[11]ORACLE7.X以來(lái)引入了共享SQL和多線索服務(wù)器體系結(jié)構(gòu)。這減少了ORACLE的資源占用,并增強(qiáng)了ORACLE的能力,使之在低檔軟硬件平臺(tái)上用較少的資源就可以支持更多的用戶,而在高檔平臺(tái)上可以支持成百上千個(gè)用戶。提供了基于角色(ROLE)分工的安全保密管理。在數(shù)據(jù)庫(kù)管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。支持大量多媒體數(shù)據(jù),如二進(jìn)制圖形、聲音、動(dòng)畫(huà)以及多維數(shù)據(jù)結(jié)構(gòu)等。提供了與第三代高級(jí)語(yǔ)言的接口軟件PRO*系列,能在C,C++等主語(yǔ)言中嵌入SQL語(yǔ)句及過(guò)程化(PL/SQL)語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操縱。提供了新的分布式數(shù)據(jù)庫(kù)能力??赏ㄟ^(guò)網(wǎng)絡(luò)較方便地讀寫(xiě)遠(yuǎn)端數(shù)據(jù)庫(kù)里的數(shù)據(jù),并有對(duì)稱復(fù)制的技術(shù)。[12]2.6JavaMail技術(shù)JavaMail是Sur公司為方便開(kāi)發(fā)人員在應(yīng)用程序中能夠?qū)崿F(xiàn)郵件發(fā)送和接受功能而提供的一套標(biāo)準(zhǔn)開(kāi)發(fā)包,包括面向普通開(kāi)發(fā)人員調(diào)用的API和實(shí)現(xiàn)了SMTP、POP3、IMAP、MIME等底層協(xié)議的服務(wù)提供程序。[13]SMTP:簡(jiǎn)單郵件傳輸協(xié)議(SimpleMailTransferProtocol,SMTP)由RFC821定義,它定義了發(fā)送郵件的機(jī)制,在JavaMail環(huán)境中,基于JavaMail的程序?qū)⒑鸵蛱鼐W(wǎng)服務(wù)供應(yīng)商ISP(internetServiceProvider '服務(wù)器通信.SMTP服務(wù)器會(huì)中轉(zhuǎn)消息給接收方SMTP服務(wù)器以便最終讓用戶經(jīng)由POP或者IMAP獲得。POP代表郵局協(xié)議(PostOfficeProtocol).目前的版本是3.所以一般都稱之為POP3這個(gè)協(xié)議是由RFC1939定義的.POP是一種機(jī)制,因特網(wǎng)上多大數(shù)用戶用它得到郵件.它規(guī)定每個(gè)用戶一個(gè)郵箱的支持.使用POP協(xié)議的時(shí)候,用戶的許多性能并不是由POP協(xié)議支持的,如查看幾封新郵件消息這個(gè)功能,這些功能內(nèi)建在如Eudora或MicrosoftOutlook之類(lèi)的程序中,它們記住一些事.所以在用JavaMaiI的時(shí)候,如果你想要這些信息,你就必須自己算了。IMAP:是更高級(jí)的用戶接收消息的協(xié)議,被定義在RFC2060中,IMAP代表因特網(wǎng)消息訪問(wèn)協(xié)議(InternetMessageAccessProtocol),前用的版本是4所以也叫做IMAP4.在用到IMAP的時(shí)候,郵件服務(wù)器必須支持這個(gè)協(xié)議,不能僅僅把使用POP的程序用于IMAP,并指望它支持IMAP所有性能。MIME:是因特網(wǎng)郵件擴(kuò)展標(biāo)準(zhǔn)(MultipurposeInternetMailExtensions).它不是郵件傳輸協(xié)議,但是對(duì)于傳輸?shù)膬?nèi)容的消息,附件以及其他的內(nèi)容定義了格式.可以理解成一個(gè)定義合適的標(biāo)準(zhǔn)。[14]第三章辦公自動(dòng)化系統(tǒng)項(xiàng)目概述3.1任務(wù)概述完成一個(gè)完全基于瀏覽器的操作模式,安裝簡(jiǎn)單(B/S架構(gòu),不必安裝或者只要安裝很小的插件),操作方便,具有良好的系統(tǒng)擴(kuò)充能力的辦公自動(dòng)化系統(tǒng),提供:3.1.1文檔管理平臺(tái)通過(guò)本平臺(tái),實(shí)現(xiàn)文檔管理、回收站管理、文件搜索管理、日志管理等功能。各部門(mén)在服務(wù)器有自己的共享文件夾,在瀏覽器中模擬實(shí)現(xiàn)操作系統(tǒng)中的文件夾樹(shù)形結(jié)構(gòu),可以在文件夾下創(chuàng)建某個(gè)文檔,可以查詢、修改、刪除文檔;實(shí)現(xiàn)回收站管理,可還原、徹底刪除文件;實(shí)現(xiàn)文件搜索功能;記錄文檔操作的日志。3.1.2消息管理平臺(tái)通過(guò)本平臺(tái),實(shí)現(xiàn)消息管理、郵箱管理、信息提示等功能。用戶可以對(duì)自己未發(fā)布的消息進(jìn)行增刪改查;可以指定消息接收者、消息的有效時(shí)間等;管理員可以查詢所有已發(fā)布的消息;用戶可以進(jìn)行消息管理,主要有收件箱、發(fā)件箱、垃圾箱的管理;用戶登錄系統(tǒng)后,在消息首頁(yè)顯示未讀消息條數(shù),可以點(diǎn)擊鏈接直接查看,顯示未讀消息列表;可以通過(guò)郵件系統(tǒng)互相發(fā)送郵件,支持不大于10M的附件,可以查看郵件列表。3.1.3考勤管理平臺(tái)通過(guò)本平臺(tái),實(shí)現(xiàn)簽到/簽退管理、考勤歷史查詢、考勤統(tǒng)計(jì)、工作日管理、工作時(shí)間管理等功能。用戶如果是當(dāng)天第一次操作,只能簽到,當(dāng)天第一次以后操作,只可以簽退,記錄簽卡備注、簽卡時(shí)間;管理員可以通過(guò)平臺(tái)按照時(shí)間段、部門(mén)、姓名等信息查詢考勤信息;管理員可以通過(guò)平臺(tái)統(tǒng)計(jì)一段時(shí)間內(nèi)指定部門(mén)所有員工的遲到、早退、曠工次數(shù)等,可以導(dǎo)出Excel表格;管理員可以通過(guò)本平臺(tái)設(shè)定當(dāng)年的工作日,對(duì)周末、法定假日、公司休假等日期不做考勤;管理員可以通過(guò)平臺(tái)設(shè)定某段日期內(nèi)上班時(shí)間、下班時(shí)間;員工可以將出差時(shí)間等信息提交給領(lǐng)導(dǎo)審批,審批通過(guò)后管理員設(shè)定該員工在出差時(shí)間段內(nèi)不做考勤;員工當(dāng)天如果忘記簽到,事后可以提交申請(qǐng)進(jìn)行補(bǔ)簽。3.1.4日程管理平臺(tái)通過(guò)本平臺(tái)實(shí)現(xiàn)個(gè)人日程管理、部門(mén)日程管理、便簽管理等功能。用戶可以瀏覽和編輯自己的日程;用戶可以管理聯(lián)系人名單;用戶可以瀏覽聯(lián)系人的日程;用戶可以瀏覽和編輯部門(mén)日程;用戶可以使用迷你日歷,迷你日歷是一個(gè)以圖形方式簡(jiǎn)要顯示當(dāng)前日期、星期、月份的日歷,為用戶提供當(dāng)前日期總覽;用戶可以記錄便簽。3.1.5系統(tǒng)管理平臺(tái)通過(guò)本平臺(tái)實(shí)現(xiàn)部門(mén)管理、員工管理、權(quán)限管理、菜單定制、系統(tǒng)登錄/注銷(xiāo)管理等功能。管理員可以對(duì)系統(tǒng)中的所有權(quán)限進(jìn)行管理;可以管理部門(mén)信息;可以靈活定制不同角色人員登錄系統(tǒng)后顯示的菜單;管理員工信息、修改密碼等,員工信息包含員工照片;實(shí)現(xiàn)只有登錄用戶才能使用本系統(tǒng);提供系統(tǒng)注銷(xiāo)功能;記錄做關(guān)鍵操作的用戶信息及操作時(shí)間,并提供管理及查詢功能。3.2需求規(guī)約3.2.1一般性需求本系統(tǒng)針對(duì)企業(yè)內(nèi)部人員使用,支持中英文兩種語(yǔ)言,由于操作人員的計(jì)算機(jī)水平不同,應(yīng)該有良好的人機(jī)交互界面和幫助支持頁(yè)面,只有登錄驗(yàn)證后的用戶才可以使用系統(tǒng),有良好的安全性能。3.2.2功能性需求角色說(shuō)明普通員工:企業(yè)內(nèi)部的員工;部門(mén)經(jīng)理:企業(yè)內(nèi)部的一個(gè)部門(mén)的負(fù)責(zé)人;管理員:負(fù)責(zé)系統(tǒng)維護(hù)的管理人員。整體業(yè)務(wù)流程描述用戶(包含普通員工、部門(mén)經(jīng)理、管理員)登錄后,根據(jù)提供的菜單選項(xiàng),進(jìn)行權(quán)限允許的操作。以用戶為中心,實(shí)現(xiàn)辦公的自動(dòng)化,實(shí)現(xiàn)考勤、日程、文檔、消息的對(duì)應(yīng)管理。如圖3.1所示。圖3.1系統(tǒng)功能模塊圖3.2.3最終產(chǎn)品應(yīng)實(shí)現(xiàn)的特征適用范圍:適合用于如下企業(yè):已經(jīng)建立了自己的Intranet網(wǎng)絡(luò),希望企業(yè)內(nèi)部員工通過(guò)站內(nèi)信方式交流內(nèi)部信息,實(shí)現(xiàn)有效的協(xié)同工作;也可以通過(guò)郵箱與公司外部客戶交流。技術(shù)層次:本系統(tǒng)屬于信息管理型辦公自動(dòng)化系統(tǒng),把事務(wù)型辦公系統(tǒng)和綜合信息(數(shù)據(jù))緊密結(jié)合的一種一體化的辦公信息處理系統(tǒng)。產(chǎn)品集成化:軟硬件及網(wǎng)絡(luò)產(chǎn)品的集成,單一辦公系統(tǒng)同社會(huì)公眾信息系統(tǒng)的集成。產(chǎn)品智能化:面向日常事務(wù)處理,輔助人們完成智能性勞動(dòng),如:個(gè)人日程管理、部門(mén)日程管理、便簽管理,簽到/簽退管理、考勤歷史查詢、考勤統(tǒng)計(jì)、工作日管理、工作時(shí)間管理,消息管理、信箱管理、信息提示等功能。產(chǎn)品安全:由于權(quán)限管理對(duì)系統(tǒng)中的所有權(quán)限進(jìn)行管理,相關(guān)用戶或管理員要登錄后才能進(jìn)行相關(guān)操作,非系統(tǒng)人員無(wú)權(quán)進(jìn)行操作,確保了系統(tǒng)的安全性。產(chǎn)品可配置:整個(gè)系統(tǒng)涉及辦公的各方面業(yè)務(wù),需要管理的資源比較多,因此系統(tǒng)的靈活配置性就顯得非常重要,系統(tǒng)的可配置性應(yīng)包括部門(mén)配置、人員角色配置、簽到/簽退配置、菜單定制配置、工作日程的配置等方面。產(chǎn)品易用:完全基于瀏覽器的操作模式,安裝簡(jiǎn)單,易于上手。3.2.4項(xiàng)目約束1、集成方面,應(yīng)該采用主流瀏覽器支持的如HTML、JavaScript、DHTML、XML等標(biāo)準(zhǔn)。2、由于操作人員的計(jì)算機(jī)水平不同,應(yīng)該有良好的人機(jī)交互界面和幫助支持頁(yè)面。3、性能約束:用戶進(jìn)行操作的時(shí)候能夠及時(shí)響應(yīng),沒(méi)有明顯的延時(shí)。系統(tǒng)運(yùn)行穩(wěn)定,能夠長(zhǎng)時(shí)間連續(xù)運(yùn)行。4、軟件環(huán)境數(shù)據(jù)庫(kù):Oracle10g及以上中間件:Tomcat6.0及以上JDK:6.0版本及以上5、硬件環(huán)境:內(nèi)存2G,硬盤(pán)80G3.2.5項(xiàng)目的技術(shù)難點(diǎn)和關(guān)鍵點(diǎn)1、表示層:各種辦公應(yīng)用的用戶界面,功能繁重,形式多樣。一方面工作量巨大,另一方面,如何設(shè)計(jì)出既滿足功能需求,又方便、快捷、美觀的界面,很有難度。此外,復(fù)雜的用戶界面可能導(dǎo)致客戶端性能問(wèn)題,如何平衡性能與上述要點(diǎn),是技術(shù)難點(diǎn)。2、 系統(tǒng)的功能繁多,如何進(jìn)行系統(tǒng)設(shè)計(jì)與模塊劃分,降低各組件之間的耦合度,并且方便擴(kuò)充和維護(hù)的問(wèn)題是難點(diǎn)。3、 文檔的搜索技術(shù)涉及搜索引擎,有一定難度。4、農(nóng)歷日歷的計(jì)算問(wèn)題。3.3涉及的技術(shù)領(lǐng)域整體采用B/S架構(gòu):方便普通用戶使用以及管理人員部署和維護(hù)。以表示層、業(yè)務(wù)層、持久層三層結(jié)構(gòu)來(lái)實(shí)現(xiàn)系統(tǒng),使用MVC框架降低表示層與持久層的耦合度,便于子模塊的開(kāi)發(fā)與維護(hù)。本系統(tǒng)開(kāi)發(fā)使用SSH框架,表示層使用HTML,CSS,JS,EXT作為富客戶端頁(yè)面技術(shù);業(yè)務(wù)層主要以Struts為主,完成對(duì)賬戶、權(quán)限、會(huì)話的管理;實(shí)現(xiàn)文檔系統(tǒng)管理、消息服務(wù)管理、個(gè)人日程管理、考勤記錄管理以及考勤歷史查詢功能,并添加對(duì)MicrosoftOffice的支持,如導(dǎo)出Excel表格;持久層使用Oracle數(shù)據(jù)庫(kù),用Hibernate管理對(duì)象關(guān)系映射,實(shí)現(xiàn)文檔數(shù)據(jù)、消息數(shù)據(jù)、日志數(shù)據(jù)的存儲(chǔ)管理;作為支持企業(yè)多人訪問(wèn)的辦公自動(dòng)化系統(tǒng),對(duì)并發(fā)的支持將貫穿整個(gè)項(xiàng)目開(kāi)發(fā)流程。第四章消息管理子系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4.1子系統(tǒng)概述消息管理1、 新建消息:新建消息;2、 修改消息:對(duì)未發(fā)布消息進(jìn)行修改;3、 收件人設(shè)置:可以指定消息接收者;4、 有效時(shí)間設(shè)置:設(shè)置消息的有效時(shí)間。消息發(fā)布1、 發(fā)布給個(gè)人:收件人填一個(gè);2、 發(fā)布給多人:收件人填多個(gè),中間用逗號(hào)隔開(kāi)信箱管理1、 收件箱管理:保存自己收到的消息,有已讀未讀標(biāo)記,可以刪除,點(diǎn)擊主題可以查看收件箱里消息的具體內(nèi)容;2、 發(fā)件箱管理:保存自己已經(jīng)發(fā)布的消息,可以查看、刪除發(fā)件箱里的消息;3、 垃圾箱管理:保存刪除的消息,可以還原或者徹底刪除垃圾箱里的消息。圖4.1信箱管理流程圖消息查詢

1、 管理員可以查看所有已發(fā)布消息;2、管理員可以按照日期段(某日期前、某日期后、某日期之間) 、接收者、發(fā)布者、主題中一個(gè)或多個(gè)條件進(jìn)行查詢。圖4.2消息查詢流程圖消息提示1、 未讀消息提示:相關(guān)人員登錄后在消息初始頁(yè)進(jìn)行提示,顯示未讀消息條目;2、 未讀消息鏈接:可以點(diǎn)擊未讀消息窗口的鏈接,直接查看未讀消息列表,可以把未讀消息標(biāo)記為已讀。圖4.3消息提示流程圖郵件操作1、 寫(xiě)郵件:給指定的郵箱發(fā)送郵件;2、添加附件:發(fā)送的郵件里可以添加附件同時(shí)發(fā)送,附件大小不超過(guò) 10M;3、 收件箱管理:查看自己收到的郵件,有附件標(biāo)記,可以查看收件箱里的郵件,下載附件。

4.2數(shù)據(jù)庫(kù)設(shè)計(jì)Oracle11g是甲骨文公司在2007年年7月12日推出的最新數(shù)據(jù)庫(kù)軟件,Oracle11g有400多項(xiàng)功能,經(jīng)過(guò)了1500萬(wàn)個(gè)小時(shí)的測(cè)試,開(kāi)發(fā)工作量達(dá)到了3.6萬(wàn)人/月。相對(duì)過(guò)往版本而言,Oracle11g具有了與眾不同的特性。采用Oraclellg儲(chǔ)存數(shù)據(jù)。消息管理子模塊主要涉及2張數(shù)據(jù)表,詳見(jiàn)表4.1和表4.2,TB_MES_SendMes與TB_MES_ReceiveMes是一對(duì)多關(guān)系。字段名類(lèi)型可為空默認(rèn)注釋IDint否消息發(fā)布表的主鍵和外鍵,自動(dòng)生成sendIDString否發(fā)布者ID,發(fā)布者-消息關(guān)聯(lián)表的外鍵contentString否消息的具體內(nèi)容topicString否消息的主題remainTimeTimestamp否「2100-12-31消息的有效時(shí)間stateint否1已發(fā)布消息狀態(tài),1表示未被刪除,2表示在垃圾箱,3表示從垃圾箱徹底刪除sendTimeTimeStamp否消息的發(fā)送時(shí)間,消息發(fā)布自動(dòng)記錄發(fā)布時(shí)間表4.1TB_MES_SendMes表名:發(fā)布者-消息關(guān)聯(lián)表(TB_MES_SendMes)表功能說(shuō)明:用于描述消息的具體信息以及發(fā)布者與消息的關(guān)聯(lián)字段名類(lèi)型可為空默認(rèn)注釋IDint否消息接收表的主鍵,自動(dòng)生成sendMesIDString否消息接收關(guān)聯(lián)表的外鍵,對(duì)應(yīng)消息發(fā)布表的主鍵receiveIDString否接收者ID,接收者-消息關(guān)聯(lián)表的外鍵isReadString否未讀消息是否已讀stateint否1已接收消息狀態(tài),1表示未被刪除,2表示在垃圾箱,3表示從垃圾箱徹底刪除表4.2TB_MES_ReceiveMes表名:接收者-消息關(guān)聯(lián)表(TB_MES_ReceiveMes)表功能說(shuō)明:用于描述接收者與消息的關(guān)聯(lián)4.3界面設(shè)計(jì)JSP是Servlet的擴(kuò)展,在沒(méi)有JSP之前,就已經(jīng)出現(xiàn)了Servlet技術(shù)。Servlet是利用輸出流動(dòng)態(tài)生成HTML頁(yè)面,包括每一個(gè)HTML標(biāo)簽和每個(gè)在HTML頁(yè)面中出現(xiàn)的內(nèi)容。CSS(CascadingStyleShee,t可譯為“層疊樣式表”或“級(jí)聯(lián)樣式表”)是一組格式設(shè)置規(guī)則,用于控制Web頁(yè)面的外觀。通過(guò)使用CSS樣式設(shè)置頁(yè)面的格式,可將頁(yè)面的內(nèi)容與表現(xiàn)形式分離。頁(yè)面內(nèi)容存放在HTML文檔中,而用于定義表現(xiàn)形式的CSS規(guī)則則存放在另一個(gè)文件中或HTML文檔的某一部分,通常為文件頭部分。將內(nèi)容與表現(xiàn)形式分離,不僅可使維護(hù)站點(diǎn)的外觀更加容易,而且還可以使HTML文檔代碼更加簡(jiǎn)練,縮短瀏覽器的加載時(shí)間。[15]JSP標(biāo)準(zhǔn)標(biāo)記庫(kù)(JSPStandardTagLibraryJSTL)是一個(gè)實(shí)現(xiàn)Web應(yīng)用程序中常見(jiàn)的通用功能的定制標(biāo)記庫(kù)集,這些功能包括迭代和條件判斷、數(shù)據(jù)管理格式化、XML操作以及數(shù)據(jù)庫(kù)訪問(wèn)。在developerWorks上其新系列的第一篇文章中,軟件工程師MarkKolb向您展示了如何使用JSTL標(biāo)記來(lái)避免在JSP頁(yè)面中使用腳本編制元素。您還將了解如何通過(guò)從表示層刪除源代碼來(lái)簡(jiǎn)化軟件維護(hù)。最后,您將了解JSTL經(jīng)過(guò)簡(jiǎn)化的表達(dá)式語(yǔ)言,它允許在不必使用功能齊全的編程語(yǔ)言的情況下對(duì)JSTL操作指定動(dòng)態(tài)屬性值[16]本模塊采用JSP實(shí)現(xiàn)表現(xiàn)層,CSS美化界面,JSTL格式化顯示數(shù)據(jù),date.js控件實(shí)現(xiàn)日期輸入操作。采用jsp實(shí)現(xiàn)發(fā)布消息頁(yè)面,主要代碼如圖4.4所示,界面主要部分如圖4.5所示。<tdclasa=wtJZ'Fwid.-&h=10G>接收者</td><td><inputname-rrreceivelD" id-ppret7eiveIDFPtitle-3ize-U0></td>c/tr><nralign?ppl&rtirbgc□1or*■"fD8E3EClbordercolor?Br#KFFFFFn>class-主題<td><lnput cype=wtextwid=*htopic11c1e= siEe=13C></td></tr><trali5=^1曇f匸"bgc□1□r=J*#DSE3ECwbordergo1cr=trtFFFFFFw>ctdcla53=|!rtl5pr>內(nèi)容</td><td>ttextarearmrnc""■content"uci'Ls*,t130,rrows?,r20'r ^contenttit?丄"娜樣內(nèi)瘁b<nralign-figcolor-"fDfiEJEC^torderec1or-"#FF<taclass-wti2w>有敕時(shí)間</td><ud><inputnacne=HremainTiae"type^*text,Fid=HremdinriiQeMtit丄e=“育滋時(shí)聞"aize5=50or</td>圖4.4發(fā)布消息界面主要代碼由吝肖效時(shí)討>iii點(diǎn)送〔毛岡圖4.5發(fā)布消息主要界面利用CSS樣式美化界面,CSS文件主要代碼如圖4.6所示。body{rtargin-left:Opx;itaigin-top:Opx;tcatgin-r1ght:Opx;margin-bottom:Opx;)ID{FOm-SIZE:LINE-HE工匸HT:23px;FONT-KAMILY:斥御:)POSITION:relative;TOF:210px}.tll{fonc-31ze:fanr-faitily:“隸書(shū)hcolor:#0144^5;font-weight:.bold;Letter-spacing:2px;).tl2{font-wexghr:bold;bacJcground-positi-an:center;calar:#014455;},btn31(width:92px;rieigtit:25px;lme-he丄廿hp:ispjc;fant-siz&:14px;color:;padding-left:16px;background:urlf"I?g51jpgno-reps且七Isrttop;padding^bottont:4px;>圖4.6CSS主要界面采用JSTL格式化顯示數(shù)據(jù),主要代碼如圖 4.7、圖4.8所示。<%Gt;aglibprefix=,*cfluri=^httpj/Zjava*sun.conr/jsp/jstl/core1*%><%&taglibpreflx= nuri=**http;//java.suncozn/jsp/js七丄/fint:"%>圖4.7jstl標(biāo)簽導(dǎo)入代碼<tdxfmt:farinarDatevalue="${b[3]}"pattern?"yyyy-MM-dd.HHimnL:ss"/x/td>圖4.8jstl格式化日期顯示代碼采用date.js控件實(shí)現(xiàn)日期輸入操作,代碼如圖4.9所示,日歷效果如圖4.10所示。幵始口期: ^ "“<±npux;typesBrtext;iLaziLe=p,startTime"*口肝匚1ick=fPopCalendar[eventthiB,tms);0nFDCU3=H&iiisJs&Iect/JJrxeadanl^rs:IMreaclanlyIR,^結(jié)束日期:<inputcyp上■翡匸0兀匸悼njajne?""endTimeanClicic?fPapCalendarCevents,this,this}yanFoc口暮^帀匸力工百■母注ImcrUf』禪readonly?h?readonlyw>圖4.9點(diǎn)擊彈出日歷代碼<L/201ly-May>SunHvnTueVedThuFri12345&78910111213141516IT1819202122232425262728293031Tad&y:2Dlly5nl7d圖4.10日歷控件可視化效果4.4Javascript在項(xiàng)目中的應(yīng)用Javascript實(shí)現(xiàn)復(fù)選框選擇操作,代碼見(jiàn)圖 4.11。全選/取消前的復(fù)選框可以進(jìn)行全選/取消操作,效果見(jiàn)圖4.12。如果沒(méi)有一個(gè)復(fù)選框選擇了進(jìn)行刪除操作,則提示要選擇,效果圖見(jiàn)圖4.13.<acript ?rtext/java1£uiicti&neheekAll(){for(wari=D;i.<docunueEit (11id")u.length.;i++){docizrnent;-getEliEjnentsByNaxe()[i]?checked*dacument?g亡tEleni亡zitByJci(**3^1亡utALJL1*,.checked;>}rtmctiondelt){varflag=false;for(var1■0;i<documeEit*getElennentsSyNaiDe(^id1")-length;i++)i{IE(document |[i].check-ed){flag='true;breaks*)irdfla^Halert["請(qǐng)送擇蔓刪除的消息!-};returnfELlse;c/aerlpo圖4.11javascript實(shí)現(xiàn)復(fù)選框選擇操作主要代碼圖4.13未選擇操作效果圖Javascript實(shí)現(xiàn)表單驗(yàn)證,代碼見(jiàn)圖4.14,主要驗(yàn)證表單中的內(nèi)容是否為空,為空的話則提示,提示效果見(jiàn)圖 圖4.13未選擇操作效果圖Javascript實(shí)現(xiàn)表單驗(yàn)證,代碼見(jiàn)圖4.14,主要驗(yàn)證表單中的內(nèi)容是否為空,為空的話則提示,提示效果見(jiàn)圖 4.15.ocriptLang"jmxAascriph〉functioncheckforir(rtyforn:){for(i=0;i<myforrr^length;i++){if(myform.elements[i].valu.e=rf"){alerc(myform?elements[i]*匸"1亡十"不能為空!*'};myforni.elements[ij-facus();returnfalse;}</script>圖4.14javascript實(shí)現(xiàn)表單驗(yàn)證主要代碼1 已讀1 已讀18181 已讀161 已讀16” 未讀1&1 已讀16』 已讀100已讀全選/取消li ■■圖4.12全選/取消效果圖收件人:295600145@容,收件人:295600145@容,圖4.15表單驗(yàn)證效果圖4.5Hibernate在項(xiàng)目中的應(yīng)用Hibernate是目前最流行的ORM框架,其采用非常優(yōu)雅的方式將SQL操作完全包裝成對(duì)象化的操作。Hibernate是一個(gè)面向Java環(huán)境的對(duì)象/關(guān)系數(shù)據(jù)庫(kù)映射工具。對(duì)象/關(guān)系數(shù)據(jù)庫(kù)映射(Object/RelationalMapping)表示一種技術(shù),用來(lái)把對(duì)象模型表示的對(duì)象映射到基于SQL的關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中去。利用Hibernate實(shí)現(xiàn)數(shù)據(jù)持久化,對(duì)應(yīng)的映射文件如圖 4.16和圖4.17,代碼中體現(xiàn)了2者間的雙向一對(duì)多關(guān)系,配置文件如圖4.18所示。<cl&33niire-f,votSsndMes*1table-r,TB^>IES_SendM^s,r><j_duaiLe="></id><propernygen皀工且t■上d?"丘若y皀name*<propertygenerated—,rnever"lazy="false"na.ia^=HsendTineH/><praperrygenerated""n^ver'*lazy?ndite^^topicrF,nor-nul1*ntruert/><propertygenerated=,riiever"lazy="raZ5£,fname=rjcontent"not-null=jrtme"/><praperrygenerated="n^ver1*lasy^,ffaIJsennaite=tateV><propertygenexa匸它皿工”觀芒卩童亍1*lazy="talser,name-rjrentainriine"/><setcascade=ft^ll"laz\*= naite=,freceiveMess"sart-=NtinsortedH><keycolumn=,rser:cLMesiDp,/><one-to-Bfcauyclass=,rvo.ReceiveMss11/></set></dass></hibernate-mapping>圖4.16TBMESSendMes映射文件<hibernace-mapping>Mvo.FleceiveMes**tah1e= cej.vsM?s**><idnair£="F£d"><gentratorelftss*,fnativs"/></id><propercygenerated"f,nev*rlazy?"£占丄sef,name?"receivsID,,/><propertygenerated-^nsvsr,1丄"fd丄se"name-F,stateV><proE?Erygenerated-r,r:sver,Jlazy-,F(xiàn)^a丄s芒"nun亡■"ZsJ?蘭旦d"/〉<ma^y-tc-onecascadew,,a2I,rcolumn^"ssndMesID,'l&z^"false"naixe="sendMes</cla3s></hitoernate^mapping>H圖4.17TB_MES_ReceiveMes映射文件<propercyname^**didiectJt>or^,hibernate.dialect,OracleDialecr</properCy><!-數(shù)據(jù)庫(kù)連接一》^propertyname=nGonneGtiQnrurl^jdbc;oxacle;-chln;@localhcsv;1521;oadb</proper^y><!-數(shù)據(jù)庫(kù)連接用戶名-><propertynarne^"connectxon?usernainE,J>3cott</property><■-數(shù)據(jù)庫(kù)連接密碼一〉<propert-yname=**Gonnection^p^ssvor^">匸1丁亡1"<:”1)十口1)亡<!--馳動(dòng)—><propertyname="Gonnection?drivTei^Gldss">oxacle?jdbc.OrmcNwDrj/VErcfprcjpEHtyA<\-_顯示豈取語(yǔ)句-_><propertyname="shov_sql">zrue</praperty><!—自動(dòng)建:表-~><prcp亡rtynair.e="?iih?ernate* I.目口七o*f>update</pro]perty><F—映射文件-亠<przpertynair.e■Rtnyeclipse*connecrion*profiie,r>OADB</prcperty><iEappmgres:QL]Tce=rtvt)/SendMes.htun.xml,f/><mappingresource""vo/ReceiveMes.hbmtxml,r/></sesaion-f圖4.18數(shù)據(jù)庫(kù)配置文件采用Hibernate自帶的HQL查詢語(yǔ)句對(duì)數(shù)據(jù)進(jìn)行查詢,如圖4.18所示。按如下步驟進(jìn)行:⑴獲取HibernateSession對(duì)象:⑵編寫(xiě)HQL語(yǔ)句:(3)以HQL語(yǔ)句作為參數(shù),調(diào)用Session的createQuery方法創(chuàng)建查詢對(duì)象:⑷如果HQL語(yǔ)句包含參數(shù),調(diào)用Query的setXxx方法為參數(shù)賦值:(5)調(diào)用Query對(duì)象的list等方法遍歷查詢結(jié)果。//使用內(nèi)麻接?xùn)嗽兊腍QL語(yǔ)句Stringhql■p3elea:tc?aendlDjb?疋上ceivelD,c■匕□口ic^c?廿上ntiriTne:.£:.idlfY口mReGei^eMesbinnezjoinb?才亡ni!Mu:3cp;lxs匸=session?匸工亡玉匸芒切亡三胃(bql】=1■丄st匸[乂;U://提交事物)catch(Exceptione}fe^pzln^SnacfcTxace();//打印異常fB忌圖4.19HQL查詢利用UPDATE方法更新數(shù)據(jù)庫(kù),如圖4.20所示。插入數(shù)據(jù)時(shí),如果是一對(duì)多關(guān)系的,先插入一的那個(gè),瞬時(shí)對(duì)象要保存。不然在后面的代碼中,保存Student時(shí),會(huì)因?yàn)閟endMes在數(shù)據(jù)庫(kù)中沒(méi)有而發(fā)生瞬時(shí)對(duì)象不存在異常, 再插入多的一方,多的一方通過(guò)split區(qū)分出收件人,依次進(jìn)行插入,代碼如圖4.21所示。for(Surings:ids){//通過(guò)循環(huán)茯取王鍵idIntegerid-Integer,vjiueOX'fs);//卡專換為T(mén)nwg亡工型/V通過(guò)方法加數(shù)據(jù)ReceiveMesreceive=(ReceiveMes) (Receivei^es.classfz.d}7receive?setState(2);session.update(receive}; 出1除婁SIS//提交事物//session?d亡丄亡匸亡(工亡u亡Lv//提交事物session?ge^Transaccion()*cornr^ic(}:catch(Exception亡){e*printS匸acJcTrau亡();..扌T~E卩異'常,息,session亡匸Tir曰n呂且ctian()?rullJDack();;/回滾事物圖4.20更新數(shù)據(jù)庫(kù)主要代碼M繪嘰unu#■hPL二繪ELQ丄JJk口口)FsendHcs.setSendTime(newTimestamp(newDane()?gtcTLrae()));sendMes.,.setCon匸巳口匸(co口匸它口匸】;sendMes?setTapie(topic};sendMea+State(1);"瞬時(shí)對(duì)象要保存。不然在后面的代碼中,保存Srudent時(shí),僉因?yàn)間endMes在數(shù)據(jù)庫(kù)中沒(méi)有而岌生瞬時(shí)對(duì)象不?存3e33ian*save(sendMes};String|[]result■redeivelD?split("Jrfor(inti=0;i<res口】匸?丄亡ngth;14+) {ReceiveMesEeeftiveMes■newReceiveMes()/intreceiveIDint=Integerhparselnt(result[1]);recelveMes?secRecexvelD(recelvelDInt);reaeiveMeSisetSendMes(^endMes)jrecelveMes?secSta匸亡(1};receivieMea!,set^IsRead{;sessicm?save(receiveHes);)session.BgetTransaGtion(J?cornmit(J;//提交事物圖4.21添加數(shù)據(jù)主要代碼4.6過(guò)濾器在項(xiàng)目中的應(yīng)用為了防止出現(xiàn)中文亂碼等編碼問(wèn)題,設(shè)置了過(guò)濾器,將編碼全部轉(zhuǎn)為“UTF-8”,主要代碼見(jiàn)圖4.22.piablicclassStrFiltezimplemeiitsFiltetfpublicvoiddesxroy0{//TODOAuto-generatedmeth口且stub}publicvoiddoFiltei(SeivletRequestazgOrServletResponseiarglpFilt皂疋且inarg2)throwslOException,ServletException{?argOH3*etChaXiactexEncQding("utf-B");argl?setCharacterEneoding(flutf-6ir>;asrgZ.doFllcer(argQnargl);)publicvoidinit(F.11terConfigargO)throwsServletExcepclon{//TODOAut-a-generatedmethodstub}}圖4.22過(guò)濾器主要代碼4.7JavaMail在項(xiàng)目中的應(yīng)用JavaMail是Sun公司為方便開(kāi)發(fā)人員在應(yīng)用程序中能夠?qū)崿F(xiàn)郵件發(fā)送和接受功能而提供的一套標(biāo)準(zhǔn)開(kāi)發(fā)包,包括面向普通開(kāi)發(fā)人員調(diào)用的 API和實(shí)現(xiàn)了SMTP、POP3IMAP、MIME等底層協(xié)議的服務(wù)提供程序。接收郵件時(shí)先建與服務(wù)器的連接,然后打開(kāi)郵件夾,之后循環(huán)讀取郵件信息,獲取郵件的主題、內(nèi)容和附件,見(jiàn)圖 4.23。LrUX.U<WOn-FK-J.¥ LrJ-UXXf丄■■>Jumh_上」J-LUlL叫r-esponse?aetContentType(^text/tacrO;chaxsec=GBK11};HctpSeasLansession■request?g亡tSrs已九口!!();Scrmghost■seaalan-gstAcnritoune(whascw)■匸aSerlng(}?H茯取主機(jī)窖Stringusexna?e■害亡自弓1??凇隹谕鰅:鼻m:jLEn?皀Lum亡mam亡■tQSEric口門(mén);//茯取由b箱名Stringpassword=ffesslon?getA匸t工db口("■pirfd1')■上口£匸匕:1口0();./默取.邕碼StringstrPage=(String)recjue91.getParairje匸芒工(艸F?g皀艸);'/試取,當(dāng)目ij頁(yè)intPage=1;Lis匸lis匸=newArrayList(J;MyPagina匸丄anpagination=null;if(srrPage?null){paig-inaxion■uftwXyPagination();paig-inaxion■*+**?*+**獲取郵件倉(cāng)息mStorestore=null;try{store=connection(host,usernjairiefpassword); 八建XZ與郵件報(bào)芬弦的連接Folderfolder=(Folder)store.^皂匸卩口丄也亡工^工曲口掘1*);folder,open(Fs1der.READ_J(fJ1IT^}; //fTH郵件夾//***曲*?曲*■★曹'?世■擊世'?*■擊■*?曲* ?宵斷■曲* ■曲*■古斷?曲*■**ri|*?曲*Message[]message=folder.ge匸“電芳耳盛^芒耳(》二Stringmail_ccntent=nn;Stringnail_attach=wn;Message^essagel=null;System?占口七■口工:mtlnr1郵1牛T數(shù):p,+me33age.1engch):f 循環(huán)讀取郵件佰患 for(inti■'messageeng匸ti■ 1>■0:1--)(MxmeMcssage皿=(MxmeMedsage)nie-ddagelEi];Ema11Formf=newEmailFarmt)'7m&ssag&I=mesaage[i];f?setMessageld(m?g已匸M已呂s注g已ID(});F由『豐工DStringaddress=it啟3sag皂工?g?et;From()[0]?eoString();intn=address.mdexOf(■<■);圖4.23接收郵件主要代碼4.8JspSmartUpload在項(xiàng)目中的應(yīng)用jspSmartUpload是一個(gè)可免費(fèi)使用的全功能的文件上傳下載組件, 適于嵌入執(zhí)行上傳下載操作的JSP文件中。該組件有以下幾個(gè)特點(diǎn):1、 使用簡(jiǎn)單。在JSP文件中僅僅書(shū)寫(xiě)三五行java代碼就可以搞定文件的上傳或下載,方便。2、 能全程控制上傳。利用jspSmartUpload組件提供的對(duì)象及其操作方法,可以獲得全部上傳文件的信息(包括文件名,大小,類(lèi)型,擴(kuò)展名,文件數(shù)據(jù)等),方便存取。3、 能對(duì)上傳的文件在大小、類(lèi)型等方面做出限制。如此可以濾掉不符合要求的文件。4、 下載靈活。僅寫(xiě)兩行代碼,就能把Web服務(wù)器變成文件服務(wù)器。不管文件在Web服務(wù)器的目錄下或在其它任何目錄下,都可以利用 jspSmartUpload進(jìn)行下載??谠卩]件發(fā)送部分采用jspSmartUpload實(shí)現(xiàn)了附件的上傳,上傳頁(yè)面如圖4.24所示。上傳 File如T上傳 File如T區(qū)囲睪上袴甬交箱 i用苞???」注L文件大小請(qǐng)控制在1飾以內(nèi)。[W1匚臺(tái)豈>訣- 新建丈曜■下載K桌竟?fàn)?wèi)訪冃弐遷三曲庫(kù)3視預(yù)7圏片胡文普迅17^圖4.24郵件附件上傳第五章總結(jié)與展望5.1項(xiàng)目總結(jié)5.1.1小組完成的工作經(jīng)過(guò)為期兩個(gè)月的艱苦奮斗,本小組從需求分析、詳細(xì)設(shè)計(jì)、編碼、測(cè)試到集成部署,完成了項(xiàng)目的前期文檔準(zhǔn)備,中期編碼完成,后期集成

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論