转载自:http://www.cnblogs.com/avivaye/archive/2012/11/16/2773681.html

使用第三方的报表设计器/服务器来快速的开发报表。

润乾服务器是使用Java语言编写的一个灵活易用的报表服务器和设计器。因此,用它来做Java的报表设计是很快捷的,但是经常报错,而且不好查错。

下面来介绍一下润乾报表4.0在J2EE下的部署【非集成部署】

① 下载一个新的Tomcat

② 新建一个Web应用,基本目录结构如下:

|-report

|----------include [包含images、js、css等资源]

|----------reportFiles [包含润乾设计的报表raq文件]

|----------reportJsp [包含用于展现raq资源的jsp文件]

|----------WEB-INF

|----------classes [放置润乾的授权文件]

|----------lib [放置jar包]

|----------web.xml [配置应用程序]

|----------其他配置文件

③ 拷贝润乾的Web发布包

一般来说,我们创建了一个新的应用后,可以将润乾的web发布报作为一个标准的应用去发布,因为润乾的发布包本身就是上述的标准结构。

我们先来看看润乾的发布包的目录结构

根据以上的发布包,选择性的拷贝了如下的内容到report应用之中

Report WEB应用的结构 WEB-INF的目录结构

     

注意:

1) 我们一定要将数据库驱动和润乾的jar包都拷贝到WEB-INF的lib文件夹里,且尽量不要将jar包放在全局的lib里。不便于管理,若无驱动则会报出如下的错误:

错误信息:

runqianReportLogger : [ERROR]  - error: 产生数据工厂:

com.runqian.report4.dataset.SQLDataSetFactory 失败

错误来源:: Cannot load JDBC driver class 'com.ibm.db2.jcc.DB2Driver'

这个错误是提示我们JDBC无法连接,是驱动问题。因此,必须要拷贝的jar包的列表如下:

润乾的jar包              DB2数据库的驱动

     

2) 记得将服务器的授权文件runqianWindowServer.lic拷贝到WEB-INF/classes文件夹下。否则会报错如下:

runqianReportLogger : [INFO ]  - 报表证书错误!

未发现授权文件:runqianWindowServer.lic, 请检查是否在类路径或绝对路径上l

④ 配置相关的文件

1)web.xml文件

直接把润乾的demo的web.xml文件拷贝进来,无需改动。

2) reportConfig.xml文件[容易出错的配置文件,讲解部分重要的配置]

<?xml version="1.0" encoding="UTF-8" ?>

<reportConfig>

第一个重要的配置:license【表示润乾公司提供的授权文件名及其路径,可以是绝对文件路径;也可以是相对于WEB应用根目录的相对路径(此时要以“/”开头)】

<config>

<name>license</name>

<value>runqianWindowServer.lic</value>

</config>

第二个重要的配置:reportFileHome【表示编辑好的报表文件在应用中存放的位置,值可相对于WEB应用根目录;也可是绝对路径,分隔符用“/”表示,如d:/myReport/web/reportFiles。】

<config>

<name>reportFileHome</name>

<value>/reportFiles</value>

</config>

第三个重要的配置:JNDIPrefix【表示查找数据源时的环境串前缀,在不同的WEB服务器中不同,如Tomcat中是java:/comp/env,而Weblogic和Websphere中均不需要,可以不填。】

<config>

<name>JNDIPrefix</name>

<value>java:/comp/env</value>

</config>

第四个重要的配置:dataSource【表示用户在WEB应用中要用到的数据源配置,其格式如下:数据源的JNDI名称,数据库类型[,取数时是否需要转换编码,数据库字符集编码,显示报表时的字符集编码][,SQL是否需要转码];一般我们只需要配置前两个即可。】

<config>

<name>dataSource</name>

<value>NEWMOD,db2;value>

</config>

第五个重要的配置:数据源信息的配置【以应用程序为单位,配置特定的数据源。】【备注:若使用的是JNDI直连,则这个配置可以忽略】

<jdbc-ds-configs>

<jdbc-ds-config>

<name>report</name>

<db-type>javax.sql.DataSource</db-type>

<connection-url>jdbc:db2://192.168.100.135:50000/NEWMOD </connection-url>

<driver-class>com.ibm.db2.jcc.DB2Driver</driver-class>

<user-name>db2admin</user-name>

<password>db2admin</password>

<db-charset>GBK</db-charset>

<client-charset>GBK</client-charset>

</jdbc-ds-config>

</jdbc-ds-configs>

</reportConfig>

注意,这里的name属性的值是report,也就是应用程序的名字。而不是JNDI的名字。

如果配置成JNDI的名字,则会出现报错,查看DB2的报错大全可见:

类代码2E无效连接名称
表25.类代码2E:无效连接名称SQLSTATE值  
含义:2E000连接名称无效。

可以看出,这就是因为name属性配错的原因。

⑤ 配置数据源

在reportConfig.xml文件中配置了数据源的连接信息,但是没有配置数据源。

现在我们在conf----catalina----localhost文件夹下建立一个和应用程序同名的report.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<Context path="/report" docBase="D:\ report\webapps\report" reloadable="true" >

<Resource auth="Container"

name="newmodules/DataSource"

type="javax.sql.DataSource"

maxWait="10000" maxIdle="30" maxActive="100"

username="db2admin"

password="db2admin"

driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://192.168.100.135:50000/NEWMOD"

/>

