




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 PAGE63 / NUMPAGES72基于Jasper的報(bào)表管理平臺設(shè)計(jì)與實(shí)現(xiàn)摘要報(bào)表管理系統(tǒng)是企業(yè)管理維護(hù)報(bào)表,研究業(yè)務(wù)需求的主要解決方案,它可以直觀有效地為企業(yè)提供報(bào)表日常維護(hù)、需求動態(tài)分析、戰(zhàn)略研究部署等相關(guān)的功能,是企業(yè)決策的來源。對于企業(yè)來說,管理報(bào)表的過程就是獲取企業(yè)基本信息和實(shí)時(shí)動態(tài),認(rèn)清自我的優(yōu)勢和劣勢,尋求企業(yè)精心策劃和可靠戰(zhàn)略部署的過程。所以說,報(bào)表管理是企業(yè)日常管理當(dāng)中非常重要的一個(gè)環(huán)節(jié),時(shí)刻影響著企業(yè)的規(guī)劃和運(yùn)營。本文主要完成了基于Jasper技術(shù)的報(bào)表管理平臺的設(shè)計(jì)與實(shí)現(xiàn),描述了課題的背景和意義、研究的現(xiàn)狀以與存在的問題,通過對報(bào)表管理平臺相關(guān)技術(shù)的綜述與比較,最終
2、確定了以Jasper報(bào)表引擎、Spring、SpringMVC框架、Velocity模板引擎、iBATIS框架和MYSQL數(shù)據(jù)庫等容作為系統(tǒng)的主要設(shè)計(jì)實(shí)現(xiàn)技術(shù)。本文設(shè)計(jì)和實(shí)現(xiàn)了在MVC框架基礎(chǔ)上的報(bào)表管理平臺的業(yè)務(wù)流程和技術(shù)框架,技術(shù)框架的視圖層采用了Velocity、CSS和JSP技術(shù)相結(jié)合的界面,業(yè)務(wù)模塊采用了Jasper技術(shù)、Spring和SpringMVC框架來設(shè)計(jì)和實(shí)現(xiàn)各種業(yè)務(wù)邏輯,持久層采用了JDBC、SpringDAO和iBATIS框架來處理各種數(shù)據(jù),數(shù)據(jù)庫采用MYSQL,并結(jié)合對Jasper報(bào)表引擎處理報(bào)表模板文件流程的代碼分析,設(shè)計(jì)和實(shí)現(xiàn)了報(bào)表管理平臺的系統(tǒng)集成以與用戶角色管
3、理、數(shù)據(jù)源管理、報(bào)表管理等具體功能模塊。報(bào)表管理平臺的主要功能是管理和運(yùn)行報(bào)表模板,產(chǎn)生和展示報(bào)表結(jié)果。用戶可以使用管理員角色或者普通用戶角色,在報(bào)表列表界面管理報(bào)表模板并且運(yùn)行查看報(bào)表數(shù)據(jù)。本系統(tǒng)的優(yōu)勢在于結(jié)合開源組件,維護(hù)費(fèi)用低,易于管理,以與報(bào)表處理能力比較強(qiáng)。關(guān)鍵詞:報(bào)表管理平臺,JasperReports,SpringMVC,Velocity,iBATISAbstractReport management system is the main solutionfor enterprise to manage and maintainreports, research business
4、 requirements. It can provide enterprises with reports of routine maintenance, the demand for dynamic analysis, deployment of strategic research and other related functions intuitively and effectively,and it is the source of business decisions. For businesses, the report management process is to get
5、 the basic information and real-time dynamic, to recognize the advantages and disadvantages of self, seeking enterprise careful planning andreliable strategic plan.So, report management is a very important part of the enterprises daily management, always influences the planning and running of the en
6、terprise.This thesis based on the technology of Jasper mainly completed the design and implementation of the report management platform, described the background and significance of the topic, research status and existing problems, reviewed and compared the report management platform related technol
7、ogy, and finally confirmed to use Jasper report engine, Spring, the SpringMVC framework, Velocity template engine, iBATIS framework, and MYSQL database to design and implement this system.This thesis designed and implemented the business process and technical framework about the report management pl
8、atformbased on the MVC framework,technical framework for the view layer using the interface combined Velocity, CSS and JSP technology, the business modules using Jasper, Spring, and SpringMVC framework to design and implement a variety of business logic, the persistence layer using JDBC, Spring DAO
9、and iBATIS framework to deal with all kinds of data, and using the MYSQL database, combined with the code analysis process about the Jasper report engine processing report template file, designed and implemented report management platform system integration, user and role management, data source man
10、agement, report management, and other specific functional modules.The main function of report management platformisto manage and run the report template, to generate and display the report results.Users can use the administrator role or normal user role,management the report templates, run and view
11、the report data in the list of reports interface. The advantages of this system includethe combination of open source components, low maintenance costs, easy to manage, and strong report processing ability.Key Words:Reportmanagement platform, JasperReports, SpringMVC, Velocity, iBATIS目錄 TOC o 1-3 h
12、z u HYPERLINK l _Toc354758065摘要 PAGEREF _Toc354758065 h iHYPERLINK l _Toc354758066Abstract PAGEREF _Toc354758066 h iiHYPERLINK l _Toc354758067目錄 PAGEREF _Toc354758067 h IVHYPERLINK l _Toc354758068圖目錄 PAGEREF _Toc354758068 h VIHYPERLINK l _Toc354758069表目錄 PAGEREF _Toc354758069 h VIIIHYPERLINK l _Toc3
13、54758070第1章 緒論 PAGEREF _Toc354758070 h 1HYPERLINK l _Toc3547580711.1 課題背景和意義 PAGEREF _Toc354758071 h 1HYPERLINK l _Toc3547580721.2 研究現(xiàn)狀與存在的問題 PAGEREF _Toc354758072 h 1HYPERLINK l _Toc3547580731.3 論文的主要容和特色 PAGEREF _Toc354758073 h 3HYPERLINK l _Toc3547580741.4 論文組織結(jié)構(gòu) PAGEREF _Toc354758074 h 4HYPERLIN
14、K l _Toc3547580751.5 本章小結(jié) PAGEREF _Toc354758075 h 5HYPERLINK l _Toc354758076第2章 報(bào)表管理平臺的技術(shù)綜述 PAGEREF _Toc354758076 h 6HYPERLINK l _Toc3547580772.1 報(bào)表管理平臺相關(guān)技術(shù)描述 PAGEREF _Toc354758077 h 6HYPERLINK l _Toc3547580782.2 JasperReports工具的技術(shù)綜述 PAGEREF _Toc354758078 h 6HYPERLINK l _Toc3547580792.2.1 JasperRepo
15、rts工具的工作原理 PAGEREF _Toc354758079 h 6HYPERLINK l _Toc3547580802.2.2 JasperReports的特點(diǎn) PAGEREF _Toc354758080 h 7HYPERLINK l _Toc3547580812.3 MVC框架技術(shù)綜述 PAGEREF _Toc354758081 h 7HYPERLINK l _Toc3547580822.3.1 MVC PAGEREF _Toc354758082 h 7HYPERLINK l _Toc3547580832.3.2 Struts2 PAGEREF _Toc354758083 h 8HYP
16、ERLINK l _Toc3547580842.3.3 SpringMVC PAGEREF _Toc354758084 h 8HYPERLINK l _Toc3547580852.4 表現(xiàn)層技術(shù)綜述 PAGEREF _Toc354758085 h 9HYPERLINK l _Toc3547580862.4.1 JSP綜述 PAGEREF _Toc354758086 h 9HYPERLINK l _Toc3547580872.4.2 FreeMarker模板引擎綜述 PAGEREF _Toc354758087 h 10HYPERLINK l _Toc3547580882.4.3 Velocity
17、模板引擎綜述 PAGEREF _Toc354758088 h 10HYPERLINK l _Toc3547580892.5 MySQL綜述 PAGEREF _Toc354758089 h 12HYPERLINK l _Toc3547580902.5.1 MySQL PAGEREF _Toc354758090 h 12HYPERLINK l _Toc3547580912.5.2 MySQL的特性 PAGEREF _Toc354758091 h 12HYPERLINK l _Toc3547580922.5.3 MySQL的應(yīng)用 PAGEREF _Toc354758092 h 12HYPERLINK
18、 l _Toc3547580932.6 持久層框架綜述 PAGEREF _Toc354758093 h 13HYPERLINK l _Toc3547580942.6.1 Hibernate框架綜述 PAGEREF _Toc354758094 h 13HYPERLINK l _Toc3547580952.6.2 iBATIS框架綜述 PAGEREF _Toc354758095 h 13HYPERLINK l _Toc3547580962.7 本章小結(jié) PAGEREF _Toc354758096 h 16HYPERLINK l _Toc354758097第3章 報(bào)表管理平臺架構(gòu)設(shè)計(jì) PAGEREF
19、 _Toc354758097 h 17HYPERLINK l _Toc3547580983.1 平臺架構(gòu)設(shè)計(jì)的概述 PAGEREF _Toc354758098 h 17HYPERLINK l _Toc3547580993.2 平臺的業(yè)務(wù)流程設(shè)計(jì) PAGEREF _Toc354758099 h 17HYPERLINK l _Toc3547581003.3 平臺的技術(shù)框架設(shè)計(jì) PAGEREF _Toc354758100 h 20HYPERLINK l _Toc3547581013.3.1 View層 PAGEREF _Toc354758101 h 21HYPERLINK l _Toc3547581
20、023.3.2 Controller層 PAGEREF _Toc354758102 h 23HYPERLINK l _Toc3547581033.3.3 Model層 PAGEREF _Toc354758103 h 24HYPERLINK l _Toc3547581043.3.4 Database Service層 PAGEREF _Toc354758104 h 24HYPERLINK l _Toc3547581053.4 本章小結(jié) PAGEREF _Toc354758105 h 25HYPERLINK l _Toc354758106第4章 報(bào)表管理平臺的實(shí)現(xiàn) PAGEREF _Toc3547
21、58106 h 26HYPERLINK l _Toc3547581074.1 平臺實(shí)現(xiàn)的概述 PAGEREF _Toc354758107 h 26HYPERLINK l _Toc3547581084.2 平臺的系統(tǒng)架構(gòu)實(shí)現(xiàn) PAGEREF _Toc354758108 h 26HYPERLINK l _Toc3547581094.2.1 模型層 PAGEREF _Toc354758109 h 26HYPERLINK l _Toc3547581104.2.2 視圖層 PAGEREF _Toc354758110 h 29HYPERLINK l _Toc3547581114.2.3 控制器層 PAGE
22、REF _Toc354758111 h 32HYPERLINK l _Toc3547581124.2.4 具體實(shí)例 PAGEREF _Toc354758112 h 33HYPERLINK l _Toc3547581134.3 Jasper報(bào)表引擎分析 PAGEREF _Toc354758113 h 35HYPERLINK l _Toc3547581144.3.1 Jasper報(bào)表產(chǎn)生流程 PAGEREF _Toc354758114 h 35HYPERLINK l _Toc3547581154.3.2 Jasper報(bào)表引擎的主要步驟 PAGEREF _Toc354758115 h 36HYPER
23、LINK l _Toc3547581164.3.3 報(bào)表編譯相關(guān)的類和接口分析 PAGEREF _Toc354758116 h 37HYPERLINK l _Toc3547581174.3.4 報(bào)表引擎的數(shù)據(jù)源分析 PAGEREF _Toc354758117 h 38HYPERLINK l _Toc3547581184.3.5 報(bào)表引擎的輸出格式 PAGEREF _Toc354758118 h 38HYPERLINK l _Toc3547581194.4 基于Jasper的報(bào)表管理系統(tǒng)集成 PAGEREF _Toc354758119 h 38HYPERLINK l _Toc3547581204
24、.5 平臺的功能模塊實(shí)現(xiàn) PAGEREF _Toc354758120 h 40HYPERLINK l _Toc3547581214.5.1 總體功能模塊 PAGEREF _Toc354758121 h 40HYPERLINK l _Toc3547581224.5.2 用戶管理模塊實(shí)現(xiàn) PAGEREF _Toc354758122 h 41HYPERLINK l _Toc3547581234.5.3 角色管理模塊實(shí)現(xiàn) PAGEREF _Toc354758123 h 43HYPERLINK l _Toc3547581244.5.4 數(shù)據(jù)源管理模塊實(shí)現(xiàn) PAGEREF _Toc354758124 h
25、45HYPERLINK l _Toc3547581254.5.5 報(bào)表管理模塊實(shí)現(xiàn) PAGEREF _Toc354758125 h 46HYPERLINK l _Toc3547581264.6 本章小結(jié) PAGEREF _Toc354758126 h 50HYPERLINK l _Toc354758127第5章 報(bào)表輸出格式的多樣化 PAGEREF _Toc354758127 h 52HYPERLINK l _Toc3547581285.1 HTML格式報(bào)表輸出 PAGEREF _Toc354758128 h 52HYPERLINK l _Toc3547581295.2 XLS格式報(bào)表輸出 P
26、AGEREF _Toc354758129 h 54HYPERLINK l _Toc3547581305.3 本章小結(jié) PAGEREF _Toc354758130 h 56HYPERLINK l _Toc354758131第6章 總結(jié)與展望 PAGEREF _Toc354758131 h 57HYPERLINK l _Toc3547581326.1 論文主要工作概述 PAGEREF _Toc354758132 h 57HYPERLINK l _Toc3547581336.2 未來工作展望 PAGEREF _Toc354758133 h 58HYPERLINK l _Toc354758134參考文
27、獻(xiàn) PAGEREF _Toc354758134 h 60HYPERLINK l _Toc354758135作者簡歷 PAGEREF _Toc354758135 h 62HYPERLINK l _Toc354758136致 PAGEREF _Toc354758136 h 63圖目錄TOC h z t 圖,1HYPERLINK l _Toc354675156圖2.1 MVC設(shè)計(jì)模式圖 PAGEREF _Toc354675156 h 7HYPERLINK l _Toc354675157圖2.2 Struts2框架處理流程圖 PAGEREF _Toc354675157 h 8HYPERLINK l _
28、Toc354675158圖2.3 Velocity工作原理圖 PAGEREF _Toc354675158 h 11HYPERLINK l _Toc354675159圖2.4 iBATIS框架的原理圖 PAGEREF _Toc354675159 h 14HYPERLINK l _Toc354675160圖2.5 JDBC與iBATIS程序框架比較圖 PAGEREF _Toc354675160 h 15HYPERLINK l _Toc354675161圖3.1 報(bào)表管理平臺的整體業(yè)務(wù)功能圖 PAGEREF _Toc354675161 h 18HYPERLINK l _Toc354675162圖3.
29、2 報(bào)表管理平臺技術(shù)框架設(shè)計(jì)圖 PAGEREF _Toc354675162 h 21HYPERLINK l _Toc354675163圖3.3 報(bào)表管理平臺整體界面 PAGEREF _Toc354675163 h 22HYPERLINK l _Toc354675164圖4.1 sqlMapConfig的配置代碼 PAGEREF _Toc354675164 h 27HYPERLINK l _Toc354675165圖4.2 事務(wù)管理配置信息 PAGEREF _Toc354675165 h 29HYPERLINK l _Toc354675166圖4.3 數(shù)據(jù)源配置信息 PAGEREF _Toc35
30、4675166 h 29HYPERLINK l _Toc354675167圖4.4 SqlMapClient配置信息 PAGEREF _Toc354675167 h 29HYPERLINK l _Toc354675168圖4.5 用戶管理的vm視圖代碼 PAGEREF _Toc354675168 h 31HYPERLINK l _Toc354675169圖4.6 界面實(shí)現(xiàn)代碼 PAGEREF _Toc354675169 h 31HYPERLINK l _Toc354675170圖4.7 分發(fā)器Dispatcherservlet配置信息 PAGEREF _Toc354675170 h 33HYP
31、ERLINK l _Toc354675171圖4.8 跳轉(zhuǎn)至添加頁面代碼 PAGEREF _Toc354675171 h 33HYPERLINK l _Toc354675172圖4.9 viewResolver配置信息 PAGEREF _Toc354675172 h 34HYPERLINK l _Toc354675173圖4.10 數(shù)據(jù)源添加界面 PAGEREF _Toc354675173 h 34HYPERLINK l _Toc354675174圖4.11 保存數(shù)據(jù)源信息代碼 PAGEREF _Toc354675174 h 35HYPERLINK l _Toc354675175圖4.12 a
32、ddOrUpdate方法代碼 PAGEREF _Toc354675175 h 35HYPERLINK l _Toc354675176圖4.13 JasperReports流程圖 PAGEREF _Toc354675176 h 36HYPERLINK l _Toc354675177圖4.14 基于Jasper的報(bào)表管理平臺集成圖 PAGEREF _Toc354675177 h 39HYPERLINK l _Toc354675178圖4.15 系統(tǒng)功能模塊結(jié)構(gòu)圖 PAGEREF _Toc354675178 h 40HYPERLINK l _Toc354675179圖4.16 用戶管理流程圖 PAG
33、EREF _Toc354675179 h 42HYPERLINK l _Toc354675180圖4.17 用戶管理功能實(shí)現(xiàn)截圖 PAGEREF _Toc354675180 h 43HYPERLINK l _Toc354675181圖4.18 增加用戶功能圖 PAGEREF _Toc354675181 h 43HYPERLINK l _Toc354675182圖4.19 角色管理功能實(shí)現(xiàn)截圖 PAGEREF _Toc354675182 h 44HYPERLINK l _Toc354675183圖4.20 角色編輯功能圖 PAGEREF _Toc354675183 h 44HYPERLINK l
34、 _Toc354675184圖4.21 JDBC連接配置信息 PAGEREF _Toc354675184 h 45HYPERLINK l _Toc354675185圖4.22 數(shù)據(jù)源管理實(shí)現(xiàn)截圖 PAGEREF _Toc354675185 h 46HYPERLINK l _Toc354675186圖4.23 報(bào)表模板管理流程圖 PAGEREF _Toc354675186 h 47HYPERLINK l _Toc354675187圖4.24 報(bào)表管理實(shí)現(xiàn)截圖 PAGEREF _Toc354675187 h 47HYPERLINK l _Toc354675188圖4.25 產(chǎn)生報(bào)表的方法 PAGE
35、REF _Toc354675188 h 48HYPERLINK l _Toc354675189圖4.26 獲取報(bào)表模板文件 PAGEREF _Toc354675189 h 49HYPERLINK l _Toc354675190圖4.27 報(bào)表的解析、編譯、填充和輸出 PAGEREF _Toc354675190 h 49HYPERLINK l _Toc354675191圖4.28 輸出格式為PDF的報(bào)表樣例 PAGEREF _Toc354675191 h 50HYPERLINK l _Toc354675192圖5.1 iReport報(bào)表模板 PAGEREF _Toc354675192 h 52H
36、YPERLINK l _Toc354675193圖5.2 輸出HTML的源碼 PAGEREF _Toc354675193 h 53HYPERLINK l _Toc354675194圖5.3 輸出格式為HTML的報(bào)表樣例 PAGEREF _Toc354675194 h 53HYPERLINK l _Toc354675195圖5.4 配置ImageServlet PAGEREF _Toc354675195 h 54HYPERLINK l _Toc354675196圖5.5 輸出Excel的源碼 PAGEREF _Toc354675196 h 55HYPERLINK l _Toc354675197圖
37、5.6 輸出格式為XLS的報(bào)表樣 PAGEREF _Toc354675197 h 55表目錄TOC h z t 表,1HYPERLINK l _Toc354675147表4.1 SqlMap.xml文件與其作用 PAGEREF _Toc354675147 h 27HYPERLINK l _Toc354675148表4.2 報(bào)表模型數(shù)據(jù)DAO接口 PAGEREF _Toc354675148 h 28HYPERLINK l _Toc354675149表4.3 功能模塊和Velocity模板的關(guān)系 PAGEREF _Toc354675149 h 30HYPERLINK l _Toc354675150
38、表4.4 報(bào)表管理平臺的主要控制器類 PAGEREF _Toc354675150 h 32HYPERLINK l _Toc354675151表4.5 JasperReports編譯時(shí)的類和接口功能 PAGEREF _Toc354675151 h 37HYPERLINK l _Toc354675152表4.6 JRDataSource接口的實(shí)現(xiàn)方法 PAGEREF _Toc354675152 h 38HYPERLINK l _Toc354675153表4.7 報(bào)表輸出類 PAGEREF _Toc354675153 h 38緒論課題背景和意義在沒有計(jì)算機(jī)以前,數(shù)據(jù)的保存方式多數(shù)依靠紙文件,基本使用
39、手工來完成數(shù)據(jù)的處理,手工實(shí)現(xiàn)報(bào)表的編制。而隨著當(dāng)今世界上使用計(jì)算機(jī)應(yīng)用的頻率變得更加普遍,人們也更加習(xí)慣于使用計(jì)算機(jī)以與計(jì)算機(jī)軟件實(shí)現(xiàn)數(shù)據(jù)的處理,使用數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的管理,使用應(yīng)用程序?qū)崿F(xiàn)具體的業(yè)務(wù)的操作與完成,報(bào)表的編制也通過使用軟件來實(shí)現(xiàn)。這樣可以完成報(bào)表制作工作的軟件稱為報(bào)表工具,它的產(chǎn)生改變了原來的報(bào)表制作方式,對各個(gè)行業(yè)各個(gè)領(lǐng)域都產(chǎn)生了深遠(yuǎn)的影響。報(bào)表在企業(yè)進(jìn)行管理時(shí)擁有比較大的作用,它是企業(yè)的業(yè)務(wù)要求,更是企業(yè)進(jìn)行戰(zhàn)略部署的基石。報(bào)表能夠完全表現(xiàn)企業(yè)的運(yùn)營情況,它是企業(yè)審查自我,改進(jìn)自我的利器,是強(qiáng)大的驅(qū)動力1。報(bào)表技術(shù)的發(fā)展對當(dāng)今社會的發(fā)展起到了長足的推動作用。報(bào)表的本質(zhì)是
40、對數(shù)據(jù)的抽象和概括,它使用一種比原始數(shù)據(jù)本身抽象性和概括性更高、規(guī)律性更強(qiáng)、更容易被人理解和控制的形式來描述和展示數(shù)量巨大的、無序的原始數(shù)據(jù)集合2。在實(shí)際生活和工作中,我們需要處理的數(shù)據(jù)往往是大量的,一般的傳統(tǒng)手工處理方式無論從數(shù)據(jù)量還是從處理速度上來講,都無法滿足高速、高效和大數(shù)據(jù)量的要求。為了能夠幫助用戶更好地利用現(xiàn)有數(shù)據(jù)庫,快速高效地管理各類報(bào)表模板,準(zhǔn)確方便地獲取、匯總、分析并挖掘各種報(bào)表數(shù)據(jù),更好地為決策者提供依據(jù),報(bào)表管理平臺是基于以上目標(biāo)而得到的理想解決方案。報(bào)表管理平臺能夠提供豐富的報(bào)表展示、敏捷的布局手段,為企業(yè)級數(shù)據(jù)分析與智能分析提供高性能、高效率的報(bào)表系統(tǒng)解決方案,企業(yè)通
41、過報(bào)表管理平臺獲取分析數(shù)據(jù),預(yù)測未來行業(yè)的發(fā)展趨勢,實(shí)現(xiàn)靈活管理和實(shí)施重大決策3。研究現(xiàn)狀與存在的問題目前在國的報(bào)表市場上有很多功能不一但都有各自專長的報(bào)表工具,對它們進(jìn)行對比和研究,可以讓我們?nèi)¢L補(bǔ)短,設(shè)計(jì)出更有優(yōu)勢的報(bào)表管理系統(tǒng)。從各個(gè)報(bào)表工具的介紹來看,它們的功能有很大一部分是重復(fù)的,我們可以了解和區(qū)分各個(gè)報(bào)表工具的實(shí)現(xiàn)機(jī)制和具體效果以確定這個(gè)報(bào)表工具是否符合實(shí)際應(yīng)用需求。通過對國外市場上表現(xiàn)不錯并且具有一定代表性的幾個(gè)產(chǎn)品來做一個(gè)深入的比較,像Crystal Report、Actuate、潤乾報(bào)表、Jasper Report等,我們可以通過上述產(chǎn)品的特性進(jìn)一步地了解它們。1、Cryst
42、al ReportCrystal Report使用廣泛,在各個(gè)領(lǐng)域、各種規(guī)模的應(yīng)用里都有其存在,但是Crystal Report的使用費(fèi)用較高,在Java平臺上,它通過收取一定費(fèi)用來為企業(yè)服務(wù)。Crystal Report是個(gè)封閉性較大的系統(tǒng),它無法提供很多個(gè)性化的應(yīng)用,集成度也比較差,而且缺乏功能的可擴(kuò)展性,其在中式報(bào)表的表現(xiàn)并不如人意4。2、Actuate e.ReportActuate作為企業(yè)級報(bào)表工具,其專業(yè)性較強(qiáng)。在國際市場上,Actuate報(bào)表被廣泛用于金融市場、政府部分等較大規(guī)模的單位和組織中,擁有比較長的歷史。但是,Actuate e.Report的難用是業(yè)有名的,對使用者有很
43、高的要求,而一般的客戶并不是IT業(yè)界人士,過于復(fù)雜的設(shè)計(jì)只會起到相反的效果。3、潤乾報(bào)表潤乾報(bào)表在國報(bào)表市場是后來居上的態(tài)勢,因?yàn)樗恿私鈬膱?bào)表需求狀況,功能上更符合中國式的報(bào)表。它的報(bào)表模型更加新穎。不同于“表格式”或者“類EXCEL”的報(bào)表模型,潤乾報(bào)表有很多層次感更深的模型。實(shí)際上,Crystal Report等報(bào)表處理復(fù)雜型的報(bào)表難度很高,只能通過編寫復(fù)雜的SQL語句,甚至編寫代碼來實(shí)現(xiàn)。但是潤乾報(bào)表正是在處理復(fù)雜報(bào)表上有絕對的優(yōu)勢,它可以運(yùn)用各種手段,將報(bào)表化復(fù)雜為簡單,提高開發(fā)效率。因?yàn)闈櫱瑘?bào)表有著Java語言的特性,所以它也可以在各種框架平臺上部署和運(yùn)行5。雖然潤乾報(bào)表在處理
44、報(bào)表的能力上比較突出,功能和性能上都可圈可點(diǎn),但是它的價(jià)格也非常昂貴,開發(fā)維護(hù)費(fèi)用高導(dǎo)致它失去了一部分競爭優(yōu)勢,對一些中小型企業(yè)來說它并不是最好的選擇。潤乾報(bào)表的外圍功能做得較少。其他報(bào)表系統(tǒng)上的一些功能,比如權(quán)限、用戶、門戶等功能并沒有實(shí)現(xiàn),所以實(shí)際上也很難發(fā)揮應(yīng)有的作用和滿足客戶應(yīng)用的需要。4、JasperReportsJasperReports作為一個(gè)報(bào)表解決方案,它能提供的功能非常多,也非常強(qiáng)大,用戶通過它可以非常方便地完成報(bào)表的定制、設(shè)計(jì)、預(yù)覽和生成等步驟。它是用java編寫的,與其他報(bào)表工具相比較,它的優(yōu)勢體現(xiàn)在以下幾個(gè)方面6: (1)開放源代碼。源代碼的開放使開發(fā)人員可以更敏捷地
45、開發(fā)和實(shí)現(xiàn)此報(bào)表工具的一些功用以滿足項(xiàng)目需求。 (2)功能強(qiáng)大。報(bào)表擁有強(qiáng)大的功能,其通過圖表的鑲嵌,不同線段的使用,數(shù)據(jù)源連接的多選擇性,模板的編譯填充和數(shù)據(jù)的預(yù)覽輸出等功能,無論是復(fù)雜繁瑣的固定類型報(bào)表、子報(bào)表,還是其他的報(bào)表,都能非常完美地制定和實(shí)現(xiàn),而且因?yàn)樵陂_源的情況下,它的功能將會被不斷擴(kuò)展。并且在融合iReport的情況下,它會跳過描寫XML的復(fù)雜過程,基本實(shí)現(xiàn)和完善報(bào)表的設(shè)計(jì)。iReport也是一款開源軟件,功能強(qiáng)大,它可以用可視化的方式來設(shè)計(jì)報(bào)表模板,生成的模板文件提供給JasperReports報(bào)表工具使用。它的出現(xiàn),主要是為了降低JasperReports的設(shè)計(jì)難度,為用
46、戶提供可視化的報(bào)表設(shè)計(jì)工具。它采用Java編寫開發(fā),支持以圖形化方式操作XML文件,支持報(bào)表預(yù)覽、報(bào)表輸出打印功能,支持多種文件格式的報(bào)表文件輸出,同時(shí)支持復(fù)雜報(bào)表的編輯、設(shè)計(jì)與運(yùn)行,例如交叉報(bào)表、子報(bào)表等,基于JFreeChart圖表庫的集成,可以在表中嵌入圖形7。iReport報(bào)表設(shè)計(jì)工具與JasperReports的結(jié)合使JasperReports的功能更加完善,表現(xiàn)性能更加出色。 (3)完美支持B/S架構(gòu)的Web環(huán)境,因?yàn)樗念悗焓褂胘ava編寫,而且能夠輸出打印以與產(chǎn)生多種格式的報(bào)表文件,例如PDF、XLS、HTML等。但是如同其他開源軟件一樣,JasperReports有著它本身的
47、缺陷,缺乏商業(yè)公司的技術(shù)支持,兼容性不夠等問題,因?yàn)殚_放源碼的特性,它的安全性得不到保障,而且在開發(fā)過程中常常會被一些小問題困擾。論文的主要容和特色基于開源軟件擁有開放源代碼、自由定制并且無需維護(hù)費(fèi)用、易于管理、版本更新快等優(yōu)點(diǎn),結(jié)合開發(fā)項(xiàng)目的實(shí)際需求,設(shè)計(jì)一套基于JasperReports技術(shù)的報(bào)表管理平臺框架,框架使用MVC模式實(shí)現(xiàn),MVC框架有利于系統(tǒng)的擴(kuò)展、調(diào)用以與二次開發(fā)。目標(biāo)是學(xué)習(xí)JasperReports和MVC技術(shù)的相關(guān)架構(gòu)和源代碼以與其他相關(guān)框架技術(shù),設(shè)計(jì)平臺的功能模塊并進(jìn)行代碼開發(fā),最后驗(yàn)證系統(tǒng)的作用和效果。通過對報(bào)表管理平臺的設(shè)計(jì)和實(shí)現(xiàn),掌握基本的報(bào)表開發(fā)環(huán)節(jié),真正領(lǐng)會報(bào)
48、表開發(fā)技術(shù)。本文以基于Jasper報(bào)表管理平臺這一項(xiàng)目的設(shè)計(jì)與實(shí)現(xiàn)為基礎(chǔ),其主要容如下:1. 在基于用戶需求的前提下,分析報(bào)表管理平臺的技術(shù)框架。深入分析報(bào)表管理平臺相關(guān)技術(shù)的優(yōu)缺點(diǎn),根據(jù)技術(shù)綜述,選擇所需系統(tǒng)下最適合的平臺實(shí)現(xiàn)技術(shù)框架,對平臺的整體業(yè)務(wù)功能和具體流程進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),對視圖層采用Velocity和JSP技術(shù),業(yè)務(wù)層采用Spring和SpringMVC框架,數(shù)據(jù)持久層采用iBATIS和DAO技術(shù),數(shù)據(jù)庫采用MYSQL的技術(shù)框架進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn)。2. 分析Jasper報(bào)表引擎的源代碼。報(bào)表引擎是報(bào)表管理平臺的核心,對其各個(gè)模塊,例如整體流程的設(shè)計(jì)、編譯的步驟、數(shù)據(jù)源和輸出格式的選擇
49、等模塊進(jìn)行源代碼的分析,有助于了解報(bào)表引擎的長處與不足,有利于項(xiàng)目的功能和技術(shù)框架設(shè)計(jì),有利于項(xiàng)目的完全實(shí)現(xiàn)。3. 設(shè)計(jì)并實(shí)現(xiàn)報(bào)表管理平臺?;诟鞣N業(yè)務(wù)流程、技術(shù)框架的分析設(shè)計(jì)與報(bào)表引擎的源代碼分析,根據(jù)用戶需求和業(yè)務(wù)流程,實(shí)現(xiàn)系統(tǒng)的總體架構(gòu)以與具體功能模塊。基于以上容設(shè)計(jì)的報(bào)表管理平臺擁有以下特點(diǎn)8:1. 具有較高的重用性。報(bào)表管理平臺采用MVC模式實(shí)現(xiàn)系統(tǒng)的職能分工,分層后更有利于組件的重用。如Model層、View層都可以獨(dú)立成一個(gè)模塊組件,供系統(tǒng)重用。2. 具有較高的靈活性。在MVC模式中,三個(gè)層級擁有不同的任務(wù),各自完成自己的邏輯,而當(dāng)某一個(gè)層級發(fā)生需求上的改變需要修改時(shí),只需要在這
50、一層中更改代碼而不會影響到別的層級代碼。3. 具有較強(qiáng)的獨(dú)立與可維護(hù)性。系統(tǒng)的視圖部分采用Velocity模板技術(shù)開發(fā)實(shí)現(xiàn),它的優(yōu)勢在于獨(dú)立于后臺組件,并不與業(yè)務(wù)邏輯層直接進(jìn)行交互,方便進(jìn)行維護(hù)。論文組織結(jié)構(gòu)本文主要介紹了基于JasperReports工具的報(bào)表管理平臺的分析、設(shè)計(jì)與實(shí)現(xiàn)。本文共分為以下六個(gè)章節(jié):第一章:緒論。概述了報(bào)表管理平臺的背景與意義,國外研究的現(xiàn)狀和本文的主要研究容與其特色。第二章:報(bào)表管理平臺的技術(shù)綜述。對平臺相關(guān)技術(shù)進(jìn)行分析綜述,為項(xiàng)目技術(shù)框架的設(shè)計(jì)實(shí)現(xiàn)奠定基礎(chǔ)。第三章:報(bào)表管理平臺的總體框架設(shè)計(jì)?;趯ο嚓P(guān)技術(shù)的綜述,設(shè)計(jì)報(bào)表管理平臺的整體業(yè)務(wù)流程和技術(shù)框架。第四
51、章:報(bào)表管理平臺的實(shí)現(xiàn)。通過對Jasper報(bào)表引擎的源代碼分析,實(shí)現(xiàn)對報(bào)表管理平臺的集成,并且實(shí)現(xiàn)了平臺的總體架構(gòu)和具體功能模塊。第五章:報(bào)表輸出格式多樣化。通過對HTML和XLS這兩種不同輸出格式的報(bào)表生成,驗(yàn)證了本系統(tǒng)支持多種格式報(bào)表輸出的特征。第六章:總結(jié)和展望??偨Y(jié)整體項(xiàng)目的設(shè)計(jì)實(shí)現(xiàn)情況,說明論文的主要工作容,發(fā)現(xiàn)其長處與不足,并透過開發(fā)過程展望報(bào)表管理平臺的未來。本章小結(jié)本章主要描述了本文課題的背景和意義,對目前報(bào)表工具的研究現(xiàn)狀和存在的問題一一進(jìn)行了整理和分析,總結(jié)了論文的主要容和特色,最后是論文的組織結(jié)構(gòu)。報(bào)表管理平臺的技術(shù)綜述報(bào)表管理平臺相關(guān)技術(shù)描述本文的報(bào)表管理平臺基于Jas
52、per報(bào)表工具,使用了MVC模式,表現(xiàn)層技術(shù)以與持久層框架,具體的技術(shù)綜述如下。JasperReports工具的技術(shù)綜述JasperReports報(bào)表工具是開源組織的免費(fèi)軟件,它的功能非常強(qiáng)大,例如豐富的頁面容,支持多種文件格式等,也可以通過瀏覽器對報(bào)表文件進(jìn)行遠(yuǎn)程訪問。JasperReports工具的工作原理一個(gè)報(bào)表的整個(gè)實(shí)現(xiàn)過程由四個(gè)步驟組成,分別是報(bào)表XML文件解析、編譯報(bào)表設(shè)計(jì)、報(bào)表數(shù)據(jù)源填充和報(bào)表輸出。下面講述這四個(gè)過程的主要任務(wù)與原理9。(1)XML報(bào)表文件解析。JasperReports報(bào)表工具默認(rèn)使用SAX版本解析器對XML報(bào)表文件進(jìn)行解析,當(dāng)然用戶也可以使用其他的解析包來完成
53、對XML報(bào)表文件的解析工作。(2)JasperDesign報(bào)表編譯。經(jīng)過XML報(bào)表解析后,XML文件轉(zhuǎn)換成一個(gè)JasperDesign對象,此報(bào)表文件還需要經(jīng)過編譯才能生成jasper文件。系統(tǒng)通過調(diào)用JRCompiler接口,將jasperDesign對象轉(zhuǎn)換成jasperReport對象,生成jasper文件。(3)JasperReports報(bào)表數(shù)據(jù)源填充。在報(bào)表編譯的基礎(chǔ)上,我們需要對jasper文件進(jìn)行數(shù)據(jù)源的填充,以便根據(jù)數(shù)據(jù)的不同生成動態(tài)的報(bào)表。數(shù)據(jù)一般有多種來源,包括各種數(shù)據(jù)庫,本地或者遠(yuǎn)程的數(shù)據(jù)文件等等。在數(shù)據(jù)填充的過程中,系統(tǒng)會調(diào)用JasperFillManager類,輸入j
54、asper文件,輸出jrprint文件。(4)JasperPrint報(bào)表輸出打印。最后,JasperPrint對象被輸出打印,JasperReports擁有比較豐富的輸出形式,它可以打印到各種顯示器上,也可以輸出成各種格式的文件,比如PDF、HTML、XML等。JasperReports的特點(diǎn)報(bào)表管理平臺采用的JasperReports工具具有以下特點(diǎn):(1)JasperReports能夠生成多種格式的報(bào)表文件,包括EXCEL、HTML、XML、PDF等格式的報(bào)表。(2)JasperReports是開源的免費(fèi)軟件,由java語言編寫,使用和維護(hù)成本相對其他報(bào)表工具來說比較低。(3)Jasper
55、Reports擁有靈活的報(bào)表排版,能夠以文本、圖形、表格等多種方式顯示數(shù)據(jù),既可以提高工作效率,又擁有美化的報(bào)表界面。(4)JasperReports支持多種數(shù)據(jù)源,數(shù)據(jù)來源廣泛,更利于擴(kuò)展。關(guān)于報(bào)表工具的相關(guān)綜述已經(jīng)在前一章有過具體的描述,相對于其他報(bào)表工具而言,JasperReports報(bào)表引擎具備更加突出的優(yōu)勢,能夠滿足本系統(tǒng)功能齊全、報(bào)表復(fù)雜度高、支持格式多、維護(hù)成本低的特點(diǎn)。MVC框架技術(shù)綜述MVCMVC即Model-View-Controller10,也叫模型層、視圖層、控制層,相對于應(yīng)用來說,如同輸入、處理、輸出流程。圖2.1是MVC設(shè)計(jì)模式的功能描述11。圖2.1 MVC設(shè)計(jì)模
56、式圖模型作為一個(gè)應(yīng)用對象,具有封裝應(yīng)用程序功能與狀態(tài)、通知視圖改變?nèi)莸忍攸c(diǎn);視圖的作用是一方面發(fā)送用戶的請求給控制器并允許控制器選擇視圖,一方面獲取模型傳遞的信息,解釋模型的狀態(tài);控制器一方面可以定義用戶輸入的具體行為和請求,并通過用戶動作映射成模型,讓模型反應(yīng)用戶的動作含義,另一方面可以反過來選擇視圖的相應(yīng)程序 12。Struts2Struts2是基于WebWork的設(shè)計(jì)理念而創(chuàng)建的MVC框架,主要依靠攔截器來處理各種用戶的請求,使得控制器與Servlet API耦合降低,單元的測試性得到增強(qiáng),也使得項(xiàng)目的開發(fā)難度降低,節(jié)約成本。而Struts2框架大致的處理流程如圖2.2所示13。圖2.2
57、 Struts2框架處理流程圖SpringMVCSpringMVC框架也是一個(gè)MVC框架,具備MVC框架的一般特性,它的設(shè)計(jì)是圍繞DispatcherServlet展開的,DispatcherServlet負(fù)責(zé)將請求派發(fā)到特定的handler。SpringMVC特點(diǎn)SpringMVC框架14擁有以下技術(shù)特點(diǎn):(1)清晰的角色劃分:角色一般可以通過對象實(shí)現(xiàn)。角色大致有Servlet分發(fā)器、控制器、命令對象、驗(yàn)證器、模型對象、表單對象、處理器映射(handler mapping)、視圖解析器(view resolver)等。(2)強(qiáng)大而直接的配置方式:基于JavaBean來配置,一般的框架和軟件都
58、能支持它,并且還支持跨多個(gè)context的引用。(3)可重用的業(yè)務(wù)代碼:當(dāng)前的業(yè)務(wù)代碼對象可以被重用為其他的命令或者表單對象,并不需要去擴(kuò)展或者重寫某個(gè)特定框架的基類。(4)可定制的綁定和驗(yàn)證:可以將日期或者數(shù)字進(jìn)行可定制的綁定,也可以驗(yàn)證一些定制的錯誤,保存錯誤的值。而在其他的一些框架中,想要使用業(yè)務(wù)對象就必須依靠手動的解析和轉(zhuǎn)換。(5)靈活的model轉(zhuǎn)換:此框架中的Map的鍵/值對和其他各種視圖技術(shù)的集成會顯得更加輕松容易。(6)可定制的本地化和主題解析:無需其他的中間件就能與Velocity搭配使用,Spring標(biāo)簽庫也可以隨時(shí)隨地提供給JSP加載和運(yùn)用等。通過對Struts2框架和S
59、pringMVC框架的大概比較,我們發(fā)現(xiàn)兩者都是基于MVC的前段框架,Struts2相對于springMVC更重量級一點(diǎn),SpringMVC結(jié)構(gòu)更清晰,速度更快,基于本文系統(tǒng)的特點(diǎn),SpringMVC框架擁有更大的性能優(yōu)勢,更能滿足我們報(bào)表系統(tǒng)的需求。表現(xiàn)層技術(shù)綜述JSP綜述JSP(Java Server Pages)15是一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它是在傳統(tǒng)網(wǎng)頁HTML中寫入Java代碼和JSP標(biāo)記以形成JSP文件。它的應(yīng)用是跨平臺的。JSP的特點(diǎn)JSP頁面是在java虛擬機(jī)上執(zhí)行的,當(dāng)JSP頁面發(fā)送請求后,服務(wù)器將JSP頁面編譯成Servlet,然后執(zhí)行并且用HTML的格式返回結(jié)果給用戶。相比
60、較其他頁面技術(shù),JSP的優(yōu)勢如下:(1)JSP技術(shù)能夠一次性完成編寫;(2)JSP技術(shù)支持在不同的系統(tǒng)環(huán)境下運(yùn)行;(3)具備在多臺服務(wù)器上平均負(fù)載的能力,擁有較強(qiáng)的可伸縮性;(4)支持JSP技術(shù)的開發(fā)工具比較多,功能也比較強(qiáng)大。但是在MVC框架下,JSP部或許會被用來填寫Java代碼,極有可能造成MVC的結(jié)構(gòu)不完整16。FreeMarker模板引擎綜述FreeMarker是一個(gè)用Java語言編寫的模板引擎,它會通過模板引擎來形成數(shù)據(jù)進(jìn)行輸出。FreeMarker除了在表現(xiàn)層能夠展示信息外,它還可以輸出其他的文件格式,比如Java、XML等。它不依賴與Web容器而存在,也無法識別Servlet、
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TS 20428:2024 EN Genomics Informatics - Data elements and their metadata for describing structured clinical genomic sequence information in electronic health records
- 【正版授權(quán)】 ISO 6900:2025 EN Dried red jujubes - Specification and test methods
- 2025年度大型企事業(yè)單位公務(wù)車輛租賃服務(wù)協(xié)議合同范本
- 2025年變配電保護(hù)自動化項(xiàng)目合作計(jì)劃書
- 離職管理與退出面談流程計(jì)劃
- 秋季信息化教學(xué)推進(jìn)計(jì)劃
- 2025年酸堿平衡調(diào)節(jié)藥合作協(xié)議書
- 智研咨詢發(fā)布-2025年中國智慧環(huán)保行業(yè)產(chǎn)業(yè)鏈全景分析及發(fā)展趨勢預(yù)測報(bào)告
- 2025年特異性植物源農(nóng)藥項(xiàng)目合作計(jì)劃書
- 2025年醫(yī)用氧化亞氮系統(tǒng)合作協(xié)議書
- 真需求-打開商業(yè)世界的萬能鑰匙
- 暑假假期安全教育(課件)-小學(xué)生主題班會
- 《礦山隱蔽致災(zāi)因素普查規(guī)范》解讀培訓(xùn)
- 第1課 立足時(shí)代 志存高遠(yuǎn) (課件+視頻)- 【中職專用】高一思想政治《心理健康與職業(yè)生涯》(高教版2023·基礎(chǔ)模塊)
- 2024年濰坊護(hù)理職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 費(fèi)曼學(xué)習(xí)法費(fèi)曼學(xué)習(xí)法
- 中國數(shù)學(xué)發(fā)展歷史(課堂PPT)
- 黃金太陽漆黑的黎明金手指
- 車間、設(shè)備改造項(xiàng)目建議書范文
- 化學(xué)成份及性能對照表新
- 辦公大樓加固裝修工程安全施工管理措施
評論
0/150
提交評論