基于Jasper的报表管理平台设计与实现论文_第1页
基于Jasper的报表管理平台设计与实现论文_第2页
基于Jasper的报表管理平台设计与实现论文_第3页
基于Jasper的报表管理平台设计与实现论文_第4页
基于Jasper的报表管理平台设计与实现论文_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 PAGE63 / NUMPAGES72基于Jasper的报表管理平台设计与实现摘要报表管理系统是企业管理维护报表,研究业务需求的主要解决方案,它可以直观有效地为企业提供报表日常维护、需求动态分析、战略研究部署等相关的功能,是企业决策的来源。对于企业来说,管理报表的过程就是获取企业基本信息和实时动态,认清自我的优势和劣势,寻求企业精心策划和可靠战略部署的过程。所以说,报表管理是企业日常管理当中非常重要的一个环节,时刻影响着企业的规划和运营。本文主要完成了基于Jasper技术的报表管理平台的设计与实现,描述了课题的背景和意义、研究的现状以与存在的问题,通过对报表管理平台相关技术的综述与比较,最终

2、确定了以Jasper报表引擎、Spring、SpringMVC框架、Velocity模板引擎、iBATIS框架和MYSQL数据库等容作为系统的主要设计实现技术。本文设计和实现了在MVC框架基础上的报表管理平台的业务流程和技术框架,技术框架的视图层采用了Velocity、CSS和JSP技术相结合的界面,业务模块采用了Jasper技术、Spring和SpringMVC框架来设计和实现各种业务逻辑,持久层采用了JDBC、SpringDAO和iBATIS框架来处理各种数据,数据库采用MYSQL,并结合对Jasper报表引擎处理报表模板文件流程的代码分析,设计和实现了报表管理平台的系统集成以与用户角色管

3、理、数据源管理、报表管理等具体功能模块。报表管理平台的主要功能是管理和运行报表模板,产生和展示报表结果。用户可以使用管理员角色或者普通用户角色,在报表列表界面管理报表模板并且运行查看报表数据。本系统的优势在于结合开源组件,维护费用低,易于管理,以与报表处理能力比较强。关键词:报表管理平台,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 研究现状与存在的问题 PAGEREF _Toc354758072 h 1HYPERLINK l _Toc3547580731.3 论文的主要容和特色 PAGEREF _Toc354758073 h 3HYPERLINK l _Toc3547580741.4 论文组织结构 PAGEREF _Toc354758074 h 4HYPERLIN

14、K l _Toc3547580751.5 本章小结 PAGEREF _Toc354758075 h 5HYPERLINK l _Toc354758076第2章 报表管理平台的技术综述 PAGEREF _Toc354758076 h 6HYPERLINK l _Toc3547580772.1 报表管理平台相关技术描述 PAGEREF _Toc354758077 h 6HYPERLINK l _Toc3547580782.2 JasperReports工具的技术综述 PAGEREF _Toc354758078 h 6HYPERLINK l _Toc3547580792.2.1 JasperRepo

15、rts工具的工作原理 PAGEREF _Toc354758079 h 6HYPERLINK l _Toc3547580802.2.2 JasperReports的特点 PAGEREF _Toc354758080 h 7HYPERLINK l _Toc3547580812.3 MVC框架技术综述 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 表现层技术综述 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的应用 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 本章小结 PAGEREF _Toc354758096 h 16HYPERLINK l _Toc354758097第3章 报表管理平台架构设计 PAGEREF

19、 _Toc354758097 h 17HYPERLINK l _Toc3547580983.1 平台架构设计的概述 PAGEREF _Toc354758098 h 17HYPERLINK l _Toc3547580993.2 平台的业务流程设计 PAGEREF _Toc354758099 h 17HYPERLINK l _Toc3547581003.3 平台的技术框架设计 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 本章小结 PAGEREF _Toc354758105 h 25HYPERLINK l _Toc354758106第4章 报表管理平台的实现 PAGEREF _Toc3547

21、58106 h 26HYPERLINK l _Toc3547581074.1 平台实现的概述 PAGEREF _Toc354758107 h 26HYPERLINK l _Toc3547581084.2 平台的系统架构实现 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 具体实例 PAGEREF _Toc354758112 h 33HYPERLINK l _Toc3547581134.3 Jasper报表引擎分析 PAGEREF _Toc354758113 h 35HYPERLINK l _Toc3547581144.3.1 Jasper报表产生流程 PAGEREF _Toc354758114 h 35HYPERLINK l _Toc3547581154.3.2 Jasper报表引擎的主要步骤 PAGEREF _Toc354758115 h 36HYPER

