基于Jasper的报表管理平台设计与实现硕士研究生学位论文Word下载.docx

上传人:b****8 文档编号:22126600 上传时间:2023-02-02 格式:DOCX 页数:69 大小:1.08MB
下载 相关 举报
基于Jasper的报表管理平台设计与实现硕士研究生学位论文Word下载.docx_第1页
第1页 / 共69页
基于Jasper的报表管理平台设计与实现硕士研究生学位论文Word下载.docx_第2页
第2页 / 共69页
基于Jasper的报表管理平台设计与实现硕士研究生学位论文Word下载.docx_第3页
第3页 / 共69页
基于Jasper的报表管理平台设计与实现硕士研究生学位论文Word下载.docx_第4页
第4页 / 共69页
基于Jasper的报表管理平台设计与实现硕士研究生学位论文Word下载.docx_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

基于Jasper的报表管理平台设计与实现硕士研究生学位论文Word下载.docx

《基于Jasper的报表管理平台设计与实现硕士研究生学位论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于Jasper的报表管理平台设计与实现硕士研究生学位论文Word下载.docx(69页珍藏版)》请在冰豆网上搜索。

基于Jasper的报表管理平台设计与实现硕士研究生学位论文Word下载.docx

sdailymanagement,alwaysinfluencestheplanningandrunningoftheenterprise.

ThisthesisbasedonthetechnologyofJaspermainlycompletedthedesignandimplementationofthereportmanagementplatform,describedthebackgroundandsignificanceofthetopic,researchstatusandexistingproblems,reviewedandcomparedthereportmanagementplatformrelatedtechnology,andfinallyconfirmedtouseJasperreportengine,Spring,theSpringMVCframework,Velocitytemplateengine,iBATISframework,andMYSQLdatabasetodesignandimplementthissystem.

ThisthesisdesignedandimplementedthebusinessprocessandtechnicalframeworkaboutthereportmanagementplatformbasedontheMVCframework,technicalframeworkfortheviewlayerusingtheinterfacecombinedVelocity,CSSandJSPtechnology,thebusinessmodulesusingJasper,Spring,andSpringMVCframeworktodesignandimplementavarietyofbusinesslogic,thepersistencelayerusingJDBC,SpringDAOandiBATISframeworktodealwithallkindsofdata,andusingtheMYSQLdatabase,combinedwiththecodeanalysisprocessabouttheJasperreportengineprocessingreporttemplatefile,designedandimplementedreportmanagementplatformsystemintegration,userandrolemanagement,datasourcemanagement,reportmanagement,andotherspecificfunctionalmodules.

Themainfunctionofreportmanagementplatformistomanageandrunthereporttemplate,togenerateanddisplaythereportresults.Userscanusetheadministratorroleornormaluserrole,managementthereporttemplates,runandviewthereportdatainthelistofreportsinterface.Theadvantagesofthissysteminclude 

thecombinationofopensourcecomponents,lowmaintenancecosts,easytomanage,andstrongreportprocessingability.

KeyWords:

Reportmanagementplatform,JasperReports,SpringMVC,Velocity,iBATIS

图目录

表目录

第1章绪论

1.1课题背景和意义

在没有计算机以前,数据的保存方式多数依靠纸张文件,基本使用手工来完成数据的处理,手工实现报表的编制。

而随着当今世界上使用计算机应用的频率变得更加普遍,人们也更加习惯于使用计算机以及计算机软件实现数据的处理,使用数据库系统实现数据的管理,使用应用程序实现具体的业务的操作与完成,报表的编制也通过使用软件来实现。

这样可以完成报表制作工作的软件称为报表工具,它的产生改变了原来的报表制作方式,对各个行业各个领域都产生了深远的影响。

报表在企业进行管理时拥有比较大的作用,它是企业的业务要求,更是企业进行战略部署的基石。

报表能够完全表现企业的运营情况,它是企业审查自我,改进自我的利器,是强大的驱动力[1]。

报表技术的发展对当今社会的发展起到了长足的推动作用。

报表的本质是对数据的抽象和概括,它使用一种比原始数据本身抽象性和概括性更高、规律性更强、更容易被人理解和控制的形式来描述和展示数量巨大的、无序的原始数据集合[2]。

在实际生活和工作中,我们需要处理的数据往往是大量的,一般的传统手工处理方式无论从数据量还是从处理速度上来讲,都无法满足高速、高效和大数据量的要求。

为了能够帮助用户更好地利用现有数据库,快速高效地管理各类报表模板,准确方便地获取、汇总、分析并挖掘各种报表数据,更好地为决策者提供依据,报表管理平台是基于以上目标而得到的理想解决方案。

