润乾报表40在J2EE下的部署文档格式.docx
《润乾报表40在J2EE下的部署文档格式.docx》由会员分享,可在线阅读,更多相关《润乾报表40在J2EE下的部署文档格式.docx(46页珍藏版)》请在冰豆网上搜索。
1.4servlet的版本41
二、操作系统的差异41
2.1中文安装包41
2.2系统图形环境错误42
三、数据库的连接问题44
3.1数据库连接不上44
3.2字符集配置错误44
3.3sql需要转码45
四、3.5和4.0部署的差异46
4.1Jar包的差异46
4.2配置文件的差异46
4.3配置内容的差异46
第五章联系方法:
47
第一章
部署流程和步骤
如果和已有应用集成,一般来说已有应用已经配置好了数据库连接池,因此第一、第二步骤可以省略,只需要后面几个步骤。
配置应用服务器的数据库连接池、发布报表应用这两个步骤在不同应用服务器中的操作界面和操作方法是有区别的,举例来说,发布报表应用这个步骤,在weblogic和websphere中一般是发布一个war包或者是ear包,而在tomcat4中就是在server.xml中配置,不需要打war包,在tomcat5中则是打好war包直接拷贝到webapps目录下即可
唯一不变的步骤是web应用配置,这部分包含四个步骤,在任何一个应用服务器中都是一样的。
而部署步骤的顺序在不同应用服务器中也有差别,有些应用服务器例如websphere,数据库连接池不和具体的应用绑定,基本是公用的,那么连接池可以先配置,之后再配置相关文件,打war包,发布应用;
而在tomcat4下面,连接池可以和应用绑定,那么一般先发布应用,之后再配置连接池,然后修改配置文件。
下面我们先重点讲解web应用配置,然后选择几个典型的应用服务器,分别讲解配置应用服务器的数据库连接池、发布报表应用这两个步骤的操作方法
第二章WEB应用配置
1、创建新应用
[如果和已有应用集成,不需要此步骤]
一个典型的web应用的目录结构如下:
appName……………………应用名,应用的根目录,可随意取名,一般为英文名
所有应用相关的文件,都放在该目录下
images………………图片目录,放置相关的图片,目录名可以自己调整
jsp…………………jsp目录,放置应用的jsp,目录名可以自己调整
WEB-INF……………规定目录,目录名必须大写,一般放置应用配置文件,类包等
classes…….…..规定目录,目录名必须小写,放置java类文件
lib……………规定目录,目录名必须小写,放置jar文件
一般来说,创建一个新应用,就是在资源管理器里,创建上面的目录结构,该目录建好后,一个新的空应用就搭建起来了,下一步就是拷贝润乾的web发布包。
当然,润乾的web发布包本身就是上述的标准目录结构,如果不是和已有应用集成,可以直接把润乾的web发布包作为一个标准应用去发布。
2、拷贝润乾web发布包
下面列出润乾web发布包中所有文件的目录结构及用途,拷贝时,根据需要进行选择。
一般来说web发布包中文件放在什么目录,那么拷贝到您的应用中时也对应的放到相应目录下。
特别需要注意的:
所有文件中只有web.xml文件不能拷贝,而是打开润乾的web.xml文件,把其中的内容拷贝到您的web.xml文件中。
其内容在web.xml中的顺序,要遵从相关应用服务器的规定。
如果不是和已有用应用集成,而是新建应用,那么直接拷贝web.xml也无妨。
润乾web发布包的目录结构如下:
web发布包
images一些常用的功能按钮图片,非必须
olapolap需要的css、图片,非必须
treeimages填报时下拉树用到的一些图片
WEB-INF必须的目录,放置应用配置文件和jar
lib
barcode.jar生成条形码
itext2_rq.jar导出pdf和word,在开源的jar基础上作了修改
jai_codec.jar生成png格式的统计图
jai_core.jar生成png格式的统计图
log4j_128.jar记录日志的jar包
poi2.jar导出excel文件,在开源的jar基础上作了修改
report4.jar润乾报表引擎
runqianReport4.tld润乾tag标签
runqianReportLog.properties配置润乾的日志文件路径、日志输出信息级别
web.xml配置润乾servlet
reportConfig.xml配置润乾Servlet的初始化信息
j2re-1_4_1-windows-i586-i.exej2re的安装包,客户端打印时如果检测到没有安装java
环境,会自动下载此包,适合windows操作系统
j2re-1_4_2_08-linux-i586.rpmj2re的安装包,客户端打印时如果检测到没有安装java
环境,会自动下载此包,适合Linux操作系统
runqianReportApplet4.jar打印的applet包
3、相关文件的配置
3.1web.xml
在web.xml文件中要对报表系统中用到的servlet和taglib进行配置,请将报表系统提供的web.xml文件中的<
web-app>
节点下的所有内容复制到你的应用的web.xml文件中相应的位置。
<
?
xmlversion="
1.0"
encoding="
UTF-8"
?
>
!
DOCTYPEweb-appPUBLIC"
-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"
"
<
servlet>
servlet-name>
reportServlet<
/servlet-name>
servlet-class>
com.runqian.report4.view.ReportServlet<
/servlet-class>
init-param>
param-name>
configFile<
/param-name>
param-value>
/WEB-INF/reportConfig.xml<
/param-value>
/init-param>
load-on-startup>
2<
/load-on-startup>
/servlet>
servlet-mapping>
url-pattern>
/reportServlet<
/url-pattern>
/servlet-mapping>
x
taglib>
taglib-uri>
/WEB-INF/runqianReport4.tld<
/taglib-uri>
taglib-location>
/taglib-location>
/taglib>
/web-app>
3.2reportConfig.xml
关于润乾报表的参数设置,请打开文件(WEB-INF/reportConfig.xml)。
内容如下:
GBK"
reportConfig>
config>
name>
license<
/name>
value>
/WEB-INF/server-formal-windows.dat<
/value>
/config>
reportFileHome<
/reportFiles<
semanticsFile<
/WEB-INF/demo.xml<
JNDIPrefix<
java:
comp/env<
dataSource<
trade,sqlsvr,gbk;
cachedParamsTimeout<
120<
cachedReportDir<
E:
\work\report\cached<
cachedIdPrefix<
A<
cachedReportTimeout<
cachedToDiskOnly<
no<
logConfig<
/WEB-INF/runqianReportLog.properties<
maxConcurrentForReport<
9999<
maxWaitForReport<
maxWaitTimeForReport<
appUrlPrefix<
/reportConfig>
以上参数说明如下:
(1)license表示润乾公司提供的授权文件名及其路径,可以是绝对文件路径;
也可以是相对于WEB应用根目录的相对路径(此时要以“/”开头);
或者是位于WEB应用类路径上的一个授权文件名(此时只要写出文件名即可)。
(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
/comp/env
无
Java:
(5)dataSource表示用户在WEB应用中要用到的数据源配置,其格式如下:
数据源的JNDI名称,数据库类型[,取数时是否需要转换编码,数据库字符集编码,显示报表时的字符集编码][,SQL是否需要转码];
[重复]……
数据库类型按下表填写:
数据库类型
参数值
oracle
informix
infmix
foxbase
foxbas
db2
mysql
access
sqlserver
sqlsvr
sqlanywhere
sqlany
sybase
foxprow
foxpro
数据库中使用的字符集编码,一般为GBK或iso-8859-1。
SQL是否需要转码:
有些数据库的字符集不是中文的,如果在执行的SQL语句中带有中文时,就会执行不正确。
配置之前可以做一个简单的数据集为中文SQL的报表测试一下,如果执行结果不对,那么就需要设置此参数。
参数值为1,表示要转码,为0或不设此参数值表示不需要转码。
如:
jdbc/test,oracle;
exercise,sqlsvr,1,iso8859-1,GBK,0;
……
第一个数据源配置为应用中的缺省数据源,即如果在报表的数据集定义中没有指定数据源名称,则使用此数据源。
(6)cachedParamsTimeout表示提交给报表的参数在缓存中保存的时间,以分钟为单位。
如果不设此参数,缺省值是120分。
(7)cachedReportDir表示报表缓存的文件夹,如在unix系统中,用户应对此文件夹有写的权限,并根据报表的数量和访问量的大小以及缓存超时的时间,分配一个合理的空间大小。
如果不设此参数或设置错误,则采用JDK默认的临时文件夹。
(8)cachedIdPrefix表示报表缓存的前缀。
cachedIdPrefix生成报表缓存号时的前缀串,只有在集群环境中并且多台服务器共享一个报表缓存目录时才需要设置。
(9)cachedReportTimeout表示报表缓存保存的时间,以分钟为单位。
此值应根据实际内存大小、缓存文件夹空间大小来调节,一般在1-3小时之间。
(10)cachedToDiskOnly表示报表缓存时是否只保存在硬盘上,值为yes或其他值,当为yes时,计算出的报表不在内存中存留,只写入到硬盘中;
为其他值时,则内存和硬盘中均会保存,当内存不足时,java虚拟机会将缓存报表从内存中清除。
(11)logConfig表示报表系统日志记录配置属性文件。
如果不设此参数,则日志输出到系统控制台。
日志属性文件的配置说明请参照runqianReportLog.properties文件中的说明,或者参考apache的log4j的相关文档。
(12)maxConcurrentForReport表示报表WEB应用中服务器可以同时计算的报表的个数,以便有效控制服务器的内存使用量。
(13)maxWaitForReport表示报表WEB应用中服务器可以等待计算的报表的个数,以便有效控制服务器的内存使用量。
(14)maxWaitTimeForReport表示报表等待计算的最大时间,以秒为单位。
(15)appUrlPrefix表示访问报表时的URL中WEB服务器地址、端口及WEB应用名组成的一个串,如http:
//192.168.0.1:
8080/myWebApp。
一般不用设置,程序可以自动拼出此串。
但有时访问申请经过了服务器的多重转发,造成拼出来的串不对时,需要设置此值。
参数名均为大小写相关,用户必须根据自己应用的实际情况填写相应的参数值。
3.3报表缓存配置
本系统采用两种缓存方式:
[1]硬盘缓存,此时上节介绍的cachedToDiskOnly设为yes;
[2]内存敏感型报表缓存设置,此时上节介绍的cachedToDiskOnly设为非yes的其他值,就是使用TAG标签发布报表时,将计算出的报表首先保存在内存中,当JAVA虚拟机发现内存余量会影响到系统的效率时,则会将某些缓存的报表从内存中转移到硬盘中我们指定的文件夹中,以释放出充裕的内存供系统使用。
报表缓存设置是用上一节的参数(7)、(8)、(9)和(10)来配置的。
当缓存的报表超过保存时间没有被访问时,就会从缓冲池中清除,同时,如果它已被写入到硬盘中,那么也要从硬盘中删除此文件。
应用服务器关闭时,缓冲池将不再存在,残留在硬盘中的文件将在应用服务器下次启动时被清除。
缓存的报表有什么作用呢?
它可供在网页中翻页、打印、存为Excel、存为Pdf或填报提交时从缓冲池中提取已算好的报表,避免再计算一次。
提取的过程是这样的:
(1)缓存报表还在内存中,直接取出;
(2)缓存报表已存到硬盘中,从硬盘中读取出来;
(3)报表已被从缓冲池清除,如果TAG中用的是RAQ文件,则重新根据参数计算出一个新的报表,否则显示异常“与服务器的连接超时,请重新访问!
”,要求用户刷新页面后再执行这些操作。
3.4并发数控制
大量客户端并发访问报表服务器时,容易出现服务器性能不够的情况,例如运算太慢、内存吃紧等,此时可以控制访问的并发数。
报表的并发控制在reportConfig.xml中,2.3.2中的(12)(13)(14)有说明,如下所示:
配置数据库允许的最大连接数和应用服务器的连接池个数时,必须大于报表的并发数+报表的等待数
4、打war包
最简单的办法是用winrar工具,把整个报表应用压缩成zip格式的压缩包,然后把后缀改成.war,并把压缩包的名字改成应用名即可
另一种常见的打war包的方法是用java的jar命令,此时要求你的机器安装了java环境,开始-》运行-》cmd回车后在命令行里输入jar,如果系统出现如下提示,则表示java环境安装正常:
假设你的报表应用在d:
\runqianReport目录下,那么在命令行中进入d:
\runqianReport目录,然后输入命令
D:
\runqianReport>
jar–cvfrunqianReport.war*.*
此时系统会在当前目录下创建一个新的war包runqianReport.war
注意事项:
1、应用中尽量不要有中文命名的文件,在某些环境下会导致war包发布失败
2、web.xml中的中文注释全部删除,在某些环境下会导致war包发布失败
3、某些情况下如果发布war包失败,例如websphere下,可能需要把web.xml的文件中第一句对字体的定义改成UTF-8,如下所示:
第三章各种应用服务器的操作介绍
1、tomcat4.1.24的部署操作
tomcat4.1.24,直接把创建好的应用进行发布,发布后进行数据库连接池的配置,然后再修改reportConfig.xml中的数据源配置即可。
1.1发布应用
假设tomcat的安装目录为D:
\tomcat4.1.24,那么把第二节中介绍的web应用拷贝到D:
\tomcat4.1.24\webapps目录下,这里假设应用名为runqianReport,那么拷贝后的目录结构为D:
\tomcat4.1.24\webapps\runqianReport\……
tomcat4.1.24允许把应用放在硬盘的其它目录下,此时需要打开D:
\tomcat4.1.24\conf下的server.xml文件,在<
HOST>
/HOST>
之间写入如下内容:
Contextpath="
/report"
docBase="
d:
/runqianReport"
debug="
0"
privileged="
true"
/Context>
其中蓝色的文字为应用的绝对路径。
1.2配置数据库连接池
应用发布后,则可以进行数据库连接池的配置了。
同样的打开server.xml文件,在该文件中找到3.1.1中配置的
在中间插入连接池的配置,如下所示:
Resourcename="
DAR"
auth="
Container"
type="
javax.sql.DataSource"
/>
ResourceParamsname="
<
parameter>
<
username<
root<
/parameter>
password<
123456<
driverClassName<
com.mysql.jdbc.Driver<
url<
jdbc:
mysql:
//localhost:
3306/yu<
/ResourceParams>
1.path="
里的/report为WEB服务器的虚拟路径,在IE中输入地址时会用到
2.docBase="
d:
/runqianReport"
里的report为应用文件夹,如果放在D:
\tomcat4.1.24\webapps下直