23、LINK l _Toc3547581164.3.3 报表编译相关的类和接口分析 PAGEREF _Toc354758116 h 37HYPERLINK l _Toc3547581174.3.4 报表引擎的数据源分析 PAGEREF _Toc354758117 h 38HYPERLINK l _Toc3547581184.3.5 报表引擎的输出格式 PAGEREF _Toc354758118 h 38HYPERLINK l _Toc3547581194.4 基于Jasper的报表管理系统集成 PAGEREF _Toc354758119 h 38HYPERLINK l _Toc3547581204

24、.5 平台的功能模块实现 PAGEREF _Toc354758120 h 40HYPERLINK l _Toc3547581214.5.1 总体功能模块 PAGEREF _Toc354758121 h 40HYPERLINK l _Toc3547581224.5.2 用户管理模块实现 PAGEREF _Toc354758122 h 41HYPERLINK l _Toc3547581234.5.3 角色管理模块实现 PAGEREF _Toc354758123 h 43HYPERLINK l _Toc3547581244.5.4 数据源管理模块实现 PAGEREF _Toc354758124 h

25、45HYPERLINK l _Toc3547581254.5.5 报表管理模块实现 PAGEREF _Toc354758125 h 46HYPERLINK l _Toc3547581264.6 本章小结 PAGEREF _Toc354758126 h 50HYPERLINK l _Toc354758127第5章 报表输出格式的多样化 PAGEREF _Toc354758127 h 52HYPERLINK l _Toc3547581285.1 HTML格式报表输出 PAGEREF _Toc354758128 h 52HYPERLINK l _Toc3547581295.2 XLS格式报表输出 P

26、AGEREF _Toc354758129 h 54HYPERLINK l _Toc3547581305.3 本章小结 PAGEREF _Toc354758130 h 56HYPERLINK l _Toc354758131第6章 总结与展望 PAGEREF _Toc354758131 h 57HYPERLINK l _Toc3547581326.1 论文主要工作概述 PAGEREF _Toc354758132 h 57HYPERLINK l _Toc3547581336.2 未来工作展望 PAGEREF _Toc354758133 h 58HYPERLINK l _Toc354758134参考文

27、献 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设计模式图 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 报表管理平台的整体业务功能图 PAGEREF _Toc354675161 h 18HYPERLINK l _Toc354675162图3.

29、2 报表管理平台技术框架设计图 PAGEREF _Toc354675162 h 21HYPERLINK l _Toc354675163图3.3 报表管理平台整体界面 PAGEREF _Toc354675163 h 22HYPERLINK l _Toc354675164图4.1 sqlMapConfig的配置代码 PAGEREF _Toc354675164 h 27HYPERLINK l _Toc354675165图4.2 事务管理配置信息 PAGEREF _Toc354675165 h 29HYPERLINK l _Toc354675166图4.3 数据源配置信息 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 界面实现代码 PAGEREF _Toc354675169 h 31HYPERLINK l _Toc354675170图4.7 分发器Dispatcherservlet配置信息 PAGEREF _Toc354675170 h 33HYP

31、ERLINK l _Toc354675171图4.8 跳转至添加页面代码 PAGEREF _Toc354675171 h 33HYPERLINK l _Toc354675172图4.9 viewResolver配置信息 PAGEREF _Toc354675172 h 34HYPERLINK l _Toc354675173图4.10 数据源添加界面 PAGEREF _Toc354675173 h 34HYPERLINK l _Toc354675174图4.11 保存数据源信息代码 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的报表管理平台集成图 PAGEREF _Toc354675177 h 39HYPERLINK l _Toc354675178图4.15 系统功能模块结构图 PAGEREF _Toc354675178 h 40HYPERLINK l _Toc354675179图4.16 用户管理流程图 PAG

33、EREF _Toc354675179 h 42HYPERLINK l _Toc354675180图4.17 用户管理功能实现截图 PAGEREF _Toc354675180 h 43HYPERLINK l _Toc354675181图4.18 增加用户功能图 PAGEREF _Toc354675181 h 43HYPERLINK l _Toc354675182图4.19 角色管理功能实现截图 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 数据源管理实现截图 PAGEREF _Toc354675185 h 46HYPERLINK l _Toc354675186图4.23 报表模板管理流程图 PAGEREF _Toc354675186 h 47HYPERLINK l _Toc354675187图4.24 报表管理实现截图 PAGEREF _Toc354675187 h 47HYPERLINK l _Toc354675188图4.25 产生报表的方法 PAGE

