BIRT 集成 servlet

总结一下项目中使用过的两种BIRT web 部署的方法:

一:独立部署Birt Web Viewer应用,通过URL访问,生成报表。

二:完整集成Birt Web到现有系统中,使用servlet、API直接调用。 

 

一、独立Birt Web应用的方式:

      对于初次接触Birt的人,使用这种方式无疑是最快的方式。在敏式开发热捧的时代,还有什么比能让系统立马跑起来更让人兴奋的呢?是驴是马,赶紧拉出来溜溜!(实际上我们也是这么做的) 

  

      作为一个开源的项目,BIRT已很无私地为我们做了很多(感动中)。你只需要到Birt官网上下载Runtime包,里边的WebViewerExample包即是一个完整的Web应用。使用eclipse导入web 工程即可,

      目录如下如(figure_1):

 

 

      在/report/files中存放设计好的报表模板(怎么设计模板见附录1)。web 应用发布到 tomcat 启动之后即可通过URL,进行访问了。

例如:http://127.0.0.1:8080/report/preview?__report=report/files/gz_hard_count.rptdesign&__format=html

 

       采用上述这种方式,能方便地在现有的Web上嵌入Birt报表,只要在现有系统中通过URL调用就可以了。简单、实用!我们的项目中也一直是这么使用的。虽然中间遇到了一些处理“中国式”报表的格式问题,但通过XSLT转换等其他办法也能克服了。直到最近,在使用图表的报表的时候,保存下的报表文件中图片不能正常显示。详见http://www.birthome.cn/read.php?tid-2160.html

 

       也正是这次这个问题,让我下定决心要改变Birt 的部署方式。查看birt preview servlet 生成的图表源文件可以发现,图片是一个链接。而这个链接是birt preview servlet 自己维护的,图片自动生成在根据session 来来区分的文件夹内。这样就导致,保存下来的图表文件不能再次访问(如下所示)。我们知道,BIRT API 提供 RunAndRenderTask 生成文件,并指定图表文件存放路径。如果能直接调用API,遇到的问题也就迎刃而解了。

 

 

 

二:集成Birt servlet.

      为了充分发挥Birt 丰富的AJAX渲染效果,有必要完整集成Birt 的servlet,为我所用。下面就详细介绍下Birt 的部署方式。

 

      1:在WebReport/WEB-INF/lib中新建birt-lib文件夹,用于存放Birt 所需jar

      2:拷贝birt-runtime-2_1_0/ReportEngine/lib下的所有jar到 1中建的文件夹

      3:拷贝birt-runtime-2_1_0/Report Engine/plugins 以及 birt-runtime-2_1_0/ReportEngine/configurationWEB-INF

      4:创建reports、images目录用于存放报表模板文件及图片

      5: 拷贝配置文件到WEB-INF下,jrun.web.xml、server-config.wsdd、viewer.properties。添加Brit servlet到web.xml中。

 

      做完上述步骤之后,你的应用的目录结构大致如下图(figure_2)

 

       之后您可以自定义servlet,启动birt platform,并调用Birt api来运行birt 模板并生成文件到指定路径。

       2.1 编写BirtEngine.java,装载birt platform,创建birtEngine

       2.1.1 装载birt plugins:

       启动platform,创建birt Engine

 

       2.2 自定义servlet(WebReport.java),创建RunAndRenderTask 调用报表模板,并生成文件到指定目录。

       2.2.1:init方法装载birt platform

       2.2.2:destory方法,关闭服务时关闭birt platform

      2.2.3:doGet 方法,调用报表模板并生成文件到指定目录

       2.2.4: 配置servlet,调用即可。例如http://localhost:8080/report/run?ReportName=testWebReport.rptdesign

 

参考:

        1:BIRT runtime 包下载路径 http://download.eclipse.org/birt/downloads/

        2:BIRT 图表显示异常 http://www.birthome.cn/read.php?tid-2160.html

        3:BIRT 部署 by Jason Weathersby 07/26/2006  http://onjava.com/pub/a/onjava/2006/07/26/deploying-birt.html?page=2

        4:birt 中文手册 http://download.csdn.net/source/3318430

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值