在web.xml文件中要对报表系统中用到的servlet进行配置,请将报表系统提供的web.xml文件中的<web-app>节点下的所有内容复制到你的应用的web.xml文件中相应的位置。
<servlet>
<servlet-name>reportServlet</servlet-name>
<servlet-class>bios.report.engine.output.ReportEmitter</servlet-class>
<init-param>
<param-name>reportConf</param-name>
<param-value>/WEB-INF/resources/report_config.xml</param-value>
</init-param>
<!--
<init-param>
<!--设置自定义sevlet的访问路径 设置时,须在<url-pattern></url-pattern>里的原路径前加上
“/”+<param-value></param-value>里的路径-->
<param-name>reportPrefix</param-name>
<param-value>mypath</param-value>
</init-param>
-->
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>accessorServlet</servlet-name>
<servlet-class>bios.report.engine.output.ReportAccessor</servlet-class>
</servlet>
<servlet>
<servlet-name>fillinServlet</servlet-name>
<servlet-class>bios.report.engine.output.ReportFillin</servlet-class>
</servlet>
<!--设置sevlet的访问路径,servlet-name设置的访问名称,url-pattern设置的访问路径。
ReportEmitter是获取数据的路径,ReportFeeder是填入数据的路径-->
<servlet-mapping>
<servlet-name>reportServlet</servlet-name>
<url-pattern>/ReportEmitter</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>accessorServlet</servlet-name>
<url-pattern>/ReportHelper</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>fillinServlet</servlet-name>
<url-pattern>/ReportFeeder</url-pattern>
</servlet-mapping>
</web-app>
关于皕杰报表的参数设置,请打开文件(WEB-INF/resources/report_config.xml)。这里需要提醒用户注意的是,如果用户使用UltraEdit或EditPlus等文本编辑工具打开report_config.xml文件的时候,会提示是否将文件转换成DOS格式,这时候,一定要选择“否”,否则部署会出现问题。建议用户使用“Visual Studio Code”工具打开report_config.xml文件。report_config .xml文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!-- 皕杰报表配置文件,报表系统启动时,会使用该文件进行系统设置和组件加载。
该文件的名称和路径可在web.xml中,通过ReportEmitter这个servlet的初始化参数"reportConf"进行设置和修改。
系统运行过程中,如果修改了该文件,则可参考下面的url来访问报表系统,即可不重启应用,热加载修改后的配置信息。
"http://localhost:8080/report/ReportEmitter?ReportConfigReload"-->
<Config>
<!-- 报表文件存放目录,节点值为相对web应用根目录的路径。当节点值以*打头时表示该路径为绝对路径 。-->
<reportHome>/WEB-INF/reports</reportHome>
<!-- 报表引用图片的存放目录,缺省时使用reportHome作为imageHome。路径设置规则与reportHome相同。-->
<!-- <imageHome>/WEB-INF/reports</imageHome> -->
<!-- 应用资源的存放路径,节点值为相对应用根目录的路径。
应用资源包括自定义函数文件、自定义图表配色方案文件等。-->
<appResource>/WEB-INF/resources</appResource>
<!-- 客户端资源存放路径,节点值为相对应用根目录的路径。
客户端资源包括报表内置的js脚本、css样式表、图片以及Appletc程序包和客户端jre安装程序等。
请注意,该路径不可位于WEB-INF目录下。-->
<webResource>/report_res</webResource>
<!--web编码方式,要与web页面的编码方式一致,如果使用filter过滤器,则要与filter的编码方式一致-->
<characterEncode>UTF-8</characterEncode>
<!--dsConf节点用来配置报表的数据源,<dsConf>与</dsConf>之间可以配置多个数据源,
也就是说可以有多对<dataSource>与</dataSource>,但是是数据源名称不可以重复。 -->
<dsConf>
<!-- dataSource节点用于配置数据源的具体属性,每对<dataSource>与</dataSource>为一个数据源,此数据源为关系数据库类型的数据源示例-->
<dataSource>
<!-- 数据源名称,与设计器中一致 -->
<Name>BIOS_DS</Name>
<!-- JNDI查找前缀,应用服务器不同,JNDI前缀有所区别 -->
<JNDIPrefix>java:comp/env/</JNDIPrefix>
<!-- 数据源的JNDI资源名称,与服务器端的数据源名称一致 -->
<JNDIName>BIOS_DS</JNDIName>
<!-- 数据库类型,可选值:ORACLE,DB2,SQLSERVER,SYBASE,INFORMIX,MYSQL,FIREBIRD,POSTGRESQL,
KINGBASE,DM,TERADATA,NETEZZA,HSQL,H2,OTHER等,并且类型名称需大写 -->
<DBType>HSQL</DBType>
<!-- 数据库编码方式 -->
<DBEncode>gb2312</DBEncode>
<!-- 是否进行Sql语句转码 -->
<SQLDecode>false</SQLDecode>
<!-- 是否为默认数据源 -->
<Default>true</Default>
<!-- 是否支持多版本并发控制;可以去掉这个节点,系统默认为true;目前所知仅有gbase8a不支持MVCC -->
<SupportMVCC>true</SupportMVCC>
</dataSource>
<!--
<dataSource>
<Name>test</Name>
<JNDIPrefix>java:comp/env/</JNDIPrefix>
<JNDIName>devdb</JNDIName>
<DBType>oracle</DBType>
<DBEncode>GBK</DBEncode>
<SQLDecode>false</SQLDecode>
<Default>false</Default>
</dataSource>
-->
<!--
<!-- 此数据源为XML数据源示例-->
<dataSource type="xml">
<!-- XML数据源名称,要与设计器中一致-->
<Name>XML</Name>
<!-- 配置XML文件定义,同一个XML数据源可以配置多个XML文件定义,
其中,“name”为XML文件定义名称,与设计器中一致;“xml”为xml数据文件的路径-->
<Def name="表1" xml="D:\DATASOURCE_XML\表1.xml" encode=""/>
<Def name="表2" xml="D:\DATASOURCE_XML\表2.xml" encode=""/>
</dataSource>
-->
<--
<!-- 此数据源为webservice数据源示例-->
<dataSource type="webservice">
<!-- webservice数据源名称,要与设计器中一致-->
<Name>WS</Name>
<!—Web服务说明WSDL的URL-->
<WSDL>http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl</WSDL>
</dataSource>
-->
</dsConf>
<!-- 语义层文件存放目录,用来存放语义层文件路径。 -->
<!-- <bizModelHome>/WEB-INF/bizmodel</bizModelHome> -->
<!-- 系统运行模式,允许设置的值: develop | product
develop: 开发模式,不启用报表缓存功能,实时刷新数据和报表模板,方便开发调试。
product: 生产模式,开启报表缓存功能,提高性能。-->
<runMode>product </runMode>
<!--cache 用于缓存设置-->
<!--在皕杰报表里,在使用缓存的时候,有两种缓存模式:一种是java缓存框架EhCache、还有一种是皕杰报表自己开发的缓存框架。
因为EhCache是第三方的缓存框架,在使用的时候可能产生架包冲突。在<cache>标签里加上eh='false'
作用是在缓存过程中是使用皕杰报表自己开发的缓存框架-->
<cache>
<!--缓存中最大允许创建的对象数-->
<maxElements>150</maxElements>
<!--缓存数据的生存时间(设置对象在它过期之前的生存时间)-->
<liveTime>1800</liveTime>
<!--缓存数据的钝化时间(设置对象在它过期之前的空闲时间) -->
<timeout>600</timeout>
<!--内存不足时,是否启用磁盘缓存-->
<useDisk>true</useDisk>
<!--用于配置硬盘缓存设置-->
<!--
<diskStorekCfg>
<!--配置硬盘缓存的路径-->
<path>d:/temp</path>
<!--硬盘缓存中的最大对象数-->
<maxElements>100000</maxElements>
<!--硬盘缓冲区大小(M)-->
<bufferSize>8</bufferSize>
</diskStorekCfg>
-->
<!--集群缓存配置:
listener:当前缓存节点的 IP及端口,如果各个缓存节点的IP各不相同,则无需配置该节点(保持为空或注释掉该节点)
provider:全部缓存节点的 IP及端口,用逗号隔开
<cluster>
<listener>192.168.1.10:40000</listener>
<provider>192.168.1.10:40000,192.168.1.15:40000</provider>
</cluster>
-->
<!--缓存组配置,可配置多个缓存组,每个缓存组设置不同的缓存时间 -->
<!-- <group name="cache2" maxElements="150" liveTime="1800" timeout="600"/>
<group name="cache3" maxElements="50" liveTime="36000" timeout="18000">rpts/*.brt</group> -->
</cache>
<!--html 节点用与设置web输出是的外观显示设置 -->
<html>
<!--报表在web上的输出尺寸,支持固定数值,也支持百分比-->
<width>750</width>
<height>500</height>
<!--水平对齐选项(左侧、居中、拉伸),left | center | fitwidth-->
<hlayout>left</hlayout>
<!-- toolbar节点用于页面工具条配置-->
<toolbar>
<toolbardisplay>below</toolbardisplay><!--工具条显示信息(表格底部、下方、上方、不显示),bottom | below | top | none-->
<xlsbtn>true</xlsbtn> <!--是否显示整页导出excel按钮-->
<xlsbtn1>true</xlsbtn1> <!--是否显示分页导出excel按钮-->
<pdfbtn>true</pdfbtn> <!--是否显示导出PDF按钮-->
<printbtn>true</printbtn> <!--是否显示打印按钮-->
<docbtn>true</docbtn> <!--是否显示导出WORD按钮-->
</toolbar>
<!--填报表页面的输出配置-->
<fillin>
<forwardurl></forwardurl> <!--提交填报表单后,转向的位置,默认停留在本页-->
<errorforward></errorforward> <!--提交填报表单失败时,转向的位置,默认停留在本页-->
<offlinebtn>true</offlinebtn> <!--是否显示离线填报功能按钮-->
<validatebtn>true</validatebtn> <!--是否显示数据校验按钮-->
<deleteprompt>true</deleteprompt> <!--删除数据时,是否弹出确认操作提示-->
<saveprompt>true</saveprompt> <!--保存数据前,是否弹出确认操作提示-->
<succeedprompt>true</succeedprompt> <!--数据成功保存后,是否弹出提示信息-->
<formmode>2</formmode> <!-- 表单模式(0-表示只读模式,1-表示可填报模式,控件显式显示,2-表示可填报模式,控件隐式显示) -->
</fillin>
<!-- 报表页面html代码是否符合w3c标准 -->
<w3c>true</w3c>
</html>
<!-- 报表导出配置 -->
<export>
<excelVersion>xlsx</excelVersion> <!-- 导出的excel文件版本,xlsx表示2007格式,xls表示2003格式 -->
<wordVersion>docx</wordVersion> <!-- 导出的word文件版本,docx表示2007格式,doc表示2003格式 -->
</export>
<!-- 用户自定义接口配置,包括工厂、事件等 -->
<userDef>
<!-- <reportFactory></reportFactory> --> <!-- 报表工厂,用于自定义报表加载和计算等 -->
<!-- <dataSourceFactory></dataSourceFactory> --> <!-- 自定义数据源工厂,用于通过自定义的方式获取报表数据源 -->
<!-- <toolbarFactory></toolbarFactory> --> <!-- 工具条工厂,用于自定义html工具条 -->
<!-- <toolbarButtonFactory></toolbarButtonFactory> --> <!-- 工具条按钮工厂,用于替换html工具条上的一些按钮 -->
<!-- <printEventListener></printEventListener> --> <!-- 打印事件监听器 -->
<!-- <fillinEventListener></fillinEventListener> --> <!-- 填报事件监听器 -->
<!-- <exportEventListener></exportEventListener> --> <!-- 报表导出事件监听器 -->
<!-- <reportLogHandler></reportLogHandler> --> <!-- 自定义报表日志输出处理器,在报表系统日志的基础上,增加其他日志记录方式 -->
</userDef>
<!--客户端applet打印的java环境配置-->
<jreplugin>
<!-- 客户端浏览器没有jre环境时,将会下载该安装程序进行自动安装。
需要放在webResource节点指定的目录下名为applet的文件夹下。-->
<jreName>jre-6u45-windows-i586.exe</jreName>
<jreVersion>1.6</jreVersion>
</jreplugin>
<!--日志配置-->
<log>
<!-- 日志输出级别,允许设置的值: debug | warning | error | off
debug:输出所有日志信息
warning:输出警告信息和错误信息
error:仅输出错误信息
off:关闭日志输出-->
<level>off</level>
<!-- 日志文件名称,节点值为相对应用根目录的文件路径 -->
<fileName>/logs/bios_report.log</fileName>
<!--文件大小为5M,日志文件个数 -->
<fileCount>2</fileCount>
</log>
<!--URL前缀,通过域名地址访问报表,或报表服务器地址存在跳转、分发时,请设置该参数-->
<appUrlPrefix></appUrlPrefix>
</Config>