35、REF _Toc354675188 h 48HYPERLINK l _Toc354675189图4.26 获取报表模板文件 PAGEREF _Toc354675189 h 49HYPERLINK l _Toc354675190图4.27 报表的解析、编译、填充和输出 PAGEREF _Toc354675190 h 49HYPERLINK l _Toc354675191图4.28 输出格式为PDF的报表样例 PAGEREF _Toc354675191 h 50HYPERLINK l _Toc354675192图5.1 iReport报表模板 PAGEREF _Toc354675192 h 52H

36、YPERLINK l _Toc354675193图5.2 输出HTML的源码 PAGEREF _Toc354675193 h 53HYPERLINK l _Toc354675194图5.3 输出格式为HTML的报表样例 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的报表样 PAGEREF _Toc354675197 h 55表目录TOC h z t 表,1HYPERLINK l _Toc354675147表4.1 SqlMap.xml文件与其作用 PAGEREF _Toc354675147 h 27HYPERLINK l _Toc354675148表4.2 报表模型数据DAO接口 PAGEREF _Toc354675148 h 28HYPERLINK l _Toc354675149表4.3 功能模块和Velocity模板的关系 PAGEREF _Toc354675149 h 30HYPERLINK l _Toc354675150

38、表4.4 报表管理平台的主要控制器类 PAGEREF _Toc354675150 h 32HYPERLINK l _Toc354675151表4.5 JasperReports编译时的类和接口功能 PAGEREF _Toc354675151 h 37HYPERLINK l _Toc354675152表4.6 JRDataSource接口的实现方法 PAGEREF _Toc354675152 h 38HYPERLINK l _Toc354675153表4.7 报表输出类 PAGEREF _Toc354675153 h 38绪论课题背景和意义在没有计算机以前,数据的保存方式多数依靠纸文件,基本使用

39、手工来完成数据的处理,手工实现报表的编制。而随着当今世界上使用计算机应用的频率变得更加普遍,人们也更加习惯于使用计算机以与计算机软件实现数据的处理,使用数据库系统实现数据的管理,使用应用程序实现具体的业务的操作与完成,报表的编制也通过使用软件来实现。这样可以完成报表制作工作的软件称为报表工具,它的产生改变了原来的报表制作方式,对各个行业各个领域都产生了深远的影响。报表在企业进行管理时拥有比较大的作用,它是企业的业务要求,更是企业进行战略部署的基石。报表能够完全表现企业的运营情况,它是企业审查自我,改进自我的利器,是强大的驱动力1。报表技术的发展对当今社会的发展起到了长足的推动作用。报表的本质是

40、对数据的抽象和概括,它使用一种比原始数据本身抽象性和概括性更高、规律性更强、更容易被人理解和控制的形式来描述和展示数量巨大的、无序的原始数据集合2。在实际生活和工作中,我们需要处理的数据往往是大量的,一般的传统手工处理方式无论从数据量还是从处理速度上来讲,都无法满足高速、高效和大数据量的要求。为了能够帮助用户更好地利用现有数据库,快速高效地管理各类报表模板,准确方便地获取、汇总、分析并挖掘各种报表数据,更好地为决策者提供依据,报表管理平台是基于以上目标而得到的理想解决方案。报表管理平台能够提供丰富的报表展示、敏捷的布局手段,为企业级数据分析与智能分析提供高性能、高效率的报表系统解决方案,企业通

41、过报表管理平台获取分析数据,预测未来行业的发展趋势,实现灵活管理和实施重大决策3。研究现状与存在的问题目前在国的报表市场上有很多功能不一但都有各自专长的报表工具,对它们进行对比和研究,可以让我们取长补短,设计出更有优势的报表管理系统。从各个报表工具的介绍来看,它们的功能有很大一部分是重复的,我们可以了解和区分各个报表工具的实现机制和具体效果以确定这个报表工具是否符合实际应用需求。通过对国外市场上表现不错并且具有一定代表性的几个产品来做一个深入的比较,像Crystal Report、Actuate、润乾报表、Jasper Report等,我们可以通过上述产品的特性进一步地了解它们。1、Cryst

