基于JSP技術(shù)的OA辦公自動化系統(tǒng)_第1頁
基于JSP技術(shù)的OA辦公自動化系統(tǒng)_第2頁
基于JSP技術(shù)的OA辦公自動化系統(tǒng)_第3頁
基于JSP技術(shù)的OA辦公自動化系統(tǒng)_第4頁
基于JSP技術(shù)的OA辦公自動化系統(tǒng)_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 分類號: TQ244.1 學(xué) 號:210601017 密 級: 無 基于JSP技術(shù)的OA辦公自動化系統(tǒng)Office Automation System Based On Jsp Technology學(xué)位授予單位及代碼: 長 春 工 業(yè) 大 學(xué) (10190)工程領(lǐng)域名稱及代碼: 計算機技術(shù) ( 430112) 研 究 生 姓 名: 校內(nèi)指導(dǎo)教師及職稱: 企業(yè)指導(dǎo)教師及職稱: 二一一 年 三 月長春工業(yè)大學(xué)工程碩士學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的碩士學(xué)位論文,基于JSP技術(shù)的OA辦公自動化系統(tǒng)是本人在指導(dǎo)教師的指導(dǎo)下,獨立進行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不包

2、含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標(biāo)明。本人完全意識到本聲明的法律結(jié)果由本人承擔(dān)。 作者簽名: 年 月 日長春工業(yè)大學(xué)工程碩士學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者及指導(dǎo)教師完全了解“長春工業(yè)大學(xué)碩士學(xué)位論文版權(quán)使用規(guī)定”,同意長春工業(yè)大學(xué)保留并向國家有關(guān)部門或機構(gòu)送交學(xué)位論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)長春工業(yè)大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,也可采用影印、縮印或掃描等復(fù)制手段保存和匯編學(xué)位論文。 作 者 簽 名: 年 月 日 校內(nèi)指導(dǎo)教師簽名: 年 月 日 企業(yè)指導(dǎo)教師簽名:

3、 年 月 日摘 要OA系統(tǒng)即指辦公自動化,它利用現(xiàn)代技術(shù)來提高工作效率,進而實現(xiàn)工作的自動化,改變過去低效而復(fù)雜的手工辦公方式,大大方便各企事業(yè)單位內(nèi)部員工之間的溝通和交流,實現(xiàn)信息的收集、處理等。使用OA系統(tǒng)不僅提高工作效率,也為大多數(shù)企事業(yè)節(jié)約了大量資金,為二十一世紀(jì)提出的節(jié)能減排做出應(yīng)有的貢獻。做為集信息化和知識化于一身的一個基礎(chǔ)辦公平臺,將來的OA系統(tǒng)必將朝著這個方向更好的向前發(fā)展。本文采用現(xiàn)代最新技術(shù)理念對已有的OA系統(tǒng)進行了研究,在研究基礎(chǔ)上采用最新的協(xié)同辦公理念來研究辦公自動化系統(tǒng)。本文采用MVC設(shè)計模式并基于J2EE架構(gòu)基礎(chǔ)上開發(fā)了OA系統(tǒng),本文所研究系統(tǒng)具有平臺無關(guān)的特性。對

4、于中小型的企事業(yè)單位最適合采用本文所研究的OA系統(tǒng)。他除了能夠?qū)崿F(xiàn)知識管理以外還能夠?qū)崿F(xiàn)分布式的辦公。知識管理的特點是能夠使各種文件、信息按照一定的權(quán)限進行保存、共享和使用,并且對于這些操作還要有一定的查詢措施,方便各部門、教研室之間信息的共享與發(fā)布、查找和替換,為建立學(xué)習(xí)型組織打下基礎(chǔ)。通過對路由器的設(shè)置解決本系統(tǒng)實現(xiàn)跨地域的辦公和移動辦公。對系統(tǒng)的功能性采用黑盒測試方法進行全面測試,結(jié)果表明基本能夠滿足我校教職工的需要。為了對系統(tǒng)下一步的運行提供更好的依據(jù),在對本系統(tǒng)的測試上采用手工與相關(guān)測試軟件相結(jié)合的方式進行。關(guān)鍵詞:JSP 工作流 辦公自動化 協(xié)同AbstractOA refers

5、office automation system, which uses modern technology to improve efficiency, so as to realize the automation of work, change the inefficient and complex manual office procedures, greatly facilitate the enterprises of communication between internal staff and exchange information to achieve the colle

6、ction, processing and so on. Using the OA system not only improve efficiency, but also for most of the enterprises and saves a lot of money raised for the twenty-first century and make due contribution to energy saving. As a set of information and knowledge in an office platform, a basis for the fut

7、ure of the OA system better in this direction will move forward. In this paper, the concept of modern latest technology OA system on the existing studies, research-based collaboration using the latest office to study the concept of office automation systems. In this paper, based on J2EE architecture

8、 using MVC pattern of development of the OA system with platform independence. The system studied in this paper is mainly used in small enterprises. To achieve knowledge management and distributed office. Knowledge management to a variety of documents, information will be saved by permission, share

9、and use, but also the need for effective search means to facilitate the various departments, information sharing between the Department and to publish, find and replace. To establish a foundation for learning organizations. By setting the router to solve the system to achieve cross-regional office a

10、nd mobile office. Functionality of the system fully tested using black-box testing methods, the results show that the faculty can basically meet the needs of our school. In this paper, the security of the system by hand with a combination of testing tools to conduct a comprehensive inspection, the e

