欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    基于Jasper的报表管理平台设计与实现硕士学位论文.doc

    • 资源ID:3920624       资源大小:10.02MB        全文页数:71页
    • 资源格式: DOC        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Jasper的报表管理平台设计与实现硕士学位论文.doc

    浙江大学硕士学位论文 摘要基于Jasper的报表管理平台设计与实现摘要报表管理系统是企业管理维护报表,研究业务需求的主要解决方案,它可以直观有效地为企业提供报表日常维护、需求动态分析、战略研究部署等相关的功能,是企业决策的来源。对于企业来说,管理报表的过程就是获取企业基本信息和实时动态,认清自我的优势和劣势,寻求企业精心策划和可靠战略部署的过程。所以说,报表管理是企业日常管理当中非常重要的一个环节,时刻影响着企业的规划和运营。本文主要完成了基于Jasper技术的报表管理平台的设计与实现,描述了课题的背景和意义、研究的现状以及存在的问题,通过对报表管理平台相关技术的综述与比较,最终确定了以Jasper报表引擎、Spring、SpringMVC框架、Velocity模板引擎、iBATIS框架和MYSQL数据库等内容作为系统的主要设计实现技术。本文设计和实现了在MVC框架基础上的报表管理平台的业务流程和技术框架,技术框架的视图层采用了Velocity、CSS和JSP技术相结合的界面,业务模块采用了Jasper技术、Spring和SpringMVC框架来设计和实现各种业务逻辑,持久层采用了JDBC、Spring DAO和iBATIS框架来处理各种数据,数据库采用MYSQL,并结合对Jasper报表引擎处理报表模板文件流程的代码分析,设计和实现了报表管理平台的系统集成以及用户角色管理、数据源管理、报表管理等具体功能模块。报表管理平台的主要功能是管理和运行报表模板,产生和展示报表结果。用户可以使用管理员角色或者普通用户角色,在报表列表界面管理报表模板并且运行查看报表数据。本系统的优势在于结合开源组件,维护费用低,易于管理,以及报表处理能力比较强。关键词:报表管理平台,JasperReports,SpringMVC,Velocity,iBATISi浙江大学硕士学位论文 AbstractAbstractReport management system is the main solution for enterprise to manage and maintain reports, research business 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 the basic information and real-time dynamic, to recognize the advantages and disadvantages of self, seeking enterprise careful planning and reliable strategic plan. So, report management is a very important part of the enterprise's daily management, always influences the planning and running of the enterprise.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 technology, 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 platform based 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 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 management, report management, and other specific functional modules.The main function of report management platform is to 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 the report data in the list of reports interface. The advantages of this system include the combination of open source components, low maintenance costs, easy to manage, and strong report processing ability.Key Words:Report management platform, JasperReports, SpringMVC, Velocity, iBATISii浙江大学硕士学位论文 目录目录摘要iAbstractii目录IV图目录VI表目录VIII第1章 绪论11.1 课题背景和意义11.2 研究现状与存在的问题11.3 论文的主要内容和特色31.4 论文组织结构41.5 本章小结5第2章 报表管理平台的技术综述62.1 报表管理平台相关技术描述62.2 JasperReports工具的技术综述62.2.1 JasperReports工具的工作原理62.2.2 JasperReports的特点72.3 MVC框架技术综述72.3.1 MVC72.3.2 Struts282.3.3 SpringMVC82.4 表现层技术综述92.4.1 JSP综述92.4.2 FreeMarker模板引擎综述102.4.3 Velocity模板引擎综述102.5 MySQL综述122.5.1 MySQL122.5.2 MySQL的特性122.5.3 MySQL的应用122.6 持久层框架综述132.6.1 Hibernate框架综述132.6.2 iBATIS框架综述132.7 本章小结16第3章 报表管理平台架构设计173.1 平台架构设计的概述173.2 平台的业务流程设计173.3 平台的技术框架设计203.3.1 View层213.3.2 Controller层233.3.3 Model层243.3.4 Database Service层243.4 本章小结25第4章 报表管理平台的实现264.1 平台实现的概述264.2 平台的系统架构实现264.2.1 模型层264.2.2 视图层294.2.3 控制器层324.2.4 具体实例334.3 Jasper报表引擎分析354.3.1 Jasper报表产生流程354.3.2 Jasper报表引擎的主要步骤364.3.3 报表编译相关的类和接口分析374.3.4 报表引擎的数据源分析384.3.5 报表引擎的输出格式384.4 基于Jasper的报表管理系统集成384.5 平台的功能模块实现404.5.1 总体功能模块404.5.2 用户管理模块实现414.5.3 角色管理模块实现434.5.4 数据源管理模块实现454.5.5 报表管理模块实现464.6 本章小结50第5章 报表输出格式的多样化525.1 HTML格式报表输出525.2 XLS格式报表输出545.3 本章小结56第6章 总结与展望576.1 论文主要工作概述576.2 未来工作展望58参考文献60作者简历62致谢63VII浙江大学硕士学位论文 图目录图目录图2.1 MVC设计模式图7图2.2 Struts2框架处理流程图8图2.3 Velocity工作原理图11图2.4 iBATIS框架的原理图14图2.5 JDBC与iBATIS程序框架比较图15图3.1 报表管理平台的整体业务功能图18图3.2 报表管理平台技术框架设计图21图3.3 报表管理平台整体界面22图4.1 sqlMapConfig的配置代码27图4.2 事务管理配置信息29图4.3 数据源配置信息29图4.4 SqlMapClient配置信息29图4.5 用户管理的vm视图代码31图4.6 界面实现代码31图4.7 分发器Dispatcherservlet配置信息33图4.8 跳转至添加页面代码33图4.9 viewResolver配置信息34图4.10 数据源添加界面34图4.11 保存数据源信息代码35图4.12 addOrUpdate方法代码35图4.13 JasperReports流程图36图4.14 基于Jasper的报表管理平台集成图39图4.15 系统功能模块结构图40图4.16 用户管理流程图42图4.17 用户管理功能实现截图43图4.18 增加用户功能图43图4.19 角色管理功能实现截图44图4.20 角色编辑功能图44图4.21 JDBC连接配置信息45图4.22 数据源管理实现截图46图4.23 报表模板管理流程图47图4.24 报表管理实现截图47图4.25 产生报表的方法48图4.26 获取报表模板文件49图4.27 报表的解析、编译、填充和输出49图4.28 输出格式为PDF的报表样例50图5.1 iReport报表模板52图5.2 输出HTML的源码53图5.3 输出格式为HTML的报表样例53图5.4 配置ImageServlet54图5.5 输出Excel的源码55图5.6 输出格式为XLS的报表样55X浙江大学硕士学位论文 表目录表目录表4.1 SqlMap.xml文件及其作用27表4.2 报表模型数据DAO接口28表4.3 功能模块和Velocity模板的关系30表4.4 报表管理平台的主要控制器类32表4.5 JasperReports编译时的类和接口功能37表4.6 JRDataSource接口的实现方法38表4.7 报表输出类38浙江大学硕士学位论文第1章 绪论第1章 绪论1.1 课题背景和意义在没有计算机以前,数据的保存方式多数依靠纸张文件,基本使用手工来完成数据的处理,手工实现报表的编制。而随着当今世界上使用计算机应用的频率变得更加普遍,人们也更加习惯于使用计算机以及计算机软件实现数据的处理,使用数据库系统实现数据的管理,使用应用程序实现具体的业务的操作与完成,报表的编制也通过使用软件来实现。这样可以完成报表制作工作的软件称为报表工具,它的产生改变了原来的报表制作方式,对各个行业各个领域都产生了深远的影响。报表在企业进行管理时拥有比较大的作用,它是企业的业务要求,更是企业进行战略部署的基石。报表能够完全表现企业的运营情况,它是企业审查自我,改进自我的利器,是强大的驱动力1。报表技术的发展对当今社会的发展起到了长足的推动作用。报表的本质是对数据的抽象和概括,它使用一种比原始数据本身抽象性和概括性更高、规律性更强、更容易被人理解和控制的形式来描述和展示数量巨大的、无序的原始数据集合2。在实际生活和工作中,我们需要处理的数据往往是大量的,一般的传统手工处理方式无论从数据量还是从处理速度上来讲,都无法满足高速、高效和大数据量的要求。为了能够帮助用户更好地利用现有数据库,快速高效地管理各类报表模板,准确方便地获取、汇总、分析并挖掘各种报表数据,更好地为决策者提供依据,报表管理平台是基于以上目标而得到的理想解决方案。报表管理平台能够提供丰富的报表展示、敏捷的布局手段,为企业级数据分析与智能分析提供高性能、高效率的报表系统解决方案,企业通过报表管理平台获取分析数据,预测未来行业的发展趋势,实现灵活管理和实施重大决策3。1.2 研究现状与存在的问题目前在国内的报表市场上有很多功能不一但都有各自专长的报表工具,对它们进行对比和研究,可以让我们取长补短,设计出更有优势的报表管理系统。从各个报表工具的介绍来看,它们的功能有很大一部分是重复的,我们可以了解和区分各个报表工具的实现机制和具体效果以确定这个报表工具是否符合实际应用需求。通过对国内外市场上表现不错并且具有一定代表性的几个产品来做一个深入的比较,像Crystal Report、Actuate、润乾报表、Jasper Report等,我们可以通过上述产品的特性进一步地了解它们。1、Crystal ReportCrystal Report使用广泛,在各个领域、各种规模的应用里都有其存在,但是Crystal Report的使用费用较高,在Java平台上,它通过收取一定费用来为企业服务。Crystal Report是个封闭性较大的系统,它无法提供很多个性化的应用,集成度也比较差,而且缺乏功能的可扩展性,其在中式报表的表现并不如人意4。2、Actuate e.ReportActuate作为企业级报表工具,其专业性较强。在国际市场上,Actuate报表被广泛用于金融市场、政府部分等较大规模的单位和组织中,拥有比较长的历史。但是,Actuate e.Report的难用是业内有名的,对使用者有很高的要求,而一般的客户并不是IT业界人士,过于复杂的设计只会起到相反的效果。3、润乾报表润乾报表在国内报表市场是后来居上的态势,因为它更加了解国内的报表需求状况,功能上更符合中国式的报表。它的报表模型更加新颖。不同于“表格式”或者“类EXCEL”的报表模型,润乾报表有很多层次感更深的模型。实际上,Crystal Report等报表处理复杂型的报表难度很高,只能通过编写复杂的SQL语句,甚至编写代码来实现。但是润乾报表正是在处理复杂报表上有绝对的优势,它可以运用各种手段,将报表化复杂为简单,提高开发效率。因为润乾报表有着Java语言的特性,所以它也可以在各种框架平台上部署和运行5。虽然润乾报表在处理报表的能力上比较突出,功能和性能上都可圈可点,但是它的价格也非常昂贵,开发维护费用高导致它失去了一部分竞争优势,对一些中小型企业来说它并不是最好的选择。润乾报表的外围功能做得较少。其他报表系统上的一些功能,比如权限、用户、门户等功能并没有实现,所以实际上也很难发挥应有的作用和满足客户应用的需要。4、JasperReportsJasperReports作为一个报表解决方案,它能提供的功能非常多,也非常强大,用户通过它可以非常方便地完成报表的定制、设计、预览和生成等步骤。它是用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 本章小结本章主要描述了本文课题的背景和意义,对目前报表工具的研究现状和存在的问题一一进行了整理和分析,总结了论文的主要内容和特色,最后是论文的组织结构。5浙江大学硕士学位论文第2章 报表管理平台的技术综述第2章 报表管理平台的技术综述2.1 报表管理平台相关技术描述本文的报表管理平台基于Jasper报表工具,使用了MVC模式,表现层技术以及持久层框架,具体的技术综述如下。2.2 JasperReports工具的技术综述JasperReports报表工具是开源组织sf.net的免费软件,它的功能非常强大,例如丰富的页面内容,支持多种文件格式等,也可以通过浏览器对报表文件进行远程访问。2.2.1 JasperReports工具的工作原理一个报表的整个实现过程由四个步骤组成,分别是报表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.2 JasperReports的特点报表管理平台采用的JasperReports工具具有以下特点:(1)JasperReports能够生成多种格式的报表文件,包括EXCEL、HTML、XML、PDF等格式的报表。(2)JasperReports是开源的免费软件,由java语言编写,使用和维护成本相对其他报表工具来说比较低。(3)JasperReports拥有灵活的报表排版,能够以文本、图形、表格等多种方式显示数据,既可以提高工作效率,又拥有美化的报表界面。(4)JasperReports支持多种数据源,数据来源广泛,更利于扩展。关于报表工具的相关综述已经在前一章有过具体的描述,相对于其他报表工具而言,JasperReports报表引擎具备更加突出的优势,能够满足本系统功能齐全、报表复杂度高、支持格式多、维护成本低的特点。2.3 MVC框架技术综述2.3.1 MVCMVC即Model-View-Controller10,也叫模型层、视图层、控制层,相对于应用来说,如同输入、处理、输出流程。图2.1是MVC设计模式的功能描述11。图2.1 MVC设计模式图模型作为一个应用对象,具有封装应用程序功能与状态、通知视图改变内容等特点;视图的作用是一方面发送用户的请求给控制器并允许控制器选择视图,一方面获取模型传递的信息,解释模型的状态;控制器一方面可以定义用户输入的具体行为和请求,并通过用户动作映射成模型,让模型反应用户的动作含义,另一方面可以反过来选择视图的相应程序 12。2.3.2 Struts2Struts2是基于WebWork的设计理念而创建的MVC框架,主要依靠拦截器来处理各种用户的请求,使得控制器与Servlet API耦合降低,单元的测试性得到增强,也使得项目的开发难度降低,节约成本。而Struts2框架大致的处理流程如图2.2所示13。图2.2 Struts2框架处理流程图2.3.3 SpringMVCSpringMVC框架也是一个MVC框架,具备MVC框架的一般特性,它的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。2.3.3.1 SpringMVC特点SpringMVC框架14拥有以下技术特点:(1)清晰的角色划分:角色一般可以通过对象实现。角色大致有Servlet分发器、控制器、命令对象、验证器、模型对象、表单对象、处理器映射(handler mapping)、视图解析器(view resolver)等。(2)强大而直接的配置方式:基于JavaBean来配置,一般的框架和软件都能支持它,并且还支持跨多个context的引用。(3)可重用的业务代码:当前的业务代码对象可以被重用为其他的命令或者表单对象,并不需要去扩展或者重写某个特定框架的基类。(4)可定制的绑定和验证:可以将日期或者数字进行可定制的绑定,也可以验证一些定制的错误,保存错误的值。而在其他的一些框架中,想要使用业务对象就必须依靠手动的解析和转换。(5)灵活的model转换:此框架中的Map的键/值对和其他各种视图技术的集成会显得更加轻松容易。(6)可定制的本地化和主题解析:无需其他的中间件就能与Velocity搭配使用,Spring标签库也可以随时随地提供给JSP加载和运用等。通过对Struts2框架和SpringMVC框架的大概比较,我们发现两者都是基于MVC的前段框架,Struts2相对于springMVC更重量级一点,SpringMVC结构更清晰,速度更快,基于本文系统的特点,SpringMVC框架拥有更大的性能优势,更能满足我们报表系统的需求。2.4 表现层技术综述2.4.1 JSP综述JSP(Java Server Pages)15是一种动态网页技术标准。它是在传统网页HTML中写入Java代码和JSP标记以形成JSP文件。它的应用是跨平台的。2.4.1.1 JSP的特点JSP页面是在java虚拟机上执行的,当JSP页面发送请求后,服务器将JSP页面编译成Servlet,然后执行并且用HTML的格式返回结果给用户。相比较其他页面技术,JSP的优势如下:(1)JSP技术能够一次性完成编写;(2)JSP技术支持在不同的系统环境下运行;(3)具备在多台服务器上平均负载的能力,拥有较强的可伸缩性;(4)支持JSP技术的开发工具比较多,功能也比较强大。但是在MVC框架下,JSP内部或许会被用来填写Java代码,极有可能造成MVC的结构不完整16。2.4.2 FreeMarker模板引擎综述FreeMarker是一个用Java语言编写的模板引擎,它会通过模板引擎来形成数据进行输出。FreeMarker除了在表现层能够展示信息外,它还可以输出其他的文件格式,比如Java、XML等。它不依赖与Web容器而存在,也无法识别Servlet、HTTP等协议。2.4.2.1 FreeMarker的特点FreeMarker的工作流程既简洁又清晰,其核心是模板与数据模型的结合来产生输出,它具有以下特性:(1)通用目标。支持各种格式的文本,例如HTML、XML、Java等,在各种框架下都可以使用,并不依赖于环境。(2)具有自己的控制语言。模板具有基本程序控制指令,在运算时,还可以使用复杂的表达式,在模板输出时,会自动进行HTML转义、压缩等。(3)通用数据模型。FreeMarker模板数据通过变量的形式显示可用对象,而不是直接反射到Java对象。(4)Web无缝结合。经过模板语言中自己创建的Web任务的处理,可彻底分离可视化设计和应用程序业务逻辑。概括地来说,FreeMarker是用来制作模板的框架技术,它具有自己的控制语言和可支持多种文本格式的模板17。但是,它也有不足之处,在普通页面的表现能力上FreeMarker模板引擎的性能显得比较差。2.4.3 Velocity模板引擎综述2.4.3.1 Velocity的工作原理Velocity是一个基于java的表现Web页面的模板引擎。它的的工作原理是这样的:程序开发人员和界面设计人员首先在一个模板中确定一组数据,并分头并行开发,程序开发者将数据放入context对象中给页面设计者引用,页面设计者通过编写VTL语言创建页面模板调用数据来完成具体的输入输出工作。context对象起到了两者之间数据的传递作用18。工作原理如图2.3所示。Velocity引擎通过java程序将数据放入Context对象中,并让模板调用Context对象中的数据形成各种输出。图2.3 Velocity工作原理图当Velocity应用于应用程序时,一般分以下几步:(1)初始化Velocity;(2)创建context对象;(3)添加数据到context;(4)选择模板;(5)融合模板和数据,生成输出界面19。2.4.3.2 Velocity的特点在Java Web应用中,通过对Velocity工作原理的分析,可以知道Velocity模板引擎有着这样一些特点:(1)VTL语言简单、灵活且功能强大。基于VTL语言简单易学的特点,页面的设计人员可以很好地掌握它,并且可以独立承担页面设计工作,程序编写人员就无需再考虑页面设计的工作,可以专心研究程序的编写与实现,这种并行工作模式大大可以提升工作效率。(2)Velocity使得页面与Java代码分离。页面与代码的分离可以非常灵活地分别对页面模板和程序代码进行修改而不会互相影响。(3)Velocity提高Web访问性能。当Velocity页面模板解析过后,再次使用时页面的生成速度会比JSP还快,因为Velocity页面模板在解析过一次后,就把内容放入内存中,等待以后重复使用。同时。该技术也能够很好地实现Java静态页面20。2.4.3.3 Velocity的优势Velocity的优势在于它独立于后台组件,即使改变成其他的表现层模板也不会影响到后代组件的逻辑代码。Velocity的语言比较简单,也很容易学会。Velocity通过隔绝视图界面与逻辑层的联系,相比较其他的脚本语言,它更能保证页面的整洁性和可维护性。相比FreeMarker模板引擎,Velocity在普通页面的性能表现上更加强大,所以,以Velocity模板引擎作为本系统的表现层是合理的。2.5 MySQL综述2.5.1 MySQLMySQL作为一个小型的关系型数据库,由于其体积小、速度快、维护成本低,尤其是开放源码这一特点,使得它获得许多中小型网站的格外欢迎,在世界的各个领域都有着涉及和施展本领的空间21。2.5.2 MySQL的特性MySQL具备很多很好的特性,为开发人员和企业用户提供支持。其主要特性如下:(1)采用C和C+编写,多个编译器提供支持,并拥有可移植能力。(2)支持多种操作系统,比如AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等。(3)支持多种编程语言,例如C、C+、Python、Java、Perl、PHP

    注意事项

    本文(基于Jasper的报表管理平台设计与实现硕士学位论文.doc)为本站会员(小小飞)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开