报表管理平台能够提供丰富的报表展示、敏捷的布局手段,为企业级数据分析与智能分析提供高性能、高效率的报表系统解决方案,企业通过报表管理平台获取分析数据,预测未来行业的发展趋势,实现灵活管理和实施重大决策[3]。

1.2研究现状与存在的问题

目前在国内的报表市场上有很多功能不一但都有各自专长的报表工具,对它们进行对比和研究,可以让我们取长补短,设计出更有优势的报表管理系统。

从各个报表工具的介绍来看,它们的功能有很大一部分是重复的,我们可以了解和区分各个报表工具的实现机制和具体效果以确定这个报表工具是否符合实际应用需求。

通过对国内外市场上表现不错并且具有一定代表性的几个产品来做一个深入的比较,像CrystalReport、Actuate、润乾报表、JasperReport等,我们可以通过上述产品的特性进一步地了解它们。

1、CrystalReport

CrystalReport使用广泛,在各个领域、各种规模的应用里都有其存在,但是CrystalReport的使用费用较高,在Java平台上,它通过收取一定费用来为企业服务。

CrystalReport是个封闭性较大的系统,它无法提供很多个性化的应用,集成度也比较差,而且缺乏功能的可扩展性,其在中式报表的表现并不如人意[4]。

2、Actuatee.Report

Actuate作为企业级报表工具,其专业性较强。

在国际市场上,Actuate报表被广泛用于金融市场、政府部分等较大规模的单位和组织中,拥有比较长的历史。

但是,Actuatee.Report的难用是业内有名的,对使用者有很高的要求,而一般的客户并不是IT业界人士,过于复杂的设计只会起到相反的效果。

3、润乾报表

润乾报表在国内报表市场是后来居上的态势,因为它更加了解国内的报表需求状况,功能上更符合中国式的报表。

它的报表模型更加新颖。

不同于“表格式”或者“类EXCEL”的报表模型,润乾报表有很多层次感更深的模型。

实际上,CrystalReport等报表处理复杂型的报表难度很高,只能通过编写复杂的SQL语句,甚至编写代码来实现。

但是润乾报表正是在处理复杂报表上有绝对的优势,它可以运用各种手段,将报表化复杂为简单,提高开发效率。

因为润乾报表有着Java语言的特性,所以它也可以在各种框架平台上部署和运行[5]。

虽然润乾报表在处理报表的能力上比较突出,功能和性能上都可圈可点,但是它的价格也非常昂贵,开发维护费用高导致它失去了一部分竞争优势,对一些中小型企业来说它并不是最好的选择。

润乾报表的外围功能做得较少。

其他报表系统上的一些功能,比如权限、用户、门户等功能并没有实现,所以实际上也很难发挥应有的作用和满足客户应用的需要。

4、JasperReports

JasperReports作为一个报表解决方案,它能提供的功能非常多,也非常强大,用户通过它可以非常方便地完成报表的定制、设计、预览和生成等步骤。

它是用java编写的,与其他报表工具相比较,它的优势体现在以下几个方面[6]:

(1)开放源代码。

源代码的开放使开发人员可以更敏捷地开发和实现此报表工具的一些功用以满足项目需求。

(2)功能强大。

报表拥有强大的功能,其通过图表的镶嵌,不同线段的使用,数据源连接的多选择性,模板的编译填充和数据的预览输出等功能,无论是复杂繁琐的固定类型报表、子报表,还是其他的报表,都能非常完美地制定和实现,而且因为在开源的情况下,它的功能将会被不断扩展。

并且在融合iReport的情况下,它会跳过描写XML的复杂过程,基本实现和完善报表的设计。

iReport也是一款开源软件,功能强大,它可以用可视化的方式来设计报表模板,生成的模板文件提供给JasperReports报表工具使用。

它的出现,主要是为了降低JasperReports的设计难度,为用户提供可视化的报表设计工具。

它采用Java编写开发,支持以图形化方式操作XML文件,支持报表预览、报表输出打印功能,支持多种文件格式的报表文件输出,同时支持复杂报表的编辑、设计与运行,例如交叉报表、子报表等,基于JFreeChart图表库的集成,可以在表中嵌入图形[7]。

iReport报表设计工具与JasperReports的结合使JasperReports的功能更加完善,表现性能更加出色。

(3)完美支持B/S架构的Web环境,因为它的类库使用java编写,而且能够输出打印以及产生多种格式的报表文件,例如PDF、XLS、HTML等。