11、xisting problems to improve for the next operation to provide references. Keywords: Jsp Workflow Office Automation Collaborative目 錄 TOC o 1-3 u 摘 要 PAGEREF _Toc281898965 h IIAbstract PAGEREF _Toc281898966 h III第一章 概 論 PAGEREF _Toc281898967 h 31.1 辦公自動化系統(tǒng)產(chǎn)生的背景與國內(nèi)外現(xiàn)狀 PAGEREF _Toc281898968 h 31.1.1 辦公自

12、動化產(chǎn)生的背景 PAGEREF _Toc281898969 h 31.1.2 辦公自動化的國內(nèi)外現(xiàn)狀 PAGEREF _Toc281898970 h 41.2 本文的組織 PAGEREF _Toc281898971 h 5第二章 相關(guān)技術(shù)簡介 PAGEREF _Toc281898972 h 62.1 MYSQL簡介 PAGEREF _Toc281898973 h 62.2 Java技術(shù)簡介 PAGEREF _Toc281898974 h 72.3 J2EE體系 PAGEREF _Toc281898975 h 72.4 Java Servlet概述 PAGEREF _Toc281898976 h

13、 72.5 JDBC概述 PAGEREF _Toc281898977 h 82.6 JDBC類型 PAGEREF _Toc281898978 h 92.7 Struts基于MVC設(shè)計模式的技術(shù)實現(xiàn) PAGEREF _Toc281898979 h 102.8 JSP技術(shù) PAGEREF _Toc281898980 h 112.8.1 JSP的特點 PAGEREF _Toc281898981 h 122.8.2 JSP與其他技術(shù)的區(qū)別 PAGEREF _Toc281898982 h 12第三章 系統(tǒng)需求分析 PAGEREF _Toc281898983 h 143.1 可行性分析 PAGEREF _

14、Toc281898984 h 143.2 功能需求分析 PAGEREF _Toc281898985 h 143.3數(shù)據(jù)需求分析 PAGEREF _Toc281898986 h 153.3.1實體屬性圖 PAGEREF _Toc281898987 h 153.3.2實體關(guān)系圖 PAGEREF _Toc281898988 h 18第四章 系統(tǒng)總體設(shè)計 PAGEREF _Toc281898989 h 194.1系統(tǒng)總體設(shè)計目標(biāo) PAGEREF _Toc281898990 h 194.1.1前臺設(shè)計目標(biāo) PAGEREF _Toc281898991 h 194.1.2后臺設(shè)計目標(biāo) PAGEREF _To

15、c281898992 h 194.2 功能結(jié)構(gòu)設(shè)計 PAGEREF _Toc281898993 h 204.2.1 辦公自動化管理系統(tǒng)前臺功能結(jié)構(gòu)圖 PAGEREF _Toc281898994 h 204.2.2 辦公自動化管理系統(tǒng)后臺功能結(jié)構(gòu)圖 PAGEREF _Toc281898995 h 214.3 系統(tǒng)主要功能 PAGEREF _Toc281898996 h 214.4 主要數(shù)據(jù)結(jié)構(gòu)設(shè)計 PAGEREF _Toc281898997 h 23第五章 系統(tǒng)詳細設(shè)計 PAGEREF _Toc281898998 h 265.1 數(shù)據(jù)庫的設(shè)計與實現(xiàn) PAGEREF _Toc281898999 h

16、 265.2 通訊錄功能的設(shè)計 PAGEREF _Toc281899000 h 295.2.1 新增聯(lián)系人關(guān)鍵代碼 PAGEREF _Toc281899001 h 295.2.2 保存更新后頁面信息代碼 PAGEREF _Toc281899002 h 305.3 公告管理模塊的設(shè)計 PAGEREF _Toc281899003 h 31第六章 系統(tǒng)實現(xiàn) PAGEREF _Toc281899004 h 336.1系統(tǒng)運行環(huán)境 PAGEREF _Toc281899005 h 336.2 主要程序界面 PAGEREF _Toc281899006 h 34結(jié)論 PAGEREF _Toc281899007

17、 h 37致謝 PAGEREF _Toc281899008 h 38參考文獻 PAGEREF _Toc281899009 h 39第一章 概 論隨著科學(xué)技術(shù)的發(fā)展,人們生活節(jié)奏的不斷加快,現(xiàn)代的辦公方式已經(jīng)逐漸替代古老而陳舊的辦公模式,一種全新的OA辦公自動化系統(tǒng)逐漸走進人們的生活,進入人們的視野。OA系統(tǒng)的誕生既可以為我們節(jié)約大量的資金,人力和物力,又減少了大量重復(fù)而瑣碎的工作,大大提高我們的工作效率。OA系統(tǒng)的出現(xiàn)不僅改變了以往的工作方式,同時它的出現(xiàn)也具有里程碑的意義。本文所探討的OA系統(tǒng)與以往高校所使用的系統(tǒng)具有很大的區(qū)別,全新引進協(xié)同辦公的理念,采用JSP技術(shù),解決大多數(shù)的跨平臺問題

