集算报表在web端部署流程与一般J2EE应用部署流程基本一致,包括:
如果和已有应用集成,一般来说已有应用已经配置好了数据库连接池,因此第一、第二步骤可以省略,只需要后面几个步骤。
配置应用服务器的数据库连接池、发布报表应用这两个步骤在不同应用服务器中的操作界面和操作方法是有区别的,举例来说,发布报表应用这个步骤,在weblogic和websphere中一般是发布一个war包或者是ear包,而在tomcat中就是在server.xml或context.xml中配置,可以不打war包。
唯一不变的步骤是web应用配置,这部分包含四个步骤,在任何一个应用服务器中都是一样的。
部署步骤的顺序在不同应用服务器中也有差别,有些应用服务器例如websphere,数据库连接池不和具体的应用绑定,基本是公用的,那么连接池可以先配置,之后再配置相关文件,打war包,发布应用;而在tomcat下面,连接池可以和应用绑定,那么一般先发布应用,之后再配置连接池,然后修改配置文件。
下面以Tomcat6为例,说明主要部署过程。
一个典型的web应用的目录结构如下:
一般来说,创建一个新应用,就是在资源管理器里,创建上面的目录结构,该目录建好后,一个新的空应用就搭建起来了,下一步就是拷贝集算报表的web发布包。
当然,集算报表的web发布包本身就是上述的标准目录结构,如果不是和已有应用集成,可以直接把润乾的web发布包作为一个标准应用去发布。
下面列出集算web发布包中所有文件的目录结构及用途,拷贝时,根据需要进行选择。一般来说web发布包中文件放在什么目录,那么拷贝到您的应用中时也对应的放到相应目录下。
特别需要注意的:所有文件中只有web.xml文件不能拷贝,而是打开集算报表的web.xml文件,把其中的内容拷贝到您的web.xml文件中。其内容在web.xml中的顺序,要遵从相关应用服务器的规定。
如果不是和已有应用集成,而是新建应用,那么直接拷贝web.xml也无妨。
集算报表web发布包的目录结构如下:
在web.xml文件中要对报表系统中用到的servlet和taglib进行配置,请将报表系统提供的web.xml文件中的<web-app>节点下的所有内容复制到你的应用的web.xml文件中相应的位置。
<?xml version="1.0"encoding="UTF-8" ?>
<!DOCTYPE web-app PUBLIC "-//SunMicrosystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>reportServlet</servlet-name>
<servlet-class>com.raqsoft.report.view.ReportServlet</servlet-class>
<init-param>
<param-name>configFile</param-name>
<param-value>/WEB-INF/reportConfig.xml</param-value>
</init-param>
<init-param>
<param-name>headless</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- 保存客户端打印设置,可以修改这个参数值-->
<servlet>
<servlet-name>com.raqsoft.report.usermodel.PrintSetupServlet</servlet-name>
<servlet-class>com.raqsoft.report.usermodel.PrintSetupServlet</servlet-class>
<init-param>
<param-name>saveDisplayScale</param-name>
<param-value>yes</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>com.raqsoft.report.view.PagedPrint</servlet-name>
<servlet-class>com.raqsoft.report.view.PagedPrint</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>com.raqsoft.report.usermodel.PrintSetupServlet</servlet-name>
<url-pattern>/servlet/PrintSetupServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>reportServlet</servlet-name>
<url-pattern>/reportServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>com.raqsoft.report.view.PagedPrint</servlet-name>
<url-pattern>/servlet/pagedPrintServer</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>/WEB-INF/raqsoftReport.tld</taglib-uri>
<taglib-location>/WEB-INF/raqsoftReport.tld</taglib-location>
</taglib>
</web-app>
集算报表主配置文件,存放位置与web.xml同在应用的WEB-INF目录下。内容如下:
<?xml version="1.0" encoding="GBK" ?>
<config>
<name>logConfig</name>
<value>/WEB-INF/raqsoftReportLog.properties</value>
</config>
<config>
<!—集算报表注册码(授权)信息-->
<name>regCode</name>
<value>bv4jm-JwwM0-GOJT9-2SEPIaw</value>
</config>
<config>
<!—集算器注册码(授权)信息-->
<name>dmRegCode</name>
<value>betsq-EJ@P@-FGJ52-XEf0zSg</value>
</config>
<config>
<name>reportFileHome</name>
<value>/reportFiles</value>
</config>
<config>
<name>JNDIPrefix</name>
<value>java:comp/env</value>
</config>
<config>
<name>jspCharset</name>
<value>GBK</value>
</config>
<config>
<name>dataSource</name>
<value></value>
<!--oracle169,oracle;sjr,sqlsvr;oracle233,oracle;utf8,oracle,1,UTF-8,UTF-8,0;sybase,sybase</value>-->
<!--libosai,oracle;bdl,sqlsvr,1,iso8859-1,GBK,0;ltj,sqlsvr,1,iso8859-1,GBK,0;-->
</config>
<config>
<name>cachedParamsTimeout</name>
<value>120</value>
</config>
<config>
<name>cachedReportDir</name>
<value></value>
</config>
<config>
<name>cachedIdPrefix</name>
<value>A</value>
</config>
<config>
<name>cachedReportTimeout</name>
<value>120</value>
</config>
<config>
<name>maxCellNum</name>
<value></value>
</config>
<config>
<name>maxConcurrentForReport</name>
<value>9999</value>
</config>
<config>
<name>maxWaitForReport</name>
<value>9999</value>
</config>
<config>
<name>maxWaitTimeForReport</name>
<value>9999</value>
</config>
<config>
<name>appUrlPrefix</name>
<value></value>
</config>
<config>
<name>windir</name>
<value></value>
</config>
<config>
<name>alwaysReloadDefine</name>
<value>no</value>
</config>
<config>
<name>treeImagesPath</name>
<value></value>
</config>
<config>
<name>errorPage</name>
<value></value>
</config>
<config>
<name>webServerType</name>
<value></value>
</config>
<config>
<name>jreInstallName</name>
<value></value>
</config>
<config>
<name>jreVersion</name>
<value></value>
</config>
<config>
<name>clusterMember</name>
<value></value>
</config>
<config>
<name>isCachedFileShared</name>
<value></value>
</config>
<config>
<name>picFileExistTime</name>
<value></value>
</config>
<config>
<name>defaultCellNum</name>
<value></value>
</config>
<config>
<name>esProcDateFormat</name>
<value></value>
</config>
<config>
<name>esProcTimeFormat</name>
<value></value>
</config>
<config>
<name>esProcDatetimeFormat</name>
<value></value>
</config>
<config>
<!—集算器脚本(dfx)主目录 -->
<name>esProcMainPath</name>
<value>/reportFiles</value>
</config>
<config>
<name>esProcTempPath</name>
<value></value>
</config>
<config>
<name>esProcSearchPath</name>
<value></value>
</config>
<config>
<name>esProcFileBufferSize</name>
<value></value>
</config>
<!—JDBC直连数据源配置-->
<jdbc-ds-configs>
<jdbc-ds-config>
<name>demo</name>
<dbType>UNKNOWN</dbType>
<url>jdbc:hsqldb:hsql://127.0.0.1/demo</url>
<driver>org.hsqldb.jdbcDriver</driver>
<userName>sa</userName>
<password></password>
<dbCharset>GBK</dbCharset>
<clientCharset>GBK</clientCharset>
<useSchema>false</useSchema>
<caseSentence>false</caseSentence>
<needTranContent>false</needTranContent>
<needTranSentence>false</needTranSentence>
</jdbc-ds-config>
</jdbc-ds-configs>
</jdbc-ds-configs>
</reportConfig>
其他配置项含义可参考:集算报表V5.0在J2EE下的部署手册。
将编辑好的集算脚本拷贝到reportConfig.xml中设置的dfx主目录,如:/reportFiles。
最简单的办法是用winrar工具,把整个报表应用压缩成zip格式的压缩包,然后把后缀改成.war,并把压缩包的名字改成应用名即可
另一种常见的打war包的方法是用java的jar命令,此时要求你的机器安装了java环境,开始-》运行-》cmd回车后在命令行里输入jar,如果系统出现如下提示,则表示java环境安装正常:
假设你的报表应用在d:\raqsoftReport目录下,那么在命令行中进入d:\raqsoftReport目录,然后输入命令
D:\raqsoftReport>jar –cvf raqsoftReport.war *.*,此时系统会在当前目录下创建一个新的war包raqsoftReport.war。
注意事项:
1、 应用中尽量不要有中文命名的文件,在某些环境下会导致war包发布失败。
2、 web.xml中的中文注释全部删除,在某些环境下会导致war包发布失败。
某些情况下如果发布war包失败,例如websphere下,可能需要把web.xml的文件中第一句对字体的定义改成UTF-8,如下所示:<?xmlversion="1.0" encoding="UTF-8" ?>
最后将打完的war包上传到应用服务器(tomcat可以直接拷贝应用目录),完成报表应用的部署。
集算报表下载地址:http://www.raqsoft.com.cn/?p=208 。
集算器下载地址: http://www.raqsoft.cn/?p=2643 。
本文出自 “高性能报表数据计算” 博客,请务必保留此出处http://report5.blog.51cto.com/8028595/1582883
原文地址:http://report5.blog.51cto.com/8028595/1582883