但是如同其他开源软件一样,JasperReports有着它本身的缺陷,缺乏商业公司的技术支持,兼容性不够等问题,因为开放源码的特性,它的安全性得不到保障,而且在开发过程中常常会被一些小问题困扰。

1.3论文的主要内容和特色

基于开源软件拥有开放源代码、自由定制并且无需维护费用、易于管理、版本更新快等优点,结合开发项目的实际需求,设计一套基于JasperReports技术的报表管理平台框架,框架使用MVC模式实现,MVC框架有利于系统的扩展、调用以及二次开发。

目标是学习JasperReports和MVC技术的相关架构和源代码以及其他相关框架技术,设计平台的功能模块并进行代码开发,最后验证系统的作用和效果。

通过对报表管理平台的设计和实现,掌握基本的报表开发环节,真正领会报表开发技术。

本文以基于Jasper报表管理平台这一项目的设计与实现为基础,其主要内容如下:

1.在基于用户需求的前提下,分析报表管理平台的技术框架。

深入分析报表管理平台相关技术的优缺点,根据技术综述,选择所需系统下最适合的平台实现技术框架,对平台的整体业务功能和具体流程进行设计与实现,对视图层采用Velocity和JSP技术,业务层采用Spring和SpringMVC框架,数据持久层采用iBATIS和DAO技术,数据库采用MYSQL的技术框架进行了设计与实现。

2.分析Jasper报表引擎的源代码。

报表引擎是报表管理平台的核心,对其各个模块,例如整体流程的设计、编译的步骤、数据源和输出格式的选择等模块进行源代码的分析,有助于了解报表引擎的长处与不足,有利于项目的功能和技术框架设计,有利于项目的完全实现。

3.设计并实现报表管理平台。

基于各种业务流程、技术框架的分析设计及报表引擎的源代码分析,根据用户需求和业务流程,实现系统的总体架构以及具体功能模块。

基于以上内容设计的报表管理平台拥有以下特点[8]:

1.具有较高的重用性。

报表管理平台采用MVC模式实现系统的职能分工,分层后更有利于组件的重用。

如Model层、View层都可以独立成一个模块组件,供系统重用。

2.具有较高的灵活性。

在MVC模式中,三个层级拥有不同的任务,各自完成自己的逻辑,而当某一个层级发生需求上的改变需要修改时,只需要在这一层中更改代码而不会影响到别的层级代码。

3.具有较强的独立与可维护性。

系统的视图部分采用Velocity模板技术开发实现,它的优势在于独立于后台组件,并不与业务逻辑层直接进行交互,方便进行维护。

1.4论文组织结构

本文主要介绍了基于JasperReports工具的报表管理平台的分析、设计与实现。

本文共分为以下六个章节:

第一章:

绪论。

概述了报表管理平台的背景及意义,国内外研究的现状和本文的主要研究内容及其特色。

第二章:

报表管理平台的技术综述。

对平台相关技术进行分析综述,为项目技术框架的设计实现奠定基础。

第三章:

报表管理平台的总体框架设计。

基于对相关技术的综述,设计报表管理平台的整体业务流程和技术框架。

第四章:

报表管理平台的实现。

通过对Jasper报表引擎的源代码分析,实现对报表管理平台的集成,并且实现了平台的总体架构和具体功能模块。

第五章:

报表输出格式多样化。

通过对HTML和XLS这两种不同输出格式的报表生成,验证了本系统支持多种格式报表输出的特征。

第六章:

总结和展望。

总结整体项目的设计实现情况,说明论文的主要工作内容,发现其长处与不足,并透过开发过程展望报表管理平台的未来。

1.5本章小结

本章主要描述了本文课题的背景和意义,对目前报表工具的研究现状和存在的问题一一进行了整理和分析,总结了论文的主要内容和特色,最后是论文的组织结构。

第2章报表管理平台的技术综述

2.1报表管理平台相关技术描述

本文的报表管理平台基于Jasper报表工具,使用了MVC模式,表现层技术以及持久层框架,具体的技术综述如下。

2.2JasperReports工具的技术综述

JasperReports报表工具是开源组织的免费软件,它的功能非常强大,例如丰富的页面内容,支持多种文件格式等,也可以通过浏览器对报表文件进行远程访问。

2.2.1JasperReports工具的工作原理

一个报表的整个实现过程由四个步骤组成,分别是报表XML文件解析、编译报表设计、报表数据源填充和报表输出。

下面讲述这四个过程的主要任务与原理[9]。

(1)XML报表文件解析。

JasperReports报表工具默认使用SAX版本解析器对XML报表文件进行解析,当然用户也可以使用其他的解析包来完成对XML报表文件的解析工作。

(2)JasperDesign报表编译。