18、,為我們高校的發(fā)展貢獻一份力量。1.1 辦公自動化系統(tǒng)產(chǎn)生的背景與國內(nèi)外現(xiàn)狀1.1.1 辦公自動化產(chǎn)生的背景隨著科學(xué)技術(shù)的日益創(chuàng)新和不斷發(fā)展,國內(nèi)電子商務(wù)技術(shù)也是越來越成熟,使得當(dāng)今社會已經(jīng)步入了信息化時代,辦公自動化系統(tǒng)則逐漸成為各企事業(yè)單位不可缺少的一種工作手段1。OA辦公自動化系統(tǒng)的使用改變了過去傳統(tǒng)的低效率的工作方式,實現(xiàn)了辦公的自動化、集成化,使用OA系統(tǒng)可以解決各個不同崗位間協(xié)同工作的問題,使我們學(xué)校的工作效率得到了大大的提高?,F(xiàn)代辦公方式在各企事業(yè)單位內(nèi)部基本上都是流程化的,因此為了提高單位協(xié)同工作的效率,就必須對工作的流程進行自動化、對工作的流程進行規(guī)范化2。在當(dāng)前金融危機爆發(fā)

19、的大背景下,實施OA辦公自動化系統(tǒng)之后可以為我校避免人力資源的浪費,同時為我校節(jié)省大量的資金,而且可以提高整體的工作效率。1.1.2 辦公自動化的國內(nèi)外現(xiàn)狀OA即指辦公的自動化,它是在現(xiàn)代的先進技術(shù)理念的基礎(chǔ)上催生的一種高效的辦公方式。它基于工作流程化的概念,它能夠更好的解決企事業(yè)單位內(nèi)部員工之間協(xié)同工作的問題,它對信息的采集能夠?qū)崿F(xiàn)迅速、高效。對信息的處理基本上能夠?qū)崿F(xiàn)自動化,因此說,OA技術(shù)的出現(xiàn),為我們帶來了一場工作模式上的變革,也為我們單位內(nèi)部的管理和教師間的相互溝通提供了一個更好的平臺3。原通用電氣的CEO杰克.韋爾奇說:“一個組織機構(gòu)獲取知識以及將知識快速轉(zhuǎn)化為行動的能力是其最終的

20、競爭優(yōu)勢4。”作為企事業(yè)信息化和知識化基礎(chǔ)的一個平臺,將來的工作模式都將在現(xiàn)代先進技術(shù)理念的指導(dǎo)下進行,屆時,OA系統(tǒng)將會有更大的發(fā)揮空間。國外的研究情況:辦公自動化最初的功能只相當(dāng)于目前的記事本,他最早形成于上世紀(jì)50年代的美國和日本。管理信息系統(tǒng)(MIS)在60年代的初期出現(xiàn),它的出現(xiàn)取代了最早形成的辦公自動化系統(tǒng),隨著時間的推移,辦公自動化系統(tǒng)逐漸形成雛形要追溯到70年代后期和80年代的初期5。80年代初期,國外許多有名的電腦公司由于技術(shù)的提升,也紛紛走進辦公自動化這一巨大的市場。隨著SOA架構(gòu)技術(shù)的不斷成熟和逐漸升級,協(xié)同OA逐漸走入了市場。為了能夠分得辦公自動化系統(tǒng)這塊巨大的蛋糕,國

21、際上的一些知名大公司如IBM、微軟等,也先后推出自己公司的OA技術(shù)產(chǎn)品6。國內(nèi)的研究情況:我國的OA已經(jīng)從過去的傳統(tǒng)辦公方式逐漸過度到了協(xié)同的辦公。例如:用友、金和、通達等已經(jīng)推出了自己的品牌產(chǎn)品,成為了協(xié)同軟件的領(lǐng)頭羊7。在這種情況下,江蘇信捷軟件公司推出的信捷OA協(xié)同辦公管理系統(tǒng)也具有它特定的特點,性能穩(wěn)定、功能強大、速度快并且使用方便,系統(tǒng)主要由工作流、文件管理等幾部分組成,采用B/S架構(gòu)、數(shù)據(jù)庫服務(wù)器,界面設(shè)計人性化,無需專業(yè)知識即可對系統(tǒng)進行熟練的操作8。雖然我國的OA系統(tǒng)已經(jīng)取得了非常驚人的發(fā)展,但是還存在一些無法忽視的問題,例如:開發(fā)手段單一、核心技術(shù)缺失,創(chuàng)新設(shè)計少且嚴(yán)重依賴平

22、臺,而且沒能形成統(tǒng)一的標(biāo)準(zhǔn),各行各業(yè)參差不齊,基本沒有像樣的售后服務(wù)9。因此需要對國內(nèi)的OA系統(tǒng)進行統(tǒng)一的要求,統(tǒng)一的技術(shù)規(guī)范,對整體的開發(fā)水平要有更高的要求,這樣才能使未來國內(nèi)的OA系統(tǒng)朝著更加美好的方向發(fā)展,達到與國際水平接軌。1.2 本文的組織第一章 本系統(tǒng)的開發(fā)是在什么樣的背景下開始的。第二章 主要介紹開發(fā)本系統(tǒng)用到的相關(guān)技術(shù)。第三章 主要介紹開發(fā)系統(tǒng)的相關(guān)需求分析。第四章 主要介紹系統(tǒng)總體設(shè)計相關(guān)情況,包括數(shù)據(jù)需求分析,數(shù)據(jù)庫設(shè)計等。第五章 對系統(tǒng)進行詳細設(shè)計,包括關(guān)鍵代碼等。第六章 介紹實現(xiàn)本系統(tǒng)所需的基本硬件配置和相關(guān)環(huán)境。第二章 相關(guān)技術(shù)簡介本系統(tǒng)采用JSP技術(shù),運用J2EE架

