基于J2EE的WEB报表系统的设计与实现.pdf

上传人:qwe****56 文档编号:74652329 上传时间:2023-02-27 格式:PDF 页数:4 大小:247.16KB
返回 下载 相关 举报
基于J2EE的WEB报表系统的设计与实现.pdf_第1页
第1页 / 共4页
基于J2EE的WEB报表系统的设计与实现.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《基于J2EE的WEB报表系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于J2EE的WEB报表系统的设计与实现.pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第 1 7卷第 1 l 期 2 0 0 7年 l 1 月 计 算 机 技 术 与 发 展 U1 甚R TECHN01 oGY A卜 l DEVE。】P MENT V0 1 1 7 No 1 1 No v 2 0 0 7 基 于 J 2 E E的 We b报表系统 的设计与实现 刘利军,王冉冉,马 帅,黄青松(昆明理工大学 信息工程与 自动化学院,云南 昆明 6 5 0 0 5 1)摘要:报表被誉为应用软件的灵魂,而基于 We b 模式的报表开发技术相对不成熟,国内尚无统一标准。将基于 X ML的 J a v a 开源报表引擎 I R e por t 与 J a s p e r R e p o

2、r t 应用于业界领先的J 2 E E平 台,分析了We b 报表的系统结构、工作流程及核心模 块的设计与实现;介绍了开源报表引擎 I R e por t 与 J a s p e r R e p o r t 的相关技术。通过 We b 方式实现了动态数据报表与图形报 表的生成、查询与打印,在云南省大型科学仪器网络共用平台中得到了良好的应用。关键词:J 2 E E;S t rut s 构架;we b 报表;J a e r R e port 中图分类号:T P 3 1 7 3 文献标识码:A 文章编号:1 6 7 3 6 2 9 X(2 0 0 7)1 1 0 2 1 2 0 3 De s i g

3、 n a n d Re a l i z a t i o n o f W e b Re p o r t Fo r ms S y s t e m B a s e d o n J 2 EE LI U L i j u n,WAN G R a n r a i l,MA S h u a i,HU A NG Qi n g s o n g (F a c u l t y o f I n f o r ma t i o n E n g i n e e r i n g a n d Au t o ma t i o n,K u n mi n g Un i v e r s i t y o f S c i e n c e a

4、 n d T e c h n o lo g y,K u n mi n g 6 5 0 0 5 1,C h i n a)Ab s t r a c t:Re po r t f o r ms fi r e p r a i s e d t h e s o u l o f a p p l i c a t io ns o f t wa r ewh i l e d e v e lo p me n t t e c h n o l o g y of r e po r t f o r ms b a s e d o n t h e W e b i s mu c h iw uma t u r e,a n d u n

5、i f o r m c ri t e r io n h a s n o t e s t a b l i s h e d in o u r n a t i o n J a v a o p e n S o u r c e r e porti n g e n g i n e n a me d I Re port a n d J a s p e r R e-port b a s e do nX ML a j e u s e di n t o J 2 E E p la t f o r m At f i r s t,p r e s e n t s t h e We b r e po rtf o r ms

6、s y s t e m s t r u c t u r e,w o r k fl o w,t h e d e s i g n a n d r e-a l i z a t io n o f L o r e r t x x t u le;t h e r e l e v an t t e c h n o l o g y o f I R e port and J a s p e r Re port a l e i n t r o d u c e d Dy n a mic d a m r e po rt f o r ms an d c h a r t r e port f o r ms a r e g

7、e n e r a t e d,q u e r i ed and p ri nt ed o n t h e W e b,and i t h a s g o t f in e a p p l i c a t i o n s i n t h e Yu n n a n Pr o v i n c e s c ie n t i f i c i n s t r u me n t s h a r ed n e t wo r k p l a t f o 1 T I I K e y w o r d s:J 2 E E;S t r u t s f r a me wo r k;W e b report f o r

8、ms;J a s p e r R e port 0 引 言 为解决云南省大型科学仪器共享困难、利用率低,区域仪器资源配置不合理、重复购置等问题,根据国 家科技部的要求,云南 省 科 技厅建 设 了基 于 J 2 E E构 架的大型网络办公系统云南省大型科学仪器协作 共用网络平 台。报表 的设计与实现是平台建设 中非 常 重要的、必不可少 的组成部分,在应用系统的设计实 现 中占 有 十 分 突 出 的地 位 J。由 于 它 采 用 的 是 基 于 J 2 E E的 B S多层 体系结构,报表 系统也理所 当然采用 此结构。目前,基于 B S构架 的报表 开发技术 相对不 太成熟,开发人员大都

