润乾报表整合到Tomcat服务器的部署过程

系统 2274 0

 

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

润乾服务器是使用 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 发布报作为一个标准的应用去发布,因为润乾的发布包本身就是上述的标准结构。

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

润乾报表整合到Tomcat服务器的部署过程

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

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

润乾报表整合到Tomcat服务器的部署过程       润乾报表整合到Tomcat服务器的部署过程

注意:

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 数据库的驱动

  润乾报表整合到Tomcat服务器的部署过程     

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服务器的部署过程

 

真的成功了呢 ~ 好棒啊 ~

好了,继续工作了 ~

 

润乾报表整合到Tomcat服务器的部署过程


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论