23、構(gòu),基于MYSQL數(shù)據(jù)庫對系統(tǒng)進行開發(fā),本章簡要介紹一下開發(fā)能用到的關(guān)鍵技術(shù)。2.1 MYSQL簡介MYSQL最早由一家瑞典的MySQLAB公司開發(fā)設(shè)計,MYSQL是一種關(guān)系型數(shù)據(jù)庫系統(tǒng)10。它的基本特點是:執(zhí)行速度快、總體容量小,并且由于它是一種開放源代碼的數(shù)據(jù)庫,使得它的使用成本大大降低,從而也拓寬了它的使用范圍。1. MYSQL的編寫基本上采用用C和C+,調(diào)用硬件執(zhí)行速度非???,并且它的測試手段靈活,采用大量編譯器進行,因此使得它編寫出來的代碼具有一定的移植性和兼容性。2.支持Novell Netware、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)。 3.它所具有的

24、API功能可以為大多數(shù)的編程語言提供。這些編程語言包括C、Python、C+、Java、Perl、Eiffel、PHP等。 4.查詢速度大大提高,并優(yōu)化了SQL查詢算法。5.對于數(shù)據(jù)庫的操作,它提供了許多管理工具例如:檢查和優(yōu)化等。6.它能夠?qū)Χ嗑€程技術(shù)進行很好的支持,因此使得對CPU的利用率得到大大的提高。7. MYSQL數(shù)據(jù)庫不僅可以嵌入到其他的軟件中來提供語言支持,也可以獨立的作為一個客戶端應(yīng)用到網(wǎng)絡(luò)中11。8. MYSQL數(shù)據(jù)庫提供對JDBC等的鏈接。 2.2 Java技術(shù)簡介Java技術(shù)是由美國Sun公司推出的,是一種簡單易用、面向?qū)ο蟆⒕哂锌缙脚_且安全可靠的面向網(wǎng)絡(luò)的開發(fā)工具。Ja

25、va技術(shù)包括Java語言和Java MediaAPIs、SecurityAPIs 、Java Applet、ManagementAPIs、Java RMI、Java Beans、Java Servlet、Java OS、JDBC等12。隨著JSP技術(shù)的不斷成熟, Java也開始逐漸的走進Web開發(fā)的舞臺。Java技術(shù)給我們帶來的是一場革命,它是第一個真正跨平臺的語言,由于具有平臺的無關(guān)性,因此Java擁有強大的移植能力和網(wǎng)絡(luò)處理能力已成為目前我們研究人員、開發(fā)人員等青睞的焦點,它對網(wǎng)絡(luò)計算和動態(tài)多媒體信息的處理使得Java與Web結(jié)合的開發(fā)過程更加成熟。它具有 “一次設(shè)計,到處運行”的特點,使

26、得整個Web開發(fā)世界發(fā)生了翻天覆地的變化13。2.3 J2EE體系J2EE利用Java2平臺為企業(yè)級的開發(fā)等簡化操作,是為相關(guān)的管理提供一種平臺的架構(gòu)體系,它由Sun公司研究并進行統(tǒng)一標(biāo)準(zhǔn)。J2EE技術(shù)的基礎(chǔ)核心是Java或Java2平臺,J2EE在繼承了標(biāo)準(zhǔn)版中的優(yōu)點外,還提供了對EJB(Enterprise JavaBeans)、Java Servlet API等技術(shù)的全面支持。Enterprise JavaBean的向?qū)Чδ苤С执虬筒渴鸬认嚓P(guān)應(yīng)用,不僅增強了使用的安全性,同時也提高了基于J2EE體系所開發(fā)系統(tǒng)的性能,使用J2EE體系,其最終結(jié)果是縮短了開發(fā)時間,使得開發(fā)者在研究周期所使

27、用的時間上也大大縮短了,在投放市場的時間上有了充足的保障,因此,使用J2EE體系來開發(fā)系統(tǒng)不僅可以節(jié)省大量的時間,同時也支持對所有應(yīng)用程序的集成14。2.4 Java Servlet概述Servlet技術(shù)早于J2EE平臺出現(xiàn),它是一種采用了相關(guān)類和方法的Java程序。它提供在WEB上進行請求和響應(yīng)的服務(wù),它通過對框架的創(chuàng)建來擴展服務(wù)器的功能, Servlet是一種服務(wù)器端的java應(yīng)用程序。下面我們來看一下他的技術(shù)特點:1 高效它有許多優(yōu)點,例如:當(dāng)N個客戶端同時進行訪問的時候,servlet可以為每個請求分配一個線程。2 跨平臺性Servlet和Java語言一樣都有跨平臺性,它是由Java語

28、言編寫,因此具有Java語言的特性。3 方便實用由于Servlet提供得許多工具集都封裝在各種不同的類中,因此在使用的過程中可以直接對其調(diào)用即可。4功能強大Servlet可以和web服務(wù)器直接進行交互操作,許多傳統(tǒng)CGI完不成的任務(wù),它都可以順利完成。5 數(shù)據(jù)共享Servlet要想實現(xiàn)數(shù)據(jù)庫連接池可以通過對數(shù)據(jù)的共享。對用戶的請求管理非常方便,簡化獲取頁面信息的操作。6 可擴展性servlet繼承了java語言的許多特點,例如:使用靈活、隨意擴展等。7 高效的安全機制繼承java的安全特性,具有SSLCA認證等安全機制。2.5 JDBC概述JDBC 的接口類型主要有兩種,一種是JDBC API