9、是根据 软件产 品的实 际需要开 发适合本软件的报表 系统,国内尚无统一的标准 J,总 的来说,有望统一 于基 于 X ML的 we b 报表 系统。笔 收稿 日期:2 0 0 7 一叭 一1 4 基金项 目:云南省基金项 目(2 0 0 6 P 1 1)6)作者简介:刘利军(1 9 7 8一),男,河 南辉县人,硕士研究 生,主要研究 领域为智能信息系统;黄青松,教授,主要研究领域为智能信息系 统。者将 优秀的 J a v a 开 源报表引擎 I R e p o r t 与 J a s p e r R e p o r t 应用于基 于 S t r u t s 构 架 的 J 2 E E we

10、 b项 目,通 过 we b 浏览器方式实现数据报 表和图形 报表 的生成、查 询与 打 印。1 We b报表 系统的 系统结构 we b 报表系统采用基 于业界 领先 的 J 2 E E多层 体 系结构,并使用 了 S t r u t s 构 架,具 有 良好 的稳定性、健 壮性、可扩展性与跨平 台性,系统结构如 图 l 所示。说 明如下:(1)控制器 A c t i o n S e r v l e t 根据请求参数调用模型 层 的 J a v a n开始进行业务处理。(2)模型层的J a v a n 根据请求参数向 E J B发送 业务处理请求、E J B处理业务流程并生成相关数据,完 成

11、后返回给模型层的J a v a n。(3)模型层的 J a v a P a n 获取相关数据后读取报表 属性及报表模板,生成报表 属性 对 象并返 回到控 制器 Ac t i o n S e r v l e t。(4)控制 器 A c t i o n S e r v l e t 根据 报 表属 性 对象 设 置 维普资讯 http:/ 第 _l l 期 刘利军等:基于J 2 E E的we b 报表系统的设计与实现 2 1 3 H t t p R e q u e s t 属性,并读取 c o n fi g x r n l 与 w e b x ml 配置 文件导向报表生成器 S e r v l e

12、 t。(5)报表生成器 S e r v l e t 获取报表属性对象,读取报 表属性对象相关属性,加载报表模板文件、设置报表参 数、填充 报表数据、生成报表并返 回客户端浏览器。(6)客户端浏览器获得响应后显示报表并打印。报 l 生 成LI 产 读 取 取 1 报 表 设 计 器 i J报asp erRepo器rts I。报 表 生 成 器 l iR eport 1 JFreeC hart 一-f-至 生成 报表模板库I 读取 j a s p e r 文 件 L J 1 _ _一 图 1 We b 报表 系统 总体结构 图 2 we b 报表系统的实现 We b 报表系统核心模块主要由报表设计

13、器、报表 业务调度及处理、报表生成器三大部分组成。采用报 表的设计与报表生成相分离,首先 由开发人员通 过 I R e p o r t 设计报表模板,生成 X ML模块源文件,然后再 将其编译,形成报表模板库(j a s p e r 文件),系统根据用 户请求读取报表模板并填充数据,最后由报表生成器 生成各类报表,结构如图 2 所示。图 2 报表 生成 结构 图 2 1 报 表设计器 报表设计器用于设计 we b 报表的模板,主要包括 We b 报表的显示格式设计、数据源定义、数据的分组 与过滤、报表各类变量及参数的定义等,采用 I R e p o r t 作为报表设计器。I R e lmr

14、t 是一套为 J a s p e r R e p o r t 生成 报表模板的优秀可视化开发工具,类似于业界流行的 水 晶报表(C r y s t a l R e p o r t),它 的核 心是 J a s p e r R e p o r t 引 擎,通过它 可 以方便 地为 J a s p e r R e p o r t 设 计报 表模 板 3。目前 已内置 了的多种优秀开源项 目,通过 1 一 T e x t j a r与 I T e x t A s i o n亚洲语 言包 全面支 持 中文;J F r e e R e lz o r t 用 1 0 0 纯 J a v a 编写,它允许使