</Context>

如果不配置数据源会报错如下:

javax.servlet.ServletException: No report config file!

⑥ 发布报表和JSP页面并访问

测试:将financeView.raq文件放在reportFiles文件夹里,financeView.jsp页面放在reportJsp文件夹下,然后访问jsp页面:http://localhost:8080/report/reportJsp/financeView.jsp

展现如下:

真的成功了呢~好棒啊~。

好了,继续工作了~。

润乾报表整合到Tomcat服务器的部署过程的更多相关文章

  1. tomcat下部署润乾报表

    因为项目需要,需要在项目中配置润乾报表,之前一直是用的jboss服务器,此处调整为tomcat时出错,然后各种找错,找答案,最后终于好了,然后总结一下. 首先在apache-tomcat-6.0.43 ...

  2. 润乾报表与DERBY数据库的创建连接详解

     1. 问题概述 1.Derby数据库的创建过程 2.润乾报表连接Derby数据库展现数据 概述: Derby是Apache Software Foundation (ASF)的一个的孵化器项目. ...

  3. 今天我碰到了由于web.xml文件表头信息导致润乾报表启动失败的问题,解决方案如下

    下面是从2.3,2.4.2.5 3.0集中版本的web.xml头信息的细节,当发现系统启动不报错但是该生成的功能没有正常生成,特别是在这次配置润乾报表的时候发现用2.4版本的时候,在web.xml中配 ...

  4. 润乾报表JSF FORM 标签中使用填报表解决方案

     需求 润乾报表的标签需要在jsf页面中和其他填报控件一起使用,润乾报表负责展现录入部分数据,并且这部分数据和页面的其它控件的数据存在前台和后台的交互. 问题 润乾报表在前台会生成自己的form, ...

  5. 润乾报表新功能–导出excel支持锁定表头

     在以往的报表设计中,锁定表头是会经常被用到的一个功能,这个功能不仅能使浏览的页面更加直观,信息对应的更加准确,而且也提高了报表的美观程度.但是,很多客户在将这样的报表导出excel时发现exce ...

  6. 润乾报表如何使用Echarts

     1.    润乾报表中使用Echarts统计图的步骤 2.    报表中添加echarts2统计图 选中需要设为统计图的单元格,点击 报表-第三方图形 菜单项,或者右键菜单-第三方图形,在图形编 ...

  7. linux的tomcat服务器上部署项目的方法

    在tomcat服务器上部署项目的前提,是我们已经准备好了tomcat服务器.在CentOs环境下部署JavaWeb环境,部署tomcat服务器在前面的文章中已经总结过了,可以参考以前文章. 一  to ...

  8. 一个tomcat服务器上部署多个Web项目,不同域名访问

    [参考]一个tomcat服务器上部署多个项目,不同域名访问 我们一个服务器只按装了一个tomcat服务器,现在有多个项目或者多个域名访问,下面来进行配置 在这里我们只需要修改conf下的server. ...

  9. JavaWeb开发之一《Tomcat服务器的部署、安装及应用》

    搬以前写的博客[2014-12-10 21:43] 这几天做了一个Java的程序,然后先把他搭载到Web上,于是学习了基于Tomcat服务器的web开发,这里回顾一下Tomcat服务器的搭建过程. 1 ...

随机推荐

  1. 基于cookie和session的登录验证

    settings.py MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions ...

  2. POJ3907 Build Your Home

    嘟嘟嘟 题意:按逆时针或顺时针给出一个多边形,求面积. 解法:直接套用公式:\(S = \frac{1}{2}|\sum _ {i = 1} ^ {n} {v_i \times v_{i + 1}}| ...

  3. Unicode字符集和UTF-8, UTF-16, UTF-32编码

    ASCII 在过去的计算中,ASCII码被用来表示字符.英语只有26个字母和其他一些特殊字符和符号. 下表提供了ASCII字符及其相应的十进制和十六进制值. 可以从上面的表中推断,在十进制数系统中,A ...

  4. Docker中配置字符集支持中文

    在Dockerfile中加入以下内容: ENV LANG en_US.UTF-8ENV LANGUAGE en_US:enENV LC_ALL en_US.UTF-8

  5. SpringBoot+MyBatis中自动根据@Table注解和@Column注解生成ResultMap

    其实我一点都不想用mybatis,好多地方得自己写,比如这里. 使用mybatis要写大量的xml,烦的一批.最烦人的莫过于写各种resultmap,就是数据库字段和实体属性做映射.我认为这里应该是m ...

  6. hibernate二级缓存实例

    hibernate.cfg.xml <?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration P ...

  7. 部署Jar包到远程Maven仓库

    在使用maven开发工程时,模块A可能会依赖模块B的jar包,如果两个模块都是在一个工程里,只需要在模块A的pom文件中加入模块B的依赖信息,模块A就可以加载模块B的jar包.但如果模块A与模块B在不 ...

  8. 日志采集框架Flume

    前言 在一个完整的大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集.结果数据导出.任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体系中 ...

  9. FMDB数据库使用

    创建数据库路径 NSString* docsdir = [NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainM ...

  10. nodejs( koa2 )配置 browserHistory

    前言 既然能搜到并且还点进来看这篇文章, 那么肯定是知道后台为什么要配置 browserHistory, 也肯定知道为什么非要去用相对来说更麻烦的吧browserHistory, 而不用更简单点的不需 ...