29、,它主要是為面向程序開發(fā)人員而設(shè)計的,另一種是JDBC Drive API,它主要是面向底層的。下面我們對JDBC API接口做一個初步的了解。程序開發(fā)者可以利用JDBC API接口對數(shù)據(jù)庫進行連接,并對數(shù)據(jù)庫的相關(guān)語句進行操作等。如圖2-1給出了JDBC API接口的功能圖15。DriveManager (驅(qū)動管理程序)DriveManager (驅(qū)動管理程序)Connection連接)Connection (連接)Connection (連接)Statement(聲明)Statement(聲明)Statement(聲明)Statement(聲明)Resultset(結(jié)果)Resultset

30、(結(jié)果)Resultset(結(jié)果) 圖 2-1 JDBC API接口功能圖在圖2-1所示的JDBC API接口中,java.DriveManager的主要功能是將驅(qū)動程序加載,從而為新創(chuàng)建的數(shù)據(jù)庫提供一定的支持,java.sql.Connection完成對指定數(shù)據(jù)庫的連接操作,java.sql.Statement作為SQL執(zhí)行聲明的容器,java.sql.ResultSet控制給定SQL聲明獲得的結(jié)果信息16。2.6 JDBC類型JDBC驅(qū)動程序主要分為以下四種類型:1、native-API partly-Java driver它的主要功能是用于將JDBC調(diào)用等價的轉(zhuǎn)換為對客戶端數(shù)據(jù)庫API的

31、調(diào)用。2、JDBC-ODBC bridge 主要起到一個橋梁的作用,具有橋接功能。將JDBC轉(zhuǎn)換為ODBC。3、net-protocol all-Java driver(JDBC Proxy) 它是一個獨立于數(shù)據(jù)庫管理系統(tǒng)的一種網(wǎng)絡(luò)協(xié)議,并基于Java的驅(qū)動程序。4、native-protocol all Java driver 和第三種類型的功能有些類似,主要是某些特定數(shù)據(jù)庫的網(wǎng)絡(luò)協(xié)議被JDBC調(diào)用轉(zhuǎn)換。2.7基于MVC設(shè)計模式的技術(shù)實現(xiàn)Struts是一種半程序化的框架,并且它的源代碼是開放的。這就使得許多剛剛踏入JSP的新手們可以非常方便、也非常容易學(xué)習(xí)和使用。由于Struts是一種框架,

32、因此我們在大多數(shù)的開發(fā)過程中可以直接在這個框架的基礎(chǔ)上來進行,而不必從零開始。我們在框架的基礎(chǔ)上進行系統(tǒng)的開發(fā)后,由于結(jié)構(gòu)非常明確,因此對于開發(fā)之后的維護就非常方便,也為以后系統(tǒng)功能的擴展和升級帶來一定的好處。Struts框架最初的設(shè)計和提出是在2000年,它的主要作用是為當(dāng)前的Web開發(fā)提供一個標(biāo)準(zhǔn)的開發(fā)模式17。Struts 框架標(biāo)準(zhǔn)化之后,我們廣大的開發(fā)者和愛好者之間的溝通和技術(shù)上的交流更加的方便。Struts 1.0版本的發(fā)布是在2001年左右, 由于它是一個半成品的應(yīng)用程序,使得它具有一定的擴展性和延續(xù)性,我們可以利用Struts 來開發(fā)目前大多數(shù)主流的Web應(yīng)用18。在Struts

33、中的每一部分都與MVC中的每一部分具有一一對應(yīng)的關(guān)系,在設(shè)計和開發(fā)Web系統(tǒng)的過程中,隨著科學(xué)技術(shù)的不斷提升,客戶需求的不斷增多,如何提高Web的執(zhí)行效率、可重復(fù)使用性等,如何降低成本,一直是我們關(guān)注的地方。其中,Craig McClanahan于2000年5月份提出的Jaksrta Struts FraneWork,將目前最流行的兩種服務(wù)器端技術(shù)JSP和Servlet融合在一起,為創(chuàng)建一種快速高效的Web應(yīng)用程序提供了一種新的方法,在未來的開發(fā)和設(shè)計中,可重復(fù)使用的框架技術(shù)將成為我們廣大開發(fā)者逐漸采用的新的技術(shù)手段19。在我將要敘述的系統(tǒng)中,我主要運用Struts框架,基于Java技術(shù),快速

34、構(gòu)建了一個結(jié)構(gòu)清晰、可擴展的oa系統(tǒng)。2.8 JSP技術(shù)隨著我國科學(xué)技術(shù)的發(fā)展,因特網(wǎng)逐漸走入人們的視野,電子政務(wù)也得到了蓬勃的發(fā)展,因此人們對動態(tài)Web技術(shù)的需求越來越多20。JSP技術(shù)源于Servlet技術(shù)的發(fā)展,Servlet技術(shù)的不斷發(fā)展催生了JSP技術(shù),因此JSP技術(shù)具有跨平臺性,執(zhí)行速度快,擴展性強等優(yōu)勢。基于以上因素,JSP技術(shù)的誕生為Web應(yīng)用的開發(fā)帶來了里程碑式的意義,它使得Web開發(fā)技術(shù)逐漸走向成熟,趨向穩(wěn)定21。2.8.1 JSP的特點(1)一次編寫,隨處運行。JSP來源于Java技術(shù),因此,它傳承了Java語言所獨有的許多特點,能夠運行Java虛擬機的操作系統(tǒng)就能運行J