42、al ReportCrystal Report使用广泛,在各个领域、各种规模的应用里都有其存在,但是Crystal Report的使用费用较高,在Java平台上,它通过收取一定费用来为企业服务。Crystal Report是个封闭性较大的系统,它无法提供很多个性化的应用,集成度也比较差,而且缺乏功能的可扩展性,其在中式报表的表现并不如人意4。2、Actuate e.ReportActuate作为企业级报表工具,其专业性较强。在国际市场上,Actuate报表被广泛用于金融市场、政府部分等较大规模的单位和组织中,拥有比较长的历史。但是,Actuate e.Report的难用是业有名的,对使用者有很

43、高的要求,而一般的客户并不是IT业界人士,过于复杂的设计只会起到相反的效果。3、润乾报表润乾报表在国报表市场是后来居上的态势,因为它更加了解国的报表需求状况,功能上更符合中国式的报表。它的报表模型更加新颖。不同于“表格式”或者“类EXCEL”的报表模型,润乾报表有很多层次感更深的模型。实际上,Crystal Report等报表处理复杂型的报表难度很高,只能通过编写复杂的SQL语句,甚至编写代码来实现。但是润乾报表正是在处理复杂报表上有绝对的优势,它可以运用各种手段,将报表化复杂为简单,提高开发效率。因为润乾报表有着Java语言的特性,所以它也可以在各种框架平台上部署和运行5。虽然润乾报表在处理

44、报表的能力上比较突出,功能和性能上都可圈可点,但是它的价格也非常昂贵,开发维护费用高导致它失去了一部分竞争优势,对一些中小型企业来说它并不是最好的选择。润乾报表的外围功能做得较少。其他报表系统上的一些功能,比如权限、用户、门户等功能并没有实现,所以实际上也很难发挥应有的作用和满足客户应用的需要。4、JasperReportsJasperReports作为一个报表解决方案,它能提供的功能非常多,也非常强大,用户通过它可以非常方便地完成报表的定制、设计、预览和生成等步骤。它是用java编写的,与其他报表工具相比较,它的优势体现在以下几个方面6: (1)开放源代码。源代码的开放使开发人员可以更敏捷地

45、开发和实现此报表工具的一些功用以满足项目需求。 (2)功能强大。报表拥有强大的功能,其通过图表的镶嵌,不同线段的使用,数据源连接的多选择性,模板的编译填充和数据的预览输出等功能,无论是复杂繁琐的固定类型报表、子报表,还是其他的报表,都能非常完美地制定和实现,而且因为在开源的情况下,它的功能将会被不断扩展。并且在融合iReport的情况下,它会跳过描写XML的复杂过程,基本实现和完善报表的设计。iReport也是一款开源软件,功能强大,它可以用可视化的方式来设计报表模板,生成的模板文件提供给JasperReports报表工具使用。它的出现,主要是为了降低JasperReports的设计难度,为用

46、户提供可视化的报表设计工具。它采用Java编写开发,支持以图形化方式操作XML文件,支持报表预览、报表输出打印功能,支持多种文件格式的报表文件输出,同时支持复杂报表的编辑、设计与运行,例如交叉报表、子报表等,基于JFreeChart图表库的集成,可以在表中嵌入图形7。iReport报表设计工具与JasperReports的结合使JasperReports的功能更加完善,表现性能更加出色。 (3)完美支持B/S架构的Web环境,因为它的类库使用java编写,而且能够输出打印以与产生多种格式的报表文件,例如PDF、XLS、HTML等。但是如同其他开源软件一样,JasperReports有着它本身的

47、缺陷,缺乏商业公司的技术支持,兼容性不够等问题,因为开放源码的特性,它的安全性得不到保障,而且在开发过程中常常会被一些小问题困扰。论文的主要容和特色基于开源软件拥有开放源代码、自由定制并且无需维护费用、易于管理、版本更新快等优点,结合开发项目的实际需求,设计一套基于JasperReports技术的报表管理平台框架,框架使用MVC模式实现,MVC框架有利于系统的扩展、调用以与二次开发。目标是学习JasperReports和MVC技术的相关架构和源代码以与其他相关框架技术,设计平台的功能模块并进行代码开发,最后验证系统的作用和效果。通过对报表管理平台的设计和实现,掌握基本的报表开发环节,真正领会报