15、用者在任 何平台容易地开发而且配置复杂的、内容丰 富的报 表 3,通过 J F r e e C h a r t 可以制作饼图、柱状图、线图、区 域图、分布图、混合图、甘特图以及一些仪表盘等L 4 J,完 全能够设计出符合中国习惯的报表。2 2 报表业务调度及处理 在 S t r u t s 构架的基础上,对 We b报表的业务调度 及处理进行了统一设计。控制器 A c t i o n S e r v l e t 主要完 成流程的控制与报表属性集对象的获取工作,控制器 接受客户浏览器发出的请求,然后读取请求参数,向模 型层的J a v a _ a n发送生成报表相关属性及数据信息 的请求,模型层

16、的 J a v a _ a n协 同 E J B共 同完成请求,控制器请求得到响应后,将得到的报表属性相关信息 封装成报表属性集对象,最后将报表属性集对象发送 给报表生成器。2 2 1 报表属性集接 口设计 根据业务需要及报表生成器所需的信息,报表属 性集对象的接口设计如下:p u b l ic in t e r f a c e J R P a r a m e t e r l n t e r f a ce p u b l i c v o i d s e t P a r a me t e r s(O b j e c t o b j e c t,O b j e c t o b j e c t 1)

17、;设 置报表参数 p u b l i c v o i d s e t D a t a S o u r c e(A r r a y L i s t c o ll e c t io n);设置报表数 据源 p u b l i c v o i d s e t E x p F i l e F o r m a t(S t r i n g e x p F i l e F o r ma t);没置 报表的生成格式 p u b li c v o i d s e U a s p e r F i I e(F i k j a s p e r F i l e);没置报表模板文 件 p u b l i c F i l

18、e g e t J a s p e r F i l e();获取报表模板文件 p u b l i c Ma p g e t P a r a me t e r s();获取报表的参数集 p u b l i c J R B e a n C o l l e c t i o n t a S o u r ce g e t D a t a S o u r c e();依 取 I a n C o l l e a c t i o n 数据源 p u b l i c S t r in g g e t E x p F i l e F o r ma t();馈 取报 表 生 成格 式(H ma、P D F、E x

19、c e 1)p u b l i c h o l e a n i s C o l l e c t io n();是否采用 C o l l e c t io n作为数 据源 2 2 2 报表 控制器设计 报表控制器的设计较为简单,主要完成报表流程 控制、报表数据获取及报表属性集对象的封装。采用 维普资讯 http:/ 2 1 4 计算机技术与发展 第 l 7卷 S t r u t s 的控制机制,通过 we b x ml 与 s t r u t s c o n f i g x ml 文件来完成动态 F o r m的配置与系统流程控制;通过 向报表模型层的 J a v a B e a n发送请求来获