35、SP,如Windows系列、Linux等。(2)自由擴展的JSP標(biāo)簽JSP的優(yōu)點是可以讓所有的 Web開發(fā)人員自行定義標(biāo)簽。使得標(biāo)簽的使用更加的靈活方便。(3)有統(tǒng)一的技術(shù)標(biāo)準(zhǔn)JSP是一種動態(tài)的網(wǎng)頁技術(shù)標(biāo)準(zhǔn),雖然它最初由Sun公司編寫,但是這個標(biāo)準(zhǔn)卻是由許多家公司共同建立起來的。因此,大多數(shù)的生產(chǎn)商和軟件公司都提供支持。(4)執(zhí)行性能高JSP可以生成一個Servlet線程來響應(yīng)相同客戶的請求,這樣就不需要重新編譯JSP文件,從而大大提高了程序的執(zhí)行效率。(5)開發(fā)工具多而強大由于JSP技術(shù)的基礎(chǔ)是Java技術(shù),而Java技術(shù)的相關(guān)開發(fā)工具比較多,如Eclipse等,因此,我們在開發(fā)JSP時,可

36、以借助大多數(shù)的Java開發(fā)工具。2.8.2 JSP與其他技術(shù)的區(qū)別JSP與ASP,PHP均為動態(tài)Web開發(fā)技術(shù)。ASP由微軟公司開發(fā),基于VBScript,它是一種動態(tài)網(wǎng)頁開發(fā)技術(shù) ,隨后,微軟公司又推出了ASP.NET,它在ASP的基礎(chǔ)上進行了功能的擴展,它大量吸收了面向?qū)ο笳Z言c#的特色,他比ASP具有更好的可復(fù)用性和可維護性22。ASP和ASP.NET是基于COM作為其組件技術(shù),需要與微軟公司的IIS綁定,因此只能適用于微軟公司開發(fā)的系統(tǒng),基本不具有跨平臺性,因此這一弱點成為ASP/ASP.NET發(fā)展的瓶頸。PHP是一種具有跨平臺性的嵌入式腳本語言,免費的開放源代碼的一種開發(fā)技術(shù),雖然它

37、具有跨平臺性,但是它的缺點是對分布式的處理不夠好。雖然三種開發(fā)技術(shù)都提供在HTML代碼中嵌入某些相關(guān)程序代碼,但JSP編寫的代碼被編譯之后,在Java虛擬機解釋執(zhí)行,并且只對第一次請求時發(fā)生,這樣就大大的加快了采用JSP技術(shù)的頁面執(zhí)行速度23。鑒于以上原因,本文采用JSP技術(shù)做為開發(fā)工具。第三章 系統(tǒng)需求分析3.1 可行性分析本校所使用的OA辦公自動化系統(tǒng)基本上滿足了教師平時的日常工作需要,同時也滿足了學(xué)校各職能部門在工作上的需求,通過使用辦公自動化系統(tǒng),不僅為學(xué)校節(jié)約大量資金,同時也方便了學(xué)校每位教師間的交流與合作,提高了工作效率。使學(xué)校的日常管理更加科學(xué),教師日常工作的處理也逐漸走入電子信

38、息時代。3.2 功能需求分析本系統(tǒng)是通過在學(xué)校內(nèi)部和本校大多數(shù)教師進行溝通后,本著簡潔實用的原則進行開發(fā)和設(shè)計的,因此通過相關(guān)的調(diào)查研究后,本系統(tǒng)主要具有以下幾大功能:1前臺教師管理模塊每位教師在進行注冊后,經(jīng)過審核會獲得一個相應(yīng)的賬號,用此賬號即可登錄到系統(tǒng)的前臺界面,通過前臺,每位教師可以對學(xué)校的各項通知進行瀏覽,可以填寫自己的工作計劃,可以使用短消息功能發(fā)送和接收信息,可以填寫個人通訊錄等。2后臺管理員模塊管理員登錄到后臺后,可以對每位注冊的教師進行審核,對每位教師所注冊的賬號進行權(quán)限的設(shè)置,對公告信息進行添加和刪除,對登錄日志進行查看和刪除等。3.3數(shù)據(jù)需求分析3.3.1實體屬性圖本系

39、統(tǒng)共涉及6個實體,實體屬性如下:標(biāo)記短信息標(biāo)記短信息編號內(nèi)容時間發(fā)件人用戶名圖3.1 短信息實體屬性圖工作日志實體屬性圖如下:工作日志工作日志編號所屬用戶日志標(biāo)題日志內(nèi)容時間圖3.2 工作日志實體屬性圖工作計劃實體屬性圖如下:工作計劃工作計劃用戶名年月日編號內(nèi)容圖3.3 工作計劃實體屬性圖公告信息實體屬性圖如下:公告信息公告信息內(nèi)容內(nèi)容編號發(fā)布者標(biāo)題時間編號發(fā)布者標(biāo)題時間圖3.4 公告信息實體屬性圖會議管理實體屬性圖如下:會議管理會議管理發(fā)布者開始時間結(jié)束時間編號會議內(nèi)容會議標(biāo)題會議地點 圖3.5 會議管理實體屬性圖通訊錄管理實體屬性圖如下:通訊錄管理通訊錄管理姓名姓名性別用戶名地址電話單位q

40、q郵編編號e-mail圖3.6 通訊錄管理實體屬性圖3.3.2實體關(guān)系圖用戶用戶短信息會議管理工作計劃通訊錄工作日志公告信息擁有擁有擁有查看擁有查看1NN1111111111NM1NM1MMNN圖3.7 OA系統(tǒng)實體關(guān)系圖第四章 系統(tǒng)總體設(shè)計4.1系統(tǒng)總體設(shè)計目標(biāo)本系統(tǒng)是根據(jù)學(xué)校教師日常工作的需求進行開發(fā)設(shè)計,功能不多但簡潔而使用,其主要實現(xiàn)如下設(shè)計目標(biāo)。4.1.1前臺設(shè)計目標(biāo)1 實現(xiàn)對學(xué)校重要信息內(nèi)容進行瀏覽的功能。2實現(xiàn)教師制定個人工作計劃的功能。3實現(xiàn)教師間的短消息發(fā)送功能。4實現(xiàn)教師工作日志的撰寫功能。5實現(xiàn)教師編寫個人通訊錄的功能。6實現(xiàn)對重要會議進行管理的功能。4.1.2后臺設(shè)計目