48、表开发技术。本文以基于Jasper报表管理平台这一项目的设计与实现为基础,其主要容如下:1. 在基于用户需求的前提下,分析报表管理平台的技术框架。深入分析报表管理平台相关技术的优缺点,根据技术综述,选择所需系统下最适合的平台实现技术框架,对平台的整体业务功能和具体流程进行设计与实现,对视图层采用Velocity和JSP技术,业务层采用Spring和SpringMVC框架,数据持久层采用iBATIS和DAO技术,数据库采用MYSQL的技术框架进行了设计与实现。2. 分析Jasper报表引擎的源代码。报表引擎是报表管理平台的核心,对其各个模块,例如整体流程的设计、编译的步骤、数据源和输出格式的选择

49、等模块进行源代码的分析,有助于了解报表引擎的长处与不足,有利于项目的功能和技术框架设计,有利于项目的完全实现。3. 设计并实现报表管理平台。基于各种业务流程、技术框架的分析设计与报表引擎的源代码分析,根据用户需求和业务流程,实现系统的总体架构以与具体功能模块。基于以上容设计的报表管理平台拥有以下特点8:1. 具有较高的重用性。报表管理平台采用MVC模式实现系统的职能分工,分层后更有利于组件的重用。如Model层、View层都可以独立成一个模块组件,供系统重用。2. 具有较高的灵活性。在MVC模式中,三个层级拥有不同的任务,各自完成自己的逻辑,而当某一个层级发生需求上的改变需要修改时,只需要在这

50、一层中更改代码而不会影响到别的层级代码。3. 具有较强的独立与可维护性。系统的视图部分采用Velocity模板技术开发实现,它的优势在于独立于后台组件,并不与业务逻辑层直接进行交互,方便进行维护。论文组织结构本文主要介绍了基于JasperReports工具的报表管理平台的分析、设计与实现。本文共分为以下六个章节:第一章:绪论。概述了报表管理平台的背景与意义,国外研究的现状和本文的主要研究容与其特色。第二章:报表管理平台的技术综述。对平台相关技术进行分析综述,为项目技术框架的设计实现奠定基础。第三章:报表管理平台的总体框架设计。基于对相关技术的综述,设计报表管理平台的整体业务流程和技术框架。第四

51、章:报表管理平台的实现。通过对Jasper报表引擎的源代码分析,实现对报表管理平台的集成,并且实现了平台的总体架构和具体功能模块。第五章:报表输出格式多样化。通过对HTML和XLS这两种不同输出格式的报表生成,验证了本系统支持多种格式报表输出的特征。第六章:总结和展望。总结整体项目的设计实现情况,说明论文的主要工作容,发现其长处与不足,并透过开发过程展望报表管理平台的未来。本章小结本章主要描述了本文课题的背景和意义,对目前报表工具的研究现状和存在的问题一一进行了整理和分析,总结了论文的主要容和特色,最后是论文的组织结构。报表管理平台的技术综述报表管理平台相关技术描述本文的报表管理平台基于Jas

52、per报表工具,使用了MVC模式,表现层技术以与持久层框架,具体的技术综述如下。JasperReports工具的技术综述JasperReports报表工具是开源组织的免费软件,它的功能非常强大,例如丰富的页面容,支持多种文件格式等,也可以通过浏览器对报表文件进行远程访问。JasperReports工具的工作原理一个报表的整个实现过程由四个步骤组成,分别是报表XML文件解析、编译报表设计、报表数据源填充和报表输出。下面讲述这四个过程的主要任务与原理9。(1)XML报表文件解析。JasperReports报表工具默认使用SAX版本解析器对XML报表文件进行解析,当然用户也可以使用其他的解析包来完成

53、对XML报表文件的解析工作。(2)JasperDesign报表编译。经过XML报表解析后,XML文件转换成一个JasperDesign对象,此报表文件还需要经过编译才能生成jasper文件。系统通过调用JRCompiler接口,将jasperDesign对象转换成jasperReport对象,生成jasper文件。(3)JasperReports报表数据源填充。在报表编译的基础上,我们需要对jasper文件进行数据源的填充,以便根据数据的不同生成动态的报表。数据一般有多种来源,包括各种数据库,本地或者远程的数据文件等等。在数据填充的过程中,系统会调用JasperFillManager类,输入j