经过XML报表解析后,XML文件转换成一个JasperDesign对象,此报表文件还需要经过编译才能生成jasper文件。

系统通过调用JRCompiler接口,将jasperDesign对象转换成jasperReport对象,生成jasper文件。

(3)JasperReports报表数据源填充。

在报表编译的基础上,我们需要对jasper文件进行数据源的填充,以便根据数据的不同生成动态的报表。

数据一般有多种来源,包括各种数据库,本地或者远程的数据文件等等。

在数据填充的过程中,系统会调用JasperFillManager类,输入jasper文件,输出jrprint文件。

(4)JasperPrint报表输出打印。

最后,JasperPrint对象被输出打印,JasperReports拥有比较丰富的输出形式,它可以打印到各种显示器上,也可以输出成各种格式的文件,比如PDF、HTML、XML等。

2.2.2JasperReports的特点

报表管理平台采用的JasperReports工具具有以下特点:

(1)JasperReports能够生成多种格式的报表文件,包括EXCEL、HTML、XML、PDF等格式的报表。

(2)JasperReports是开源的免费软件,由java语言编写,使用和维护成本相对其他报表工具来说比较低。

(3)JasperReports拥有灵活的报表排版,能够以文本、图形、表格等多种方式显示数据,既可以提高工作效率,又拥有美化的报表界面。

(4)JasperReports支持多种数据源,数据来源广泛,更利于扩展。

关于报表工具的相关综述已经在前一章有过具体的描述,相对于其他报表工具而言,JasperReports报表引擎具备更加突出的优势,能够满足本系统功能齐全、报表复杂度高、支持格式多、维护成本低的特点。

2.3MVC框架技术综述

2.3.1MVC

MVC即Model-View-Controller[10],也叫模型层、视图层、控制层,相对于应用来说,如同输入、处理、输出流程。

图2.1是MVC设计模式的功能描述[11]。

图2.1MVC设计模式图

模型作为一个应用对象,具有封装应用程序功能与状态、通知视图改变内容等特点;

视图的作用是一方面发送用户的请求给控制器并允许控制器选择视图,一方面获取模型传递的信息,解释模型的状态;

控制器一方面可以定义用户输入的具体行为和请求,并通过用户动作映射成模型,让模型反应用户的动作含义,另一方面可以反过来选择视图的相应程序[12]。

2.3.2Struts2

Struts2是基于WebWork的设计理念而创建的MVC框架,主要依靠拦截器来处理各种用户的请求,使得控制器与ServletAPI耦合降低,单元的测试性得到增强,也使得项目的开发难度降低,节约成本。

而Struts2框架大致的处理流程如图2.2所示[13]。

图2.2Struts2框架处理流程图

2.3.3SpringMVC

SpringMVC框架也是一个MVC框架,具备MVC框架的一般特性,它的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。

2.3.3.1SpringMVC特点

SpringMVC框架[14]拥有以下技术特点:

(1)清晰的角色划分:

角色一般可以通过对象实现。

角色大致有Servlet分发器、控制器、命令对象、验证器、模型对象、表单对象、处理器映射(handlermapping)、视图解析器(viewresolver)等。

(2)强大而直接的配置方式:

基于JavaBean来配置,一般的框架和软件都能支持它,并且还支持跨多个context的引用。

(3)可重用的业务代码:

当前的业务代码对象可以被重用为其他的命令或者表单对象,并不需要去扩展或者重写某个特定框架的基类。

(4)可定制的绑定和验证:

可以将日期或者数字进行可定制的绑定,也可以验证一些定制的错误,保存错误的值。

而在其他的一些框架中,想要使用业务对象就必须依靠手动的解析和转换。

(5)灵活的model转换:

此框架中的Map的键/值对和其他各种视图技术的集成会显得更加轻松容易。

(6)可定制的本地化和主题解析:

无需其他的中间件就能与Velocity搭配使用,Spring标签库也可以随时随地提供给JSP加载和运用等。

通过对Struts2框架和SpringMVC框架的大概比较,我们发现两者都是基于MVC的前段框架,Struts2相对于springMVC更重量级一点,SpringMVC结构更清晰,速度更快,基于本文系统的特点,SpringMVC框架拥有更大的性能优势,更能满足我们报表系统的需求。

2.4表现层技术综述

2.4.1JSP综述

JSP(JavaServerPages)[15]是一种动态网页技术标准。

它是在传统网页HTML中写入Java代码和JSP标记以形成JSP文件。

它的应用是跨平台的。

2.4.1.1JSP的特点

JSP页面是在java虚拟机上执行的,当JSP页面发送请求后,服务器将J

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1