41、標(biāo)1 實現(xiàn)對教師的角色進行管理的功能2 實現(xiàn)對新注冊的教師進行審核的功能。3實現(xiàn)對教師的權(quán)限進行限制的功能。4 實現(xiàn)對公告信息,進行添加、刪除等功能。5實現(xiàn)對在線信息的查看和刪除的功能。、6 實現(xiàn)對登錄日志進行查看和刪除的功能。4.2 功能結(jié)構(gòu)設(shè)計4.2.1 辦公自動化管理系統(tǒng)前臺功能結(jié)構(gòu)圖如圖4-1所示:系統(tǒng)登錄系統(tǒng)登錄辦公自動化系統(tǒng)(前臺)通訊錄管理查看聯(lián)系人更新聯(lián)系人撰寫新的工作刪除已完成工作工作日志管理刪除日志撰寫新的工作日志短信息刪除短信息查看短信息公告信息查看公告內(nèi)容撰寫公告會議管理查看會議信息撰寫會議 圖4-1 前臺功能結(jié)構(gòu)圖4.2.2 辦公自動化管理系統(tǒng)后臺功能結(jié)構(gòu)圖如圖4-2

42、所示:系統(tǒng)登錄系統(tǒng)登錄辦公自動化系統(tǒng)(后臺)角色管理新增角色名刪除角色用戶審核接受注冊拒絕注冊日志管理查看登錄日志刪除登陸日志用戶管理添加用戶刪除用戶用戶權(quán)限設(shè)置圖4-2 后臺功能結(jié)構(gòu)圖4.3 系統(tǒng)主要功能1 通訊錄1-1 設(shè)置個人通訊錄,并添加新的聯(lián)系人。2 公告管理2-1 發(fā)布公告:向所有人發(fā)布公告(有權(quán)限者,否則不行)2-2 管理公告:刪除已過時公告(有權(quán)限者,否則不行)2-3 瀏覽公告:查看、瀏覽所有公告3 日程安排3-1 顯示日程安排3-2 添加和刪除日程4 工作日志4-1 設(shè)置個人工作日志4-2 顯示并更新日志5 短消息5-1 注冊用戶之間發(fā)送信息5-2 信息刪除6 會議管理6-1

43、 會議的申請6-2 會議的審核(有權(quán)限者)4.4 主要數(shù)據(jù)結(jié)構(gòu)設(shè)計表4.1 info(短信息表)字段名數(shù)據(jù)類型長度主鍵備注infoidint 4Y短信息編號usernamevarchar8用戶名sendervarchar16發(fā)送者sendtimedatetime4發(fā)送時間contenttext40短信息內(nèi)容isreadvarchar1是否已讀表 4.2 meeting(會議管理表)字段名數(shù)據(jù)類型長度主鍵備注meetingidint 4Y會議編號sendervarchar16發(fā)布者starttimedatetime8開始時間Titlevarchar16會議標(biāo)題endtimedatetime8結(jié)束

44、時間contenttext40會議內(nèi)容addressvarchar16開會地點表 4.3 affice(公告信息表)字段名數(shù)據(jù)類型長度主鍵否描述afficeidint 4Y公告編號Titlevarchar40公告標(biāo)題sendervarchar16發(fā)布者contenttext16公告內(nèi)容sendtimedatetime8公告發(fā)布時間表 4.4 workplan(工作計劃表)字段名數(shù)據(jù)類型長度主鍵備注workplanidint4Y工作計劃編號usernamevarchar8用戶名yeardatetime4年monthdatetime2月daydatetime2日contenttext16工作計劃內(nèi)

45、容字段名數(shù)據(jù)類型長度主鍵備注worklogidint 4Y工作日志編號timedatetime8日志時間contenttext16日志內(nèi)容titlevarchar40日志標(biāo)題usernamevarchar8用戶名表4.5 工作日志表(worklog)表 4.6 commuinfo(通訊信息表)字段名數(shù)據(jù)類型長度主鍵備注personnelidint4Y聯(lián)系人編號usernamevarchar8用戶名namevarchar16姓名sexvarchar10性別qqvarchar16聯(lián)系方式postcodevarchar16郵編emailvarchar16聯(lián)系方式telvarchar16聯(lián)系電話add

