步骤一:创建一个新的web项目,将润乾的web发布包(即demo包)中的一些需要的文件拷贝过来,web包的结构如下图所示:
我们将WEB-INF中的JAR包和配置文件拷贝到新项目的WEB-INF文件夹中,并在项目根目录里创建reportFiles和reportJsp文件夹。
最后,别忘了将授权文件runqianWindowServer.lic拷贝到WEB-INF/classes文件夹下。
步骤二:配置相关的文件:
1、web.xml文件:
因为我们是新项目,直接拷贝过来就可以,无需改动。如果不是新项目,要将此文件中的所有内容复制复制到你的应用的web.xml文件相应的位置。
2、reportConfig.xml文件(重要)
下面讲解几个重要的配置:
(1) license 表示润乾公司提供的授权文件名及其路径,可以是绝对文件路径;也可以是相对
于
上的一个授权文件名(此时只要写出文件名即可)。
(2) reportFileHome 表示编辑好的报表文件在应用中存放的位置,其值可相对于 WEB 应用
根目录;也可是绝对路径,分隔符用“ / ”表示,如 d:/myReport/web/reportFiles 。
(3) semanticsFile 表示报表系统使用的语义层文件,路径相对于 WEB 应用根目录。
(4) JNDIPrefix 表示查找数据源时的环境串前缀,在不同的 WEB 服务器中不同,如 Tomcat
中是 java:/comp/env ,而 Weblogic 和 Websphere 中均不需要,可以不填。
服务器 | Tomcat | Weblogic | Webshpere | Resin | Jboss |
JNDIPrefix | java:/comp/env | 无 | 无 | java:/comp/env | Java: |
(5) dataSource 表示用户在 WEB 应用中要用到的数据源配置,其格式如下:
数据源的 JNDI 名称 , 数据库类型 [, 取数时是否需要转换编码 , 数据库字符集编码 , 显示报
表时的字符集编码 ][,SQL 是否需要转码 ];[ 重复 ]……
数据库类型按下表填写:
数据库类型 | 参数值 | 数据库类型 | 参数值 | 数据库类型 | 参数值 |
oracle | oracle | informix | infmix | foxbase | foxbas |
db2 | db2 | mysql | mysql | access | access |
sql server | sqlsvr | sql anywhere | sqlany | ||
sybase | sybase | foxprow | foxpro |
数据库中使用的字符集编码,一般为 GBK 或 iso-8859-1 。
SQL 是否需要转码:有些数据库的字符集不是中文的,如果在执行的 SQL 语句中带有中文
时,就会执行不正确。配置之前可以做一个简单的数据集为中文 SQL 的报表测试一下,如果执
行结果不对,那么就需要设置此参数。参数值为 1 ,表示要转码,为 0 或不设此参数值表示不需
要转码。如:
jdbc/test,oracle;exercise,sqlsvr,1,iso8859-1,GBK,0;……
第一个数据源配置为应用中的缺省数据源,即如果在报表的数据集定义中没有指定
数据源名称,则使用此数据源。
(6)数据源配置
此数据源配置有两种方法,一种是JNDI直连,一种是JDBC配置:
JDBC配置(比较简便):
此种方法直接在report.xml里配置:
<jdbc-ds-configs>
<jdbc-ds-config>
<name>oracle</name>
<db-type>oracle</db-type>
<connection-url>jdbc:oracle:thin:@localhost:1521:ORCL</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>duJian</user-name>
<password>orcl</password>
<db-charset>gbk</db-charset>
<client-charset>gbk</client-charset>
</jdbc-ds-config>
</jdbc-ds-configs>
注意:这种方法配置,dataSouse的配置要留空
<config>
<name>dataSource</name>
<value></value>
</config>
JNDI直连:
首先配置数据源信息,在tomcat安装目录中进入conf----catalina----localhost文件夹(如果没有就新建),建立一个和应用程序同名的report.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/runQianBaoBiao" docBase="${catalina.home}/webapps/runQianBaoBiao" reloadable="true" >
<Resource auth="Container"
name="oracle"
type="javax.sql.DataSource"
maxWait="10000" maxIdle="30" maxActive="100"
username="duJian"
password="orcl"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:ORCL"
/>
</Context>
然后在reportConfig.xml里配置数据源的连接信息:
<config>
<name>JNDIPrefix</name>
<value>java:comp/env</value>
</config>
<config>
<name>dataSource</name>
<value>oracle,oracle,0,GBK</value>
</config>
最后,还要在web.xml里加上一些配置,如下:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>oracle </res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
步骤三:将你的报表raq文件放到reportFiles文件夹下,在reportJsp中新建一个Jsp文件:
<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib uri="/WEB-INF/runqianReport4.tld" prefix="report" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<table align=center>
<tr><td>
<report:param name="testQuery" paramFileName="testQuery.raq"></report:param>
<report:html name="test" reportFileName="test.raq"
generateParamForm="no"
width="800"
exceptionPage="/reportJsp/myError2.jsp"
/>
</td></tr>
</table>
</body>
</html>
然后在浏览器输入地址,就可以看到你的报表啦: