Jasper Server初探

转载 2013年12月06日 09:29:37

Jasper Server初探

由于项目需要,今天终于下载了jasper server并成功安装。在快速阅读了user guide和adminguide后,简单的上传了一个报表并成功显示。下面简要记录下今天的收获。

首先是为什么需要报表服务器。

  1. 客户无法方便的开发、修改报表。由于以前的报表都是集成在业务系统中,每次的报表发布都要经历这几个阶段:
    • 上传报表文件;
    • 新建页面,将报表所需参数放置到页面中,并且做相应的数据校验(如果报表有参数)
    • 新建菜单链接,并配置权限让相关用户可见
  2. 部署代价大;
  3. 标准功能需开发。光展现报表还不够,客户经常需要将报表导出成各种格式(Excel,PDF等);或者需要一个仪表板,上面放置了客户一些常用的报表(DashBoard功能需要付费);再或者是输入参数的校验,报表文件的上传、存储等。再或者是菜单权限、数据权限;

其中原因一的第二个阶段是需要修改业务系统代码的。无论用户技术水平是否达到,修改生产系统代码都是有风险的!并且还需要重启服务器。一两个报表还好,如果每天都有新报表发布,就是一个非常大的工作量。用户肯定是无法接受这样的自定义报表服务的,那么也就无法将以后的报表开发工作转移给客户运维部门。


之前一直困扰我们的一个问题是,Jasper的报表服务器是否要收费?仔细查看相关资料后,发现其社区版是GPL的License,没有版权和费用问题,而且社区版还是开源的!具体请参阅:[1]JasperServer版本比较;[2]GPL


打消顾虑后,就可以开始安装了。

建议安装其windowsinstaller版本,主要是安装简单(中文windows7用户在安装到数据库时,可能出现错误并回滚的情况。这个时候把你的相关环境设置成英文即可。安装好之后改回来就没问题了)。其本身会安装一个数据库和一个tomcat,并以服务方式注册。

安装成功后,我们直接输入类似下面的地址即可:http://localhost:8088/jasperserver

Jasper <wbr>Server初探

其默认的用户名密码是:jasperadmin/jasperadmin(社区版是这个,商业版还有更高级的账户)

登录后的首页是这样的:

Jasper <wbr>Server初探

简单解释下页面结构。左侧的类似文件夹,也可理解成菜单。目前看来没什么用。但是商业版有一个“组织结构”的功能,每一个组织结构对应一个顶级文件夹。总的来说就是方便分类和权限控制。详细内容可以参考相关文档。右侧本来应该是一个Dashboard,但是社区版无法创建。

下面以一个发布新报表的流程来解释报表服务器的部分用法。

  1. 使用iReport设计一个报表并保存;
  2. 右键单击Jasper Server的文件夹,依次选择“添加资源”-“JasperReport”;
  3. 为新报表指定一个资源ID并上传本地jrxml文件;JasperServer将所有用户定义的内容都视为一个资源,比如数据源,属性文件,图片等;
  4. 切换到“控件和资源”标签,为报表添加资源文件和输入控制。输入控制其实就是报表接受的参数。输入控制功能很强大,你可以选择数据类型、数据范围、控件类型、提示方式等。这里需要注意的是,输入控制的id必须和报表的参数名称一致。进一步想,既然报表中定义了参数,为什么jasperserver不能直接读取参数定义,弹出相关控件呢?其官方文档中也对这种想法做了说明。其实就是报表中定义的参数信息,不足以进行输入控制。比如在报表设计器中,你无法指定参数的数据范围,展现形式。那再想一下,为什么jasper不在报表设计器中集成这些设置呢?我认为还涉及到数据权限的问题。比如同一个报表,我可以通过限制其参数值,达到控制数据权限的作用;
  5. 切换到“数据源”标签,为报表选择数据源;这里的数据源即报表数据的来源。每一个报表都可以配置不同的数据源,因为jrxml文件中并没有数据源的定义;
  6. 切换到“查询”标签。这里可以为报表重新指定查询语句,也可以使用报表文件自带的查询语句;

以下是相关页面截图: Jasper <wbr>Server初探

Jasper <wbr>Server初探

Jasper <wbr>Server初探

Jasper <wbr>Server初探

Jasper <wbr>Server初探

Jasper <wbr>Server初探

最后点击“提交”,一个报表就成功发布到服务器上!其他的比如授权访问的可以参考具体文档(在服务器安装目录的doc下有详细的pdf文档)。

我们可以看一下如何运行以及运行结果:

Jasper <wbr>Server初探

Jasper <wbr>Server初探

Jasper <wbr>Server初探

可以看到,jasper server本身支持非常丰富的导出格式。

另外,其内部还有一个scheduler调度系统,可以定时将某些报表导出成指定格式,并通过邮件发送给相关人员。个人认为这也是一个非常贴心的功能。不过使用之前需要做些邮件服务器的配置(配置文件为js.quartz.properties)。

综上,jasperserver社区版还是解决了我们大部分需求,是一个可以交付用户使用的完整产品。其功能强大,即使是社区版。商业版更是具有DashBoard,组织机构,虚拟多数据源,实时报表设计器(不需要安装iReport)等高级功能。

相关文章推荐

jasperReport和JasperServer的使用实例

首先见第一个需求如下图所示: 一开始是选用Case When来实现分组(这里按季度分组)显示,如以下测试SQL: SELECT (CASE   WHEN (ob_created_time...

JasperReport部署到JasperServer

@1 @2 @3 @4 @5 @6 @7 @8 @9 @10 @11 @12 @...

jasperserver 创建带查询的报表

创建实体bean package example.cds; public class ReportOneBean{ private String name; //申请人名称 private ...

使用 iReport工具 将report 和 subreport部署到 jasperserver上去 子报表 实现

我使用的是iReport4.0.1 做如下操作:1.创建数据源(这个很简单就不说了)2.创建一个主报表  然后加入一个子报表空间。3.创建子报表(子报表一般使用来做循环体使用的)4.绑定主报表和子报表...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

jasperServer导入导出

2、jasperServer 导出的压缩包再好不要解压,直接修改替换压缩包里面的文件,因为jasperServer压缩要有专门的压缩命令。 进入目录执行导出和导入命令 D:\jasperr...

BAT脚本编写要点(1)_特殊字符

1. 点       与echo连用,作用是换行       示例1 [输出空行]       echo.       2 > 定向符[输出]      将命令的输出进行重定向 [一般用于将结果写入文...

jasper server ultimate guide

  • 2011年09月08日 10:41
  • 3.91MB
  • 下载

引用:初探Sql Server 执行计划及Sql查询优化

转自:http://www.cnblogs.com/mmmjiang13/archive/2009/12/23/1630410.html --收藏学习 初探Sql Server 执行计划及...

初探Sql Server 执行计划及Sql查询优化

作者:perfectaction 2006.11.07 目的:写此文与和我一样在数据库边缘学习的朋友一起探讨、进步。 原址:http://blog.csdn.net/no_mIss/archive...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jasper Server初探
举报原因:
原因补充:

(最多只允许输入30个字)