46、ressvarchar40常住地址companyvarchar16工作單位第五章 系統(tǒng)詳細設(shè)計5.1 數(shù)據(jù)庫的設(shè)計與實現(xiàn)本系統(tǒng)采用了大量的數(shù)據(jù)庫表,現(xiàn)列舉幾個典型表(1)通訊錄中聯(lián)系人表DROP TABLE IF EXISTS commuinfo;CREATE TABLE commuinfo (personnelid int(4) unsigned NOT NULL auto_increment,username varchar(8) NOT NULL default ,name varchar(16) NOT NULL default ,sex varchar(10) default NUL

47、L,tel varchar(16) default NULL,email varchar(16) default NULL,qq varchar(16) default NULL,company varchar(16) default NULL,address varchar(40) default NULL,postcode varchar(16) default NULL,PRIMARY KEY (personnelID), )(2)會議管理表DROP TABLE IF EXISTS meeting;CREATE TABLE meeting ( meetingID int(4) unsig

48、ned NOT NULL auto_increment, sender varchar(16) NOT NULL default , starttime datetime(8) default NULL, endtime datetime(8) default NULL, address varchar(16) default NULL, title varchar(16) default NULL, content text, PRIMARY KEY (meetingID),) (3)公告信息表DROP TABLE IF EXISTS affice;CREATE TABLE affice (

49、 afficeid int(4) unsigned NOT NULL auto_increment, sender varchar(16) NOT NULL default , title varchar(40) default NULL, content text, sendtime datetime(8) default NULL, PRIMARY KEY (afficeID),) (4)工作計劃表DROP TABLE IF EXISTS workplan;CREATE TABLE workplan ( workplanID int(4) unsigned NOT NULL auto_in

50、crement, username varchar(8) NOT NULL default , year int(4) default NULL, month int(2) default NULL, day int(2) default NULL, content text, PRIMARY KEY (workplanID),) (5)短信息表DROP TABLE IF EXISTS info;CREATE TABLE info ( infoID int(4) unsigned NOT NULL auto_increment,username varchar(8) NOT NULL defa

51、ult , sender varchar(16) NOT NULL default , content text, sendtime datetime(8) default NULL, isRead varchar(1) default 0, PRIMARY KEY (infoID),)(6)工作日志表DROP TABLE IF EXISTS worklog;CREATE TABLE worklog ( worklogID int(4) unsigned NOT NULL auto_increment, username varchar(8) NOT NULL default , time d

52、atetime(8) default NULL, title varchar(40) default NULL, content text, PRIMARY KEY (worklogID),) 以上數(shù)據(jù)庫表的設(shè)計均在mysql下設(shè)計通過JDBC導(dǎo)入。5.2 通訊錄功能的設(shè)計5.2.1 新增聯(lián)系人關(guān)鍵代碼由于每位教師所教學(xué)科不盡相同,所以每位教師應(yīng)該建立自己的個人通訊錄。當(dāng)?shù)卿汷A辦公自動化系統(tǒng)首頁后點擊上面的“通訊錄”命令后,即可進入個人通訊錄頁面,在該頁面中,默認將顯示幾個聯(lián)系人,在該頁面中可以添加和修改聯(lián)系人等。下面我們來看一下他的關(guān)鍵代碼。public ActionForward add

53、(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception if (isTimeout(request) return mapping.findForward(Constants.INDEX_KEY);ActionForward forward = mapping.findForward(Constants.ADD_KEY);return (forward);public ActionForward insert(ActionM

54、apping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception if (isTimeout(request) return mapping.findForward(Constants.INDEX_KEY);ActionMessages messages = new ActionMessages();CommuinfoForm CommuinfoForm = (CommuinfoForm) form;String username = getUser

55、name(request);/ 判斷boolean b = commuinfoDAO.isExist(username, commuinfoForm.getName();if (!b) / insert objectCommuinfo commuinfo = new Commuinfo ();commuinfo.setUsername(username);commuinfo.setName(commuinfoForm.getName();commuinfo.setSex(commuinfoForm.getSex();commuinfo.setMobile(commuinfoForm.getMo

56、bile();commuinfo.setEmail(commuinfoForm.getEmail();commuinfo.setQq(commuinfoForm.getQq();commuinfo.setCompany(commuinfoForm.getCompany();commuinfo.setAddress(commuinfoForm.getAddress();commuinfo.setPostcode(commuinfoForm.getPostcode();commuinfo DAO.insert(commuinfo);對通訊錄中已有的信息首先要進行判斷,添加完信息后進行頁面的保存操作

57、。5.2.2 保存更新后頁面信息代碼messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( commuinfo.message.edit.success);saveErrors(request, messages);/ get pageForm from sessionPageForm pageForm = (PageForm)getSession(request, Constants.PAGER_ADDRESS);/ get pager form list pagePager pager = commuinfoDAO.fi

58、ndPagerByUsername(username, pageForm.getPageSize(), pageForm.getPageNo();request.setAttribute(commuinfoList, pager.getResultList();request.setAttribute(pager, pager);ActionForward forward = mapping.findForward(Constants.LIST_KEY);return (forward);5.3 公告管理模塊的設(shè)計在這部分功能模塊中,主要實現(xiàn)對公告信息進行添加、修改和刪除等操作,普通教師用戶只

59、能對信息進行瀏覽,有權(quán)限者或者管理員可以對信息進行發(fā)布、刪除等操作。在該頁面中輸入與公告相關(guān)的信息后,單擊提交按鈕,則將要發(fā)布的公告保存在數(shù)據(jù)庫中,并呈現(xiàn)在辦公自動化的前端顯示界面。由于添加和更新等的代碼與前一節(jié)所述基本相同,下面我們主要看一下如何對公告信息進行刪除的關(guān)鍵代碼。public ActionForward delete(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception ActionMessages messa

60、ges = new ActionMessages();String id = request.getParameter(id);if (id = null) / if id not existmessages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( affice.message.edit.notexist); else / delete objectafficeDAO.delete(id);公告信息的刪除要在有授權(quán)的注冊用戶才能使用,不能隨意的給每一個用戶都授權(quán)刪除權(quán)限,只有這樣才能保證有權(quán)限者發(fā)送公告信息的安全性。在默認的情

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論