20、取报表业务 数据-5 J5。核心代码如下:p u b l i c c l a s s R e por t A e t i o n e x t e n d s D i s p a t c h A e t i o n 检查用户权限、从动态 F o r m中获取报表相关信息(略)J R e por t P a r a m e t e r s p a r a m=n e w J R e por t P a r a me t e r s();4 建报表属性集对象 Us e r R e por t Ma n n g e r u r=n e w U s e r R e por t Ma r m g e r(

21、);色 lJ 建 J a v a B e a n 对象 p a r a m s e t C o U e c fi o n(A r r a y L t)u r r e t r i v e();馈 取数据 并设置到报表属性集对象 p a r a m s e t J a s p e r F i l e(n e w F i l e(r p t F i l e);设置报表模板 p a r a m s e t E x p F i l e F o r m a t(”h t m l”);设置生成报表文件格 式 r e q u e s t s e t A t t r i b u t e(”r p t P a r

22、 a m”,p a r a m);将报表属性集 对象设置到 r e q u e s t 属性 r e t u r n m a p p i n g f i n d F o r w a r d(”r e por t d i s p l a y );导向报表生 成器以生成报表 2 2 3 报表模型层设计 报表模型层中的 J a v a B e a n协同 E J B共同完成报 表业务数据处理,为报表生成器提供数据源,主要包括 报表数据对象接口、实现对象接口的类、对象集合类、对象管理器类 组成。由于篇 幅有限,仅使用简略的 U ML类图加以表示(如图 3 所示)。bjectM anagert 二 甚

23、图 3 报表模型 UML类 图 图 3 中,o b j e c t I n t e r f a c e 接 口统一定义了获取报表 数据的方 法;o b j e c t I n f o r ma t i o n是 对接 口的现 实,并 增 加了相关属性;o b j e c t C o l l e c t i o n 类封装了获取 o b j ect l n f o r ma t i o n 对象集 的相关操 作;o b j e c t Ma n a g e r 是用 于管 理以上两个类,并对外提供各类服务。2 3 报表生成器 报表生成器的主要功能是动态生成各类报表文 件,以供 we b 显示。报

24、表生成器接收到控制器的请求 后,解析请求参数及报表属性集对象并进行统一封装,向报表引擎发送生成报表请求,报表引擎生成相应报 表并返回给报表生成器。报表引擎采用 J a s p e r R e por t 报表引擎为核心。J a s p e r R e por t 报表引擎是基于 X ML 的优秀开源报表引擎,可以将 we b 动态数据输出到屏 幕、打印机或生成 P D F,HT ML,X L S,C S V和 X ML 等文件,并可在各种 J a v a 应用(包括 J 2 E E或 we b 应 用)中产 生动态报表,具有 良好的跨平 台性 6。报 表生成器通过重写 J a v a S e

25、r v l e t 的 s e r v i c e 方法实 现,是对 J a s p e r R e por t 报 表引 擎与 报 表属性 集 对 象 的 统一封装,以便统一生成与显示报表。报表生成器暂 时提供两种连接数据源的方式:一种是 C o l l e c t i o n的方 式,另一种为 Con n e c t i o n的方式,也可略加修改代码加 入其它数据源。核心代码如下:取得报表属性集对象 J R P a r a me t e r l n t e r f a c e r p t P a r a r n=(J R P a r a m e t e r l me r f a c e)

26、r e q u e s t g e t A t t r i b u t e(”r p t P a r a m”);S t r i n g r p t F o n n a t=r p t P a r a m g e t E x p F i l e F o r ma t();J a s p e r R e por t c R p t=(J a s p e r R e p o r t)J R L o a d e r 1 o a d O b j e c t(r p t P a r a m g e t J a s p e r F i l e()g e t P a t h();J a s p e r P

27、r in t r p t P r i n t=n u l l;根据报表参数及数据源填充报表数据 r p t P r i n t=J a s p e r F i U Ma n a g e r f i l l R e por t(c R p t,r p t P a r a m g e t P a r a m e t e r s(),r p t P a r a m g e t D a t a S o u r c e();i f(T A S K-P D F e q u a ls l g n o r e C a s e(r p t F o r ma t)生成 P D F 报表 J R P d f E x

28、 por t e r exp o r t e r=n e w J R P d f E x port er();没置报表各项参数(略)exporte r e x port Re por t();e ls e i f(T A S K-X L S e q u a l s l g n o r e C a(r p t F o r ma t)l z 成 E x c e l 报表 J R X l s E x port er export er=N e w J R X l s E x por t er();设置报表各项参数(略)export er e x p o r t R e por t();e ls e

29、i f(T A S K-H T ML e q u a l s l g n o r e C a s e(r p t F o r m a t)生 成 H T ML报表 J R H t r n l E x port e r export er=n e w J R H t m l E x port e r();设置报表各项参数(略)export er expor t R e por t();根据需要加人相关代码以生成其它类型的报表 3 结束语 将优 秀的 J a v a 开源报表引擎 I R e por t 与 J a s p e r R e p o r t 应用于业界领 先的 J 2 E E平 台,

30、设计并实现 了一个 基 于 J 2 E E平台的 we b 报表系统。该 系统具 有 良好的 稳定性、健壮性、可扩展性与跨平台性,在云南省大型 科学仪器协作共用网络平台中得到了很好的应用。下 一步工作是对 we b报表 系统 的通用 性与 可配置 性做 进一 步的研究。参考文献:1 李字,陆倜,邵秀凤 基于 X ML的 We b 报表解决方案 的研究与实现 J 航空计算技术,2 0 0 4,3 4(1):6 2 6 5 (下转第 2 1 7页)维普资讯 http:/ 第 l l 期 杨益等:基于 H a n d e l C的电容器组投切控制设计 2 1 7 e l s e k o n i =k

31、 o n i +1;做 人电容器指针指向下一 组电容器 e l s e d e l a y;e l s e i f(k o n i !=k o f f i )电容器是否为投入状态 k l i k o f f i :0;切除电容器 i f(k a f f i :=4)切除电容器指针指向第 5 组 电容器 k o f f i =0;返回第 1 组电容器 e l s e k o f f i =k o f f i +1;彻 除 电容器指针指向下一组 电容器 e l s e d e l a y;i=i+1;w h i l e(i 1 0);循环语句 4 2 软件仿真 如图 3所示,软件仿真采用伪随机数发

32、生器产生 的随机数作为所需要补偿 的电容量 o u t ,o u 为 电容 器组的编号(值为 1到 1 0,有 i 0 组电容器),O U t c k 为电 容器组具体某一组组内投入的电容器编号(编号为 1 到5,每一组有 5个电容器),其中 O u t g k 为 0时表示某 一组组 内电容器处于切除状态。1 2。0 1 咖 B 0 0 B 4 0 0 2 0 0 0 5 器的疲劳强度,延长整体电容器组的使用寿命。5 硬 件实现 为了使整个软件系统在 F P O A上实现投切控制功 能 ,在软件系统仿真完成后,必须对软件系统进行时 钟和外部硬件接口设置,由于外部电路提供的时钟频 率为 1 3

33、 3 MH z,本设计对 1 3 3 MH z 进行 1 3 3分频得到 1 MH z 的时钟频率,并且对控制外部电容器组的硬件 输出接口(共 5 0 个)进行定义。在软件系统硬件设置 完成后,在 C e l o x i e a D K 2开发 环境 中进行 调试,将 H a n d e l-C描述的投切控制程序编译 生成*e d f 文 件,再经过 Xil i n x I S E 5 1将*e d 文件编译 生成*b i t 文件,最后通过下载工具 F T U 2将*b i t 文件配置 到 F P G A(X il i n x公司 V i r t e x I I X C 2 V1 0 0

34、0芯片)上,实现对外部电容器组进行实时投切控制。6 结束语 目前电力电容器组在电力系统的无功功率补偿中 有着广泛应用,它具有结构简单、补偿效果明显、造价 低廉等优点。将电容器组应用到无功功率补偿当中,提出一种将循环投切和编码投切控制方式结合起来的 投切控制策略,实现了级数多,级差小,能最大限度地 提高补偿精度,一步到位,快速准确,而且延长了整体 电容器组的使用寿命。最终,整个软件系统在 F P G A 上成功实现投切控制功能,缩短 了投切控制器的动态 响应时间,提高了抗干扰能力和可靠性。参考文献:1 杨益,方潜生,汪力君 基于 H a n d e l C的硬件优化设计 1 o J 安徽建筑工业

35、学院学报,2 0 0 5,1 3(6):5 6 5 8 图 3 电容 器组投切控 制仿 真 图 从图3可以看出,每一组 O U t g 和对应的组内 o u l;g l【随着补偿 电容量 O u t c 在调整,可 以做到精确补偿,一步 到位,并且每一组组内电容器间在不停地轮流切换,避 免了频繁投切某一部分电容器,从而可以均衡各电容(上接第 2 1 4页)2 林琴谭,骏珊 基于 S t r u t s 框架的 We b报表展示的设计 与实现 J 计算机系统应用,2 o o 6(1 1):2 5 2 8 3 肖 洁,王耀 青 基于 J 2 E E的 J F r e e R e p o r t 组

36、 件报 表的研 究和实现 J 微机发展,2 0 0 5,1 5(9):8 9 9 2 4 1 T o f f o l i G I R e p o r t Us e r Ma n u a l M S a n F r a n c is c o,C i f o r n i a,Un i t e d S t a t e s:J a s p e r S o f t C o r p o r a t i o n,2 0 0 6 2 H a n d e l C L a n g u a g e R e f e r e n e e M叭u a l S C e l o x i c a,2 0 0 3 3 D K I

37、)E S u i t e Us e r Ma f l u a l S C e l o x i c a,2 0 0 3 4 华臻,张树粹,范辉 功率因数 自动补偿控制器的研制 开发 J 煤炭机械,2 0 0 3(6):1 8 2 1 5 李森 智能型无功功率补偿控制器的研制 J 电力 电容 器,2 0 0 5(4):1 2 1 7 6 杨益,方潜生 基于 F P G A动态跟踪型功率因数补偿控 制器的设计 J 工业控制计算机,2 0 0 6(1 1):7 9 8 0 5 孙为琴 精通 S t r u t s:基于 MVC的 J a v a We b设计与开发 M 北京 电子工业出版社,2 0 0 6 6 D a n c i u T,C h i r i t a L T h e J 删e p 0 n s Ul t i m a t eG u i d e M S a n F r a n c i s c o,C a l i f o r n i a,Un i t ed S t a t e s:J a s p e r S o fl C o r p o r a t i o n,2 0 0 6 维普资讯 http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com