54、asper文件,输出jrprint文件。(4)JasperPrint报表输出打印。最后,JasperPrint对象被输出打印,JasperReports拥有比较丰富的输出形式,它可以打印到各种显示器上,也可以输出成各种格式的文件,比如PDF、HTML、XML等。JasperReports的特点报表管理平台采用的JasperReports工具具有以下特点:(1)JasperReports能够生成多种格式的报表文件,包括EXCEL、HTML、XML、PDF等格式的报表。(2)JasperReports是开源的免费软件,由java语言编写,使用和维护成本相对其他报表工具来说比较低。(3)Jasper

55、Reports拥有灵活的报表排版,能够以文本、图形、表格等多种方式显示数据,既可以提高工作效率,又拥有美化的报表界面。(4)JasperReports支持多种数据源,数据来源广泛,更利于扩展。关于报表工具的相关综述已经在前一章有过具体的描述,相对于其他报表工具而言,JasperReports报表引擎具备更加突出的优势,能够满足本系统功能齐全、报表复杂度高、支持格式多、维护成本低的特点。MVC框架技术综述MVCMVC即Model-View-Controller10,也叫模型层、视图层、控制层,相对于应用来说,如同输入、处理、输出流程。图2.1是MVC设计模式的功能描述11。图2.1 MVC设计模

56、式图模型作为一个应用对象,具有封装应用程序功能与状态、通知视图改变容等特点;视图的作用是一方面发送用户的请求给控制器并允许控制器选择视图,一方面获取模型传递的信息,解释模型的状态;控制器一方面可以定义用户输入的具体行为和请求,并通过用户动作映射成模型,让模型反应用户的动作含义,另一方面可以反过来选择视图的相应程序 12。Struts2Struts2是基于WebWork的设计理念而创建的MVC框架,主要依靠拦截器来处理各种用户的请求,使得控制器与Servlet API耦合降低,单元的测试性得到增强,也使得项目的开发难度降低,节约成本。而Struts2框架大致的处理流程如图2.2所示13。图2.2

57、 Struts2框架处理流程图SpringMVCSpringMVC框架也是一个MVC框架,具备MVC框架的一般特性,它的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。SpringMVC特点SpringMVC框架14拥有以下技术特点:(1)清晰的角色划分:角色一般可以通过对象实现。角色大致有Servlet分发器、控制器、命令对象、验证器、模型对象、表单对象、处理器映射(handler mapping)、视图解析器(view resolver)等。(2)强大而直接的配置方式:基于JavaBean来配置,一般的框架和软件都

58、能支持它,并且还支持跨多个context的引用。(3)可重用的业务代码:当前的业务代码对象可以被重用为其他的命令或者表单对象,并不需要去扩展或者重写某个特定框架的基类。(4)可定制的绑定和验证:可以将日期或者数字进行可定制的绑定,也可以验证一些定制的错误,保存错误的值。而在其他的一些框架中,想要使用业务对象就必须依靠手动的解析和转换。(5)灵活的model转换:此框架中的Map的键/值对和其他各种视图技术的集成会显得更加轻松容易。(6)可定制的本地化和主题解析:无需其他的中间件就能与Velocity搭配使用,Spring标签库也可以随时随地提供给JSP加载和运用等。通过对Struts2框架和S

59、pringMVC框架的大概比较,我们发现两者都是基于MVC的前段框架,Struts2相对于springMVC更重量级一点,SpringMVC结构更清晰,速度更快,基于本文系统的特点,SpringMVC框架拥有更大的性能优势,更能满足我们报表系统的需求。表现层技术综述JSP综述JSP(Java Server Pages)15是一种动态网页技术标准。它是在传统网页HTML中写入Java代码和JSP标记以形成JSP文件。它的应用是跨平台的。JSP的特点JSP页面是在java虚拟机上执行的,当JSP页面发送请求后,服务器将JSP页面编译成Servlet,然后执行并且用HTML的格式返回结果给用户。相比

60、较其他页面技术,JSP的优势如下:(1)JSP技术能够一次性完成编写;(2)JSP技术支持在不同的系统环境下运行;(3)具备在多台服务器上平均负载的能力,拥有较强的可伸缩性;(4)支持JSP技术的开发工具比较多,功能也比较强大。但是在MVC框架下,JSP部或许会被用来填写Java代码,极有可能造成MVC的结构不完整16。FreeMarker模板引擎综述FreeMarker是一个用Java语言编写的模板引擎,它会通过模板引擎来形成数据进行输出。FreeMarker除了在表现层能够展示信息外,它还可以输出其他的文件格式,比如Java、XML等。它不依赖与Web容器而存在,也无